Abstract
Convex polyhedra are commonly used in the static analysis of programs to represent over-approximations of sets of reachable states of numerical program variables. When the analyzed programs contain nonlinear instructions, they do not directly map to standard polyhedral operations: some kind of linearization is needed. Convex polyhedra are also used in satisfiability modulo theory solvers which combine a propositional satisfiability solver with a fast emptiness check for polyhedra. Existing decision procedures become expensive when nonlinear constraints are involved: a fast procedure to ensure emptiness of systems of nonlinear constraints is needed. We present a new linearization algorithm based on Handelman’s representation of positive polynomials. Given a polyhedron and a polynomial (in)equality, we compute a polyhedron enclosing their intersection as the solution of a parametric linear programming problem. To get a scalable algorithm, we provide several heuristics that guide the construction of the Handelman’s representation. To ensure the correctness of our polyhedral approximation, our ocaml implementation generates certificates verified by a checker certified in coq.
This work was partially supported by ANR project VERASCO (INS 2011) and the European Research Council under the European Union’s Seventh Framework Programme (FP/2007-2013) / ERC Grant Agreement nr. 306595 “STATOR”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
\(\cap \) denotes the usual intersection of sets; \(\sqcap \) is reserved for the intersection of polyhedra.
References
Bagnara, R., Hill, P.M., Zaffanella, E.: The Parma Polyhedra Library: Toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Sci. Comput. Program. 72(1–2), 3–21 (2008). Tool available at www.cs.unipr.it/ppl/
Barrett, C., Stump, A., Tinelli, C.: The Satisfiability Modulo Theories Library (SMT-LIB) (2010). http://www.SMT-LIB.org
Boland, D., Constantinides, G.A.: Bounding variable values and round-off effects using Handelman representations. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 30(11), 1691–1704 (2011)
Boulmé, S., Maréchal, A.: Refinement to certify abstract interpretations, illustrated on linearization for polyhedra. In: Urban, C., Zhang, X. (eds.) Interactive Theorem Proving. LNCS, vol. 9236, pp. 100–116. Springer, Heidelberg (2015)
Chen, L., Miné, A., Wang, J., Cousot, P.: Interval polyhedra: an abstract domain to infer interval linear relationships. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 309–325. Springer, Heidelberg (2009)
Chevillard, S., Joldeş, M., Lauter, C.: Sollya: an environment for the development of numerical codes. In: Fukuda, K., Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 28–31. Springer, Heidelberg (2010)
Chevillard, S., Joldeş, M., Lauter, C.: Certified and fast computation of supremum norms of approximation errors. In: Computer Arithmetic (ARITH), pp. 169–176. IEEE Computer Society, June 2009
Chvatal, V.: Linear Programming. Series of books in the Mathematical Sciences. W. H., Freeman (1983)
Clauss, P., Fernandez, F.J., Gabervetsky, D., Verdoolaege, S.: Symbolic polynomial maximization over convex sets and its application to memory requirement estimation. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 17(8), 983–996 (2009)
Corzilius, F., Loup, U., Junges, S., Ábrahám, E.: SMT-RAT: an SMT-compliant nonlinear real arithmetic toolbox. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 442–448. Springer, Heidelberg (2012)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: ACM Principles of Programming Languages (POPL), pp.84–97. ACM Press, January 1978
Dantzig, G.B., Thapa, M.N.: Linear Programming 2: Theory and Extensions. Springer, Operations Research (2003)
de Moura, L., Bjørner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)
de Moura, L., Jovanović, D.: A model-constructing satisfiability calculus. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 1–12. Springer, Heidelberg (2013)
Deters, M., Reynolds, A., King, T., Barrett, C., Tinelli, C.: A tour of cvc4: How it works, and how to use it. In: Proceedings of the 14th Conference on Formal Methods in Computer-Aided Design, FMCAD 2014, pp. 4:7–4:7, Austin, TX, 2014. FMCAD Inc
Dutertre, B.: Yices 2.2. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 737–744. Springer, Heidelberg (2014)
Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006)
Dutertre, B., De Moura, L.: Integrating simplex with DPLL(T). Technical Report SRI-CSL-06-01, SRI International, computer science laboratory (2006)
Feautrier, P.: Parametric integer programming. RAIRO Rech. Opérationnelle 22(3), 243–268 (1988)
Fouilhe, A., Monniaux, D., Périn, M.: Efficient generation of correctness certificates for the abstract domain of polyhedra. In: Logozzo, F., Fähndrich, M. (eds.) Static Analysis. LNCS, vol. 7935, pp. 345–365. Springer, Heidelberg (2013)
Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): fast decision procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 175–188. Springer, Heidelberg (2004)
Halbwachs, N.: Détermination automatique de relations linéaires vérifiées par les variables d’un programme. Université de Grenoble, Thèse de doctorat de troisième cycle, March 1979
Handelman, D.: Representing polynomials by positive linear functions on compact convex polyhedra. Pac. J. Math. 132(1), 35–62 (1988)
Jeannet, B., Miné, A.: Apron: a library of numerical abstract domains for static analysis. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 661–667. Springer, Heidelberg (2009)
Jones, C.N., Kerrigan, E.C., Maciejowski, J.M.: Lexicographic perturbation for multiparametric linear programming with applications to control. Automatica (2007)
Jourdan, J.-H., Laporte, V., Blazy, S., Leroy, X., Pichardie, D.: A formally-verified C static analyzer. In: ACM Principles of Programming Languages (POPL), pp. 247–259. ACM Press, January 2015
Jovanović, D., de Moura, L.: Solving non-linear arithmetic. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS, vol. 7364, pp. 339–354. Springer, Heidelberg (2012)
Khanh, T.V., Vu, X., Ogawa, M.: rasat: SMT for polynomial inequality. In: Proceedings of the 12th International Workshop on Satisfiability Modulo Theories, SMT 2014, Vienna, Austria, July 17–18, 2014, p. 67 (2014)
Krivine, J.-L.: Anneaux préordonnés. J. d’ Anal. Math. 12, 307–326 (1964)
Lasserre, J.B.: Moments, Positive Polynomials and Their Applications. Imperial College Optimization Series, vol. 1. Imperial College Press, London (2010)
Loechner, V., Wilde, D.K.: Parameterized polyhedra and their vertices. Int. J. Parallel Program. 2(6), 525–549 (1997). Tool available at icps.u-strasbg.fr/polylib/
Maréchal, A., Périn, M.: Three linearization techniques for multivariate polynomials in static analysis using convex polyhedra. Technical Report 7, Verimag, July 2014
Maréchal, A., Périn, M.: A linearization technique for multivariate polynomials using convex polyhedra based on Handelman’s theorem. J. Francophones des Langages Applicatifs (JFLA), January 2015
Miné, A.: Symbolic methods to enhance the precision of numerical abstract domains. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 348–363. Springer, Heidelberg (2006)
Muñoz, C., Narkawicz, A.: Formalization of a representation of Bernstein polynomials and applications to global optimization. J. Autom. Reasoning 51(2), 151–196 (2013)
Néron, P.: A Quest for Exactness: Program Transformation for Reliable Real Numbers. Ph.D. thesis, École Polytechnique, Palaiseau, France (2013)
Prestel, A., Delzell, C.N.: Positive Polynomials: From Hilbert’s 17th Problem to Real Algebra. Springer-Verlag, June 2001
Schweighofer, M.: An algorithmic approach to Schmüdgen’s Positivstellensatz. J. Pure Appl. Algebra 166(3), 307–319 (2002)
Stump, A., Sutcliffe, G., Tinelli, C.: StarExec: a cross-community infrastructure for logic solving. In: Demri, S., Kapur, D., Weidenbach, C. (eds.) IJCAR 2014. LNCS, vol. 8562, pp. 367–373. Springer, Heidelberg (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Maréchal, A., Fouilhé, A., King, T., Monniaux, D., Périn, M. (2016). Polyhedral Approximation of Multivariate Polynomials Using Handelman’s Theorem. In: Jobstmann, B., Leino, K. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2016. Lecture Notes in Computer Science(), vol 9583. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-49122-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-662-49122-5_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-49121-8
Online ISBN: 978-3-662-49122-5
eBook Packages: Computer ScienceComputer Science (R0)