Skip to main content
Log in

Efficient BDDs for bounded arithmetic constraints

  • Regular contribution
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Symbolic model checkers use BDDs to represent arithmetic constraints over bounded integer variables. The size of such BDDs can in the worst case be exponential in the number and size (in bits) of the integer variables. In this paper we show how to construct linear-sized BDDs for linear integer arithmetic constraints. We present basic constructions for atomic equality and inequality constraints and generalize our complexity results for arbitrary linear arithmetic formulas. We also present three alternative ways of handling out-of-bounds transitions and discuss heterogeneous bounds on integer variables. We experimentally compare our approach to other BDD-based symbolic model checkers and demonstrate that the algorithms presented in this paper can be used to improve their performance significantly.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Cadence SMV. http://www-cad.eecs.berkeley.edu/kenmcmil/smv

  2. NuSMV. http://nusmv.irst.itc.it/

  3. SMV. www.cs.cmu.edu/modelcheck/smv.html

  4. Andrews GR (1991) Concurrent programming: principles and practice. Benjamin/Cummings, Redwood City, CA

    Google Scholar 

  5. Bartzis C, Bultan T (2003) Efficient symbolic representations for arithmetic constraints in verification. Int J Found Comput Sci 14(4):605–624

    Article  MATH  MathSciNet  Google Scholar 

  6. Bartzis C, Bultan T (2003) Construction of efficient BDDs for bounded arithmetic constraints. In: Proceedings of the 9th international conference on tools and algorithms for the construction and analysis of systems. Lecture notes in computer science, vol 2619. Springer, Berlin Heidelberg New York, pp 394–408

  7. Boudet A, Comon H (1996) Diophantine equations, Presburger arithmetic and finite automata. In: Kirchner H (ed) Proceedings of the 21st international colloquium on trees in algebra and programming (CAAP’96), April 1996. Lecture notes in computer science, vol 1059. Springer, Berlin Heidelberg New York, pp 30–43

  8. Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput 35(8):677–691

    MATH  Google Scholar 

  9. Bryant RE, Chen YA (1995) Verification of arithmetic functions with binary moment diagrams. In: Proceedings of the 32nd ACM/IEEE conference on design automation, June 1995

  10. Bultan T, Yavuz-Kahveci T (2001) Action Language Verifier. In: Proceedings of the 16th IEEE international conference on automated software engineering

  11. Chan W, Anderson RJ, Beame P, Burns S, Modugno F, Notkin D, Reese JD (1998) Model checking large software specifications. IEEE Trans Softw Eng 24(7):498–520

    Article  Google Scholar 

  12. Cimatti A, Clarke EM, Giunchiglia E, Giunchiglia F, Pistore M, Roveri M, Sebastiani R, Tacchella A (2002) Nusmv 2: An opensource tool for symbolic model checking. In: Proceedings of the international conference on computer-aided verification

  13. Clarke EM, McMillan KL, Zhao X, Fujita M, Yang J (1993) Spectral transforms for large boolean functions with applications to technology mapping. In: Proceedings of the 30th international conference on design automation. ACM Press, New York, pp 54–60

  14. Clarke EM, Fujita M, Zhao X (2000) Hybrid decision diagrams – overcoming the limitations of mtbdds and bmds. In: Proceedings of the international conference on computer-aided design, pp 159–163

  15. Garey M, Jonson D (1979) Computers and intractability: a guide to the theory of NP-completeness. Freeman, New York

    Google Scholar 

  16. McMillan KL (1993) Symbolic model checking. Kluwer, Norwell, MA

  17. Papadimitriou CH (1981) On the complexity of integer programming. J ACM 28(4):765–768

    Article  MATH  MathSciNet  Google Scholar 

  18. Bahar RI, Frohm EA, Gaona CM, Hachtel GD, Macii E, Pardo A, Somenzi F (1993) Algebraic Decision Diagrams and their applications. In: IEEE /ACM international conference on computer-aided design, pp 188–191. IEEE Press, New York

  19. Sieling D, Wegener I (1993) Reduction of OBDDs in linear time. Inf Process Lett 48(3):139–144

    Article  MATH  MathSciNet  Google Scholar 

  20. Wolper P, Boigelot B (2000) On the construction of automata from linear arithmetic constraints. In: Graf S, Schwartzbach M (eds) Proceedings of the 6th international conference on tools and algorithms for the construction and analysis of systems, April 2000. Lecture notes in computer science, vol 1785. Springer, Berlin Heidelberg New York, pp 1–19

  21. Yang J, Mok AK, Wang F (1997) Symbolic model checking for event-driven real-time systems. ACM Trans Programm Lang Syst 19(2):386–412

    Article  Google Scholar 

  22. Yavuz-Kahveci T, Tuncer M, Bultan T (2001) Composite symbolic library. In: Proceedings of the 7th international conference on tools and algorithms for the construction and analysis of systems, April 2001. Lecture notes in computer science, vol 2031. Springer, Berlin Heidelberg New York, pp 335–344

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Constantinos Bartzis.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bartzis, C., Bultan, T. Efficient BDDs for bounded arithmetic constraints. Int J Softw Tools Technol Transfer 8, 26–36 (2006). https://doi.org/10.1007/s10009-004-0171-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-004-0171-8

Keywords

Navigation