CAV 2001: Computer Aided Verification pp 324-336 | Cite as

A BDD-Based Model Checker for Recursive Programs

  • Javier Esparza
  • Stefan Schwoon
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2102)

Abstract

We present a model-checker for boolean programs with (possibly recursive) procedures and the temporal logic LTL. The checker is guaranteed to terminate even for (usually faulty) programs in which the depth of the recursion is not bounded. The algorithm uses automata to finitely represent possibly infinite sets of stack contents and BDDs to compactly represent finite sets of values of boolean variables. We illustrate the checker on some examples and compare it with the Bebop tool of Ball and Rajamani.

Keywords

Model Checker Transitive Closure Transition Rule Boolean Variable Strongly Connect Component 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    T. Ball and S. K. Rajamani. Bebop: A symbolic model checker for boolean programs. In SPIN 00: SPIN Workshop, LNCS 1885, pages 113–130, 2000.Google Scholar
  2. 2.
    T. Ball and S. K. Rajamani. Automatically validating temporal safety properties of interfaces. Technical report, 2001.Google Scholar
  3. 3.
    A. Bouajjani, J. Esparza, and O. Maler. Reachability analysis of pushdown automata: Application to model-checking. In Proceedings of CONCUR’ 97, LNCS 1243, pages 135–150, 1997.Google Scholar
  4. 4.
    J. Esparza, D. Hansel, P. Rossmanith, and S. Schwoon. Efficient algorithms for model checking pushdown systems. In Proceedings of CAV’ 00, LNCS 1855, 2000.Google Scholar
  5. 5.
    J. Esparza and S. Schwoon. A BDD-based Model Checker for Recursive Programs. Technical report, Institut für Informatik, Technische Universitöt München, 2001. Available at http://www7.in.tum.de/gruppen/theorie/publications/.
  6. 6.
    T. Jensen, D. L Méetayer, and T. Thorn. Verification of control flow based security properties. In Proceedings of 1999 IEEE Symposium on Security and Privacy, IEEE Press, 1999.Google Scholar
  7. 7.
    J.R. Burch, E.M. Clarke, D.E. Long, K.L. MacMillan, and D.L. Dill. Symbolic model checking for sequential circuit verification. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 13(4):401–424, 1994.CrossRefGoogle Scholar
  8. 8.
    F. Somenzi. Colorado University Decision Diagram Package. Technical report, University of Colorado, Boulder, 1998.Google Scholar
  9. 9.
    R. E. Tarjan. Depth first search and linear graph algorithms. In SICOMP 1, pages 146–160, 1972.Google Scholar
  10. 10.
    A. Xie and P. A. Beerel. Implicit enumeration of strongly connected components. In Proceedings of ICCAD, pages 37–40, San Jose, CA, 1999Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Javier Esparza
    • 1
  • Stefan Schwoon
    • 1
  1. 1.Technische Universität MünchenMünchenGermany

Personalised recommendations