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.
Similar content being viewed by others
References
Cadence SMV. http://www-cad.eecs.berkeley.edu/∼kenmcmil/smv
NuSMV. http://nusmv.irst.itc.it/
SMV. www.cs.cmu.edu/∼modelcheck/smv.html
Andrews GR (1991) Concurrent programming: principles and practice. Benjamin/Cummings, Redwood City, CA
Bartzis C, Bultan T (2003) Efficient symbolic representations for arithmetic constraints in verification. Int J Found Comput Sci 14(4):605–624
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
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
Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput 35(8):677–691
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
Bultan T, Yavuz-Kahveci T (2001) Action Language Verifier. In: Proceedings of the 16th IEEE international conference on automated software engineering
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
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
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
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
Garey M, Jonson D (1979) Computers and intractability: a guide to the theory of NP-completeness. Freeman, New York
McMillan KL (1993) Symbolic model checking. Kluwer, Norwell, MA
Papadimitriou CH (1981) On the complexity of integer programming. J ACM 28(4):765–768
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
Sieling D, Wegener I (1993) Reduction of OBDDs in linear time. Inf Process Lett 48(3):139–144
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
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-004-0171-8