Integer Polyhedra for Program Analysis

  • Philip J. Charles
  • Jacob M. Howe
  • Andy King
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5564)


Polyhedra are widely used in model checking and abstract interpretation. Polyhedral analysis is effective when the relationships between variables are linear, but suffers from imprecision when it is necessary to take into account the integrality of the represented space. Imprecision also arises when non-linear constraints occur. Moreover, in terms of tractability, even a space defined by linear constraints can become unmanageable owing to the excessive number of inequalities. Thus it is useful to identify those inequalities whose omission has least impact on the represented space. This paper shows how these issues can be addressed in a novel way by growing the integer hull of the space and approximating the number of integral points within a bounded polyhedron.


Convex Hull Model Check Program Analysis Integer Solution Integer Point 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bardin, S., Finkel, A., Leroux, J., Petrucci, L.: FAST: Fast Acceleration of Symbolic Transition Systems. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 118–121. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Barvinok, A.: Computing the Volume, Computing Integral Points, and Exponential Sums. In: Computational Geometry, pp. 161–170. ACM Press, New York (1992)Google Scholar
  3. 3.
    Barvinok, A.: A Polynomial Time Algorithm for Counting Integral Points in Polyhedra When the Dimension is Fixed. Mathematics of Operations Research 19(4), 769–779 (1994)CrossRefMATHMathSciNetGoogle Scholar
  4. 4.
    Cook, W., Hartmann, M., Kannan, R., McDiarmid, C.: On Integer Points in Polyhedra. Combinatorica 12(1), 27–37 (1992)CrossRefMATHMathSciNetGoogle Scholar
  5. 5.
    Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: The ASTREÉ analyzer. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 21–30. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Cousot, P., Halbwachs, N.: Automatic Discovery of Linear Restraints Among Variables of a Program. In: Principles of Programming Languages, pp. 84–96. ACM Press, New York (1978)Google Scholar
  7. 7.
    Cox, D., Little, J., O’Shea, D.: Ideals, Varieties and Algorithms. Springer, Heidelberg (1996)MATHGoogle Scholar
  8. 8.
    Deloera, J.A., Hemmecke, R., Tauzer, J., Yoshida, R.: Effective Lattice Point Counting in Rational Convex Polytopes. Journal of Symbolic Computation 38(4), 1273–1302 (2004)CrossRefMATHMathSciNetGoogle Scholar
  9. 9.
    Eisenbrand, F.: Gomory-Chvátal Cutting Planes and the Elementary Closure of Polyhedra. PhD thesis, Universität des Saarlandes (2000)Google Scholar
  10. 10.
    Hartmann, M.E.: Cutting Planes and the Complexity of the Integer Hull. PhD thesis, School of Operations Research and Industrial Engineering, Cornell University (1988); Technical Report 819Google Scholar
  11. 11.
    Huggins, P.: iB4e: A Software Framework for Parametrizing Specialized LP Problems. In: Iglesias, A., Takayama, N. (eds.) ICMS 2006. LNCS, vol. 4151, pp. 245–247. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Köppe, M.: A Primal Barvinok Algorithm Based on Irrational Decompositions. SIAM Journal on Discrete Mathematics 21(1), 220–236 (2007)CrossRefMATHMathSciNetGoogle Scholar
  13. 13.
    Lougee-Heimer, R.: The Common Optimization INterface for Operations Research. IBM Journal of Research and Development 47(1), 57–66 (2003)CrossRefGoogle Scholar
  14. 14.
    Meister, B.: Periodic Polyhedra. In: Duesterwald, E. (ed.) CC 2004. LNCS, vol. 2985, pp. 134–149. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 15.
    Ong, H.L., Huang, H.C., Huin, W.M.: Finding the Exact Volume of a Polyhedron. Advances in Engineering Software 34, 351–356 (2003)CrossRefMATHGoogle Scholar
  16. 16.
    Quinton, P., Rajopadhye, S.V., Risset, T.: On Manipulating ℤ-polyhedra using a Canonical Representation. Parallel Processing Letters 7(2), 181–194 (1997)CrossRefMathSciNetGoogle Scholar
  17. 17.
    Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Constraint Based Linear Relations Analysis. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 53–68. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Schrijver, A.: Theory of Linear and Integer Programming. Wiley, Chichester (1986)MATHGoogle Scholar
  19. 19.
    Seghir, R., Loechner, V.: Memory Optimization by Counting Points in Integer Transformations of Parametric Polytopes. In: Compilers, Architectures, and Synthesis for Embedded Systems, pp. 74–82. ACM Press, New York (2006)Google Scholar
  20. 20.
    Simon, A.: Value-Range Analysis of C Programs. Springer, Heidelberg (2008)CrossRefMATHGoogle Scholar
  21. 21.
    Verdoolaege, S., Beyls, K., Bruynooghe, M., Catthoor, F.: Experiences with Enumeration of Integer Projections of Parametric Polytopes. In: Bodik, R. (ed.) CC 2005. LNCS, vol. 3443, pp. 91–105. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  22. 22.
    Verdoolaege, S., Seghir, R., Beyls, K., Loechner, V., Bruynooghe, M.: Counting Integer Points in Parametric Polytopes Using Barvinok’s Rational Functions. Algorithmica 48(1), 37–66 (2007)CrossRefMATHMathSciNetGoogle Scholar
  23. 23.
    Wilde, D.K.: A Library for Doing Polyhedral Operations. Technical Report PI-785, IRISA (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Philip J. Charles
    • 1
  • Jacob M. Howe
    • 2
  • Andy King
    • 1
    • 3
  1. 1.University of KentCanterburyUK
  2. 2.City University LondonUK
  3. 3.Portcullis Computer Security LimitedPinnerUK

Personalised recommendations