Nothing Special   »   [go: up one dir, main page]

Skip to main content

Polyhedral Approximation of Multivariate Polynomials Using Handelman’s Theorem

  • Conference paper
  • First Online:
Verification, Model Checking, and Abstract Interpretation (VMCAI 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9583))

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”.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    \(\cap \) denotes the usual intersection of sets; \(\sqcap \) is reserved for the intersection of polyhedra.

References

  1. 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/

    Article  MathSciNet  Google Scholar 

  2. Barrett, C., Stump, A., Tinelli, C.: The Satisfiability Modulo Theories Library (SMT-LIB) (2010). http://www.SMT-LIB.org

  3. 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)

    Article  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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

    Google Scholar 

  8. Chvatal, V.: Linear Programming. Series of books in the Mathematical Sciences. W. H., Freeman (1983)

    Google Scholar 

  9. 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)

    Article  Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. 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

    Google Scholar 

  12. Dantzig, G.B., Thapa, M.N.: Linear Programming 2: Theory and Extensions. Springer, Operations Research (2003)

    Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. 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

    Google Scholar 

  16. Dutertre, B.: Yices 2.2. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 737–744. Springer, Heidelberg (2014)

    Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. Dutertre, B., De Moura, L.: Integrating simplex with DPLL(T). Technical Report SRI-CSL-06-01, SRI International, computer science laboratory (2006)

    Google Scholar 

  19. Feautrier, P.: Parametric integer programming. RAIRO Rech. Opérationnelle 22(3), 243–268 (1988)

    MATH  MathSciNet  Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. 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

    Google Scholar 

  23. Handelman, D.: Representing polynomials by positive linear functions on compact convex polyhedra. Pac. J. Math. 132(1), 35–62 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  24. 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)

    Chapter  Google Scholar 

  25. Jones, C.N., Kerrigan, E.C., Maciejowski, J.M.: Lexicographic perturbation for multiparametric linear programming with applications to control. Automatica (2007)

    Google Scholar 

  26. 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

    Google Scholar 

  27. 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)

    Chapter  Google Scholar 

  28. 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)

    Google Scholar 

  29. Krivine, J.-L.: Anneaux préordonnés. J. d’ Anal. Math. 12, 307–326 (1964)

    Article  MATH  MathSciNet  Google Scholar 

  30. Lasserre, J.B.: Moments, Positive Polynomials and Their Applications. Imperial College Optimization Series, vol. 1. Imperial College Press, London (2010)

    MATH  Google Scholar 

  31. 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/

    Article  Google Scholar 

  32. Maréchal, A., Périn, M.: Three linearization techniques for multivariate polynomials in static analysis using convex polyhedra. Technical Report 7, Verimag, July 2014

    Google Scholar 

  33. 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

    Google Scholar 

  34. 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)

    Chapter  Google Scholar 

  35. 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)

    Article  Google Scholar 

  36. Néron, P.: A Quest for Exactness: Program Transformation for Reliable Real Numbers. Ph.D. thesis, École Polytechnique, Palaiseau, France (2013)

    Google Scholar 

  37. Prestel, A., Delzell, C.N.: Positive Polynomials: From Hilbert’s 17th Problem to Real Algebra. Springer-Verlag, June 2001

    Google Scholar 

  38. Schweighofer, M.: An algorithmic approach to Schmüdgen’s Positivstellensatz. J. Pure Appl. Algebra 166(3), 307–319 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  39. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexandre Maréchal .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics