Symbolic Model Checking without BDDs
Symbolic Model Checking ,  has proven to be a powerful technique for the verification of reactive systems. BDDs  have traditionally been used as a symbolic representation of the system. In this paper we show how boolean decision procedures, like Stålmarck’s Method  or the Davis & Putnam Procedure , can replace BDDs. This new technique avoids the space blow up of BDDs, generates counterexamples much faster, and sometimes speeds up the verification. In addition, it produces counterexamples of minimal length. We introduce a bounded model checking procedure for LTL which reduces model checking to propositional satisfiability.We show that bounded LTL model checking can be done without a tableau construction. We have implemented a model checker BMC, based on bounded model checking, and preliminary results are presented.
KeywordsModel Check Propositional Formula Kripke Structure Liveness Property Symbolic Model Check
- Arne Borälv. The industrial success of verification tools based on Stålmarck’s Method. In Orna Grumberg, editor, International Conference on Computer-Aided Verification (CAV’97), number 1254 in LNCS. Springer-Verlag, 1997.Google Scholar
- E. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proceedings of the IBM Workshop on Logics of Programs, volume 131 of LNCS, pages 52–71. Springer-Verlag, 1981.Google Scholar
- E. Clarke, O. Grumberg, and K. Hamaguchi. Another look at LTL model checking. In David L. Dill, editor, Computer Aided Verification, 6th International Conference (CAV’94), volume 818 of LNCS, pages 415–427. Springer-Verlag, June 1994.Google Scholar
- F. Giunchiglia and R. Sebastiani. Building decision procedures for modal logics from propositional decision procedures-the case study of modal K. In Proc. of the 13th Conference on Automated Deduction, Lecture Notes in Artificial Intelligence. Springer-Verlag, 1996.Google Scholar
- D. S. Johnson and M. A. Trick, editors. The second DIMACS implementation challenge, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, 1993. (see http://dimacs.rutgers.edu/Challenges/).
- H. Kautz and B. Selman. Pushing the envelope: planning, propositional logic, and stochastic search. In Proc. AAAI’96, Portland, OR, 1996.Google Scholar
- O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Poceedings of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 97–107, 1985.Google Scholar
- A. J. Martin. The design of a self-timed circuit for distributed mutual exclusion. In H. Fuchs, editor, Proceedings of the 1985 Chapel Hill Conference on Very Large Scale Integration, 1985.Google Scholar
- K. L. McMillan. Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers, 1993.Google Scholar
- G. Stålmarck and M. Säflund. Modeling and verifying systems and software in propositional logic. In B. K. Daniels, editor, Safety of Computer Control Systems (SAFECOMP’ 90), pages 31–36. Pergamon Press, 1990.Google Scholar
- P. R. Stephan, R. K. Brayton, and A. L. Sangiovanni-Vincentelli. Combinational test generation using satisfiability. Technical Report M92/112, Departement of Electrical Engineering and Computer Science, University of California at Berkley, October 1992.Google Scholar
- H. Zhang. SATO: An efficient propositional prover. In International Conference on Automated Deduction (CADE’97), number 1249 in LNAI, pages 272–275. Springer-Verlag, 1997.Google Scholar