Skip to main content

An Abstract Domain Extending Difference-Bound Matrices with Disequality Constraints

  • Conference paper
Verification, Model Checking, and Abstract Interpretation (VMCAI 2007)

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

Abstract

Knowing that two numerical variables always hold different values, at some point of a program, can be very useful, especially for analyzing aliases: if i ≠ j, then A[i] and A[j] are not aliased, and this knowledge is of great help for many other program analyses. Surprisingly, disequalities are seldom considered in abstract interpretation, most of the proposed numerical domains being restricted to convex sets. In this paper, we propose to combine simple ordering properties with disequalities. “Difference-bound matrices” (or DBMs) is a domain proposed by David Dill, for expressing relations of the form “x − y ≤ c” or “c 1 ≤ x ≤ c 2”. We define dDBMs (“disequalities DBMs”) as conjunctions of DBMs with simple disequalities of the form “x ≠ y” or “x ≠ 0”. We give algorithms on dDBMs, for deciding the emptiness, computing a normal form, and performing the usual operations of an abstract domain. These algorithms have the same complexity (O(n 3), where n is the number of variables) than those for classical DBMs, if the variables are considered to be valued in a dense set (ℝ or ℚ). In the arithmetic case, the emptiness decision is NP-complete, and other operations run in O(n 5).

This work has been partially supported by the APRON project of the “ACI Sécurité et Informatique” of the French Ministry of Research.

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

Access this chapter

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alur, R., Courcoubetis, C., Dill, D.L.: Model-checking in dense real-time. Information and Computation 104(1), 2–34 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  2. Bourdoncle, F.: Abstract debugging of higher-order imperative languages. In: PLDI’93, pp. 46–55. ACM, New York (1993)

    Google Scholar 

  3. Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: 2nd Int. Symp. on Programming, pp. 106–130. Dunod, Paris (1976)

    Google Scholar 

  4. Clarisó, R.C., Cortadella, J.: Verification of parametric timed circuits using octahedra. In: Designing correct circuits, DCC’04, Barcelona (2004)

    Google Scholar 

  5. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL’78, pp. 84–96 (January 1978)

    Google Scholar 

  6. Cormen, T.H., et al.: Introduction to Algorithms. The MIT Press, Cambridge (1990)

    Google Scholar 

  7. Deutsch, A.: Interprocedural may-alias analysis for pointers: beyond k-limiting. In: PLDI’94, pp. 230–241 (1994)

    Google Scholar 

  8. Dill, D.L.: Timing assumptions and verification of finite-state concurrent systems. In: Sifakis, J. (ed.) Automatic Verification Methods for Finite State Systems. LNCS, vol. 407, pp. 197–212. Springer, Heidelberg (1990)

    Google Scholar 

  9. Goralciková, A., Koubek, V.: A reduct-and-closure algorithm for graphs. In: Becvar, J. (ed.) Mathematical Foundations of Computer Science 1979. LNCS, vol. 74, pp. 301–307. Springer, Heidelberg (1979)

    Google Scholar 

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

  11. Harvey, W., Stuckey, P.J.: A unit two variable per inequality integer constraint solver for constraint logic programming. In: Twentieth Australasian Computer Science Conference, ACSC’97, pp. 102–111 (February 1997)

    Google Scholar 

  12. Harvey, W., Stuckey, P.J.: Improving linear constraint propagation by changing constraint representation. Constraints 8(2), 173–207 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  13. Imbert, J.-L.: Variable elimination for generalized linear constraints. In: ICLP’93, pp. 499–516 (1993)

    Google Scholar 

  14. Jeannet, B.: The NBAC verification/slicing tool, http://www.inrialpes.fr/pop-art/people/bjeannet/nbac/

  15. Jeannet, B., Halbwachs, N., Raymond, P.: Dynamic partitioning in analyses of numerical properties. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  16. Karr, M.: Affine relationships among variables of a program. Acta Informatica 6, 133–151 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  17. Lassez, J.-L., McAloon, K.: A canonical form for generalized linear constraints. J. Symb. Comput. 13(1), 1–24 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  18. Larsen, K.G., et al.: Clock difference diagrams. Nordic J. of Computing 6(3), 271–298 (1999)

    MATH  MathSciNet  Google Scholar 

  19. Masdupuy, F.: Semantic analysis of interval congruences. In: International Conference on Formal Methods in Programming and Their Applications, pp. 142–155 (1993)

    Google Scholar 

  20. Miné, A.: The octagon abstract domain. In: AST 2001 in WCRE 2001, pp. 310–319. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

  21. Miné, A.: A few graph-based relational numerical abstract domains. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, pp. 117–132. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  22. Møller, J.B., et al.: Difference decision diagrams. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 111–125. Springer, Heidelberg (1999)

    Google Scholar 

  23. Mauborgne, L., Rival, X.: Trace partitioning in abstract interpretation based static analyzers. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, Springer, Heidelberg (2005)

    Google Scholar 

  24. Puget, J.-F.: A fast algorithm for the bound consistency of alldiff constraints. In: Mittal, V.O., et al. (eds.) Assistive Technology and Artificial Intelligence. LNCS (LNAI), vol. 1458, pp. 359–366. Springer, Heidelberg (1998)

    Google Scholar 

  25. Pugh, W., Wonnacott, D.: Constraint-based array dependence analysis. TOPLAS 20(3), 635–678 (1998)

    Article  Google Scholar 

  26. Rosenkrantz, D.J., Hunt III, H.B.: Processing conjunctive predicates and ueries. In: VLDB, pp. 64–72 (1980)

    Google Scholar 

  27. Simon, K., Crippa, D., Collenberg, F.: On the distribution of the transitive closure in a random acyclic digraph. In: Lengauer, T. (ed.) ESA 1993. LNCS, vol. 726, pp. 345–356. Springer, Heidelberg (1993)

    Google Scholar 

  28. Simon, K.: An improved algorithm for transitive closure on acyclic digraphs. TCS 58(1-3), 325–346 (1988)

    Article  MATH  Google Scholar 

  29. Sankaranarayanan, S., et al.: Static analysis in disjunctive numerical domains. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  30. Seater, R., Wonnacott, D.: Efficient Manipulation of Disequalities During Dependence Analysis. In: Pugh, B., Tseng, C.-W. (eds.) LCPC 2002. LNCS, vol. 2481, pp. 295–308. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Byron Cook Andreas Podelski

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Péron, M., Halbwachs, N. (2007). An Abstract Domain Extending Difference-Bound Matrices with Disequality Constraints. In: Cook, B., Podelski, A. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2007. Lecture Notes in Computer Science, vol 4349. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69738-1_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69738-1_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69735-0

  • Online ISBN: 978-3-540-69738-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics