An Improved Tight Closure Algorithm for Integer Octagonal Constraints

  • Roberto Bagnara
  • Patricia M. Hill
  • Enea Zaffanella
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4905)


Integer octagonal constraints (a.k.a. Unit Two Variables Per Inequality or UTVPI integer constraints) constitute an interesting class of constraints for the representation and solution of integer problems in the fields of constraint programming and formal analysis and verification of software and hardware systems, since they couple algorithms having polynomial complexity with a relatively good expressive power. The main algorithms required for the manipulation of such constraints are the satisfiability check and the computation of the inferential closure of a set of constraints. The latter is called tight closure to mark the difference with the (incomplete) closure algorithm that does not exploit the integrality of the variables. In this paper we present and fully justify an O(n 3) algorithm to compute the tight closure of a set of UTVPI integer constraints.


Inference Rule Abstract Domain Bottom Element Integer Constraint Closure Procedure 
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.
    Bagnara, R., et al.: Grids: A Domain for Analyzing the Distribution of Numerical Values. In: Puebla, G. (ed.) LOPSTR 2006. LNCS, vol. 4407, pp. 219–235. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Hill, P.M., et al.: Widening Operators for Weakly-Relational Numeric Abstractions. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 3–18. Springer, Heidelberg (2005)Google Scholar
  3. 3.
    Bagnara, R., et al.: Widening operators for weakly-relational numeric abstractions. Quaderno 399, Dipartimento di Matematica, Università di Parma, Italy (2005),
  4. 4.
    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. Quaderno 457, Dipartimento di Matematica, Università di Parma, Italy (2006),, also pulished as arXiv:cs.MS/0612085,
  5. 5.
    Balasundaram, V., Kennedy, K.: A technique for summarizing data access and its use in parallelism enhancing transformations. In: Knobe, B. (ed.) Proceedings of the ACM SIGPLAN 1989 Conference on Programming Language Design and Implementation (PLDI), Portland, Oregon, USA. ACM SIGPLAN Notices, vol. 24(7), pp. 41–53. ACM Press, New York (1989)CrossRefGoogle Scholar
  6. 6.
    Ball, T., et al.: Zapato: Automatic theorem proving for predicate abstraction refinement. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 457–461. Springer, Heidelberg (2004)Google Scholar
  7. 7.
    Cormen, T.H., Leiserson, T.E., Rivest, R.L.: Introduction to Algorithms. The MIT Press, Cambridge (1990)Google Scholar
  8. 8.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the Fourth Annual ACM Symposium on Principles of Programming Languages, pp. 238–252. ACM Press, New York (1977)Google Scholar
  9. 9.
    Cousot, P., et al.: The ASTREÉ Analyzer. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 21–30. Springer, Heidelberg (2005)Google Scholar
  10. 10.
    Granger, P.: Static analysis of arithmetical congruences. International Journal of Computer Mathematics 30, 165–190 (1989)CrossRefGoogle Scholar
  11. 11.
    Granger, P.: Static analysis of linear congruence equalities among variables of a program. In: Abramsky, S. (ed.) CAAP 1991 and TAPSOFT 1991. LNCS, vol. 493, pp. 169–192. Springer, Heidelberg (1991)Google Scholar
  12. 12.
    Harvey, W., Stuckey, P.J.: A unit two variable per inequality integer constraint solver for constraint logic programming. In: Patel, M. (ed.) ACSC 1997: Proceedings of the 20th Australasian Computer Science Conference. Australian Computer Science Communications, vol. 19, pp. 102–111 (1997)Google Scholar
  13. 13.
    Jaffar, J., et al.: Beyond finite domains. In: Borning, A. (ed.) PPCP 1994. LNCS, vol. 874, pp. 86–94. Springer, Heidelberg (1994)Google Scholar
  14. 14.
    Lagarias, J.C.: The computational complexity of simultaneous Diophantine approximation problems. SIAM Journal on Computing 14(1), 196–209 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Lahiri, S.K., Musuvathi, M.: An Efficient Decision Procedure for UTVPI Constraints. In: Gramlich, B. (ed.) FroCos 2005. LNCS (LNAI), vol. 3717, pp. 168–183. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Miné, A.: The octagon abstract domain. In: Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE 2001), Stuttgart, Germany, 2001, pp. 310–319. IEEE Computer Society Press, Los Alamitos (2001)CrossRefGoogle Scholar
  17. 17.
    Miné, A.: A Few Graph-Based Relational Numerical Abstract Domains. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Miné, A.: Weakly Relational Numerical Abstract Domains. PhD thesis, École Polytechnique, Paris, France (March 2005)Google Scholar
  19. 19.
    Miné, A.: The octagon abstract domain. Higher-Order and Symbolic Computation 19(1), 31–100 (2006)zbMATHCrossRefGoogle Scholar
  20. 20.
    Nelson, G., Oppen, D.C.: Fast decision algorithms based on Union and Find. In: Proceedings of the 18th Annual Symposium on Foundations of Computer Science (FOCS 1977), Providence, RI, USA, pp. 114–119. IEEE Computer Society Press, Los Alamitos (1977), The journal version of this paper is [21]Google Scholar
  21. 21.
    Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. Journal of the ACM 27(2), 356–364 (1980), An earlier version of this paper is [20]Google Scholar
  22. 22.
    V. R. Pratt. Two easy theories whose combination is hard. Memo sent to Nelson and Oppen concerning a preprint of their paper [20] (September 1977)Google Scholar
  23. 23.
    Venet, A., Brat, G.: Precise and efficient static array bound checking for large embedded C programs. In: Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation (PLDI 2004), Washington, DC, USA, 2004, pp. 231–242. ACM Press, New York (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Roberto Bagnara
    • 1
  • Patricia M. Hill
    • 2
  • Enea Zaffanella
    • 1
  1. 1.Department of MathematicsUniversity of ParmaItaly
  2. 2.School of ComputingUniversity of LeedsUK

Personalised recommendations