Bounded Model Checking Using Satisfiability Solving
 Edmund Clarke,
 Armin Biere,
 Richard Raimi,
 Yunshan Zhu
 … show all 4 hide
Rent the article at a discount
Rent now* Final gross prices may vary according to local VAT.
Get AccessAbstract
The phrase model checking refers to algorithms for exploring the state space of a transition system to determine if it obeys a specification of its intended behavior. These algorithms can perform exhaustive verification in a highly automatic manner, and, thus, have attracted much interest in industry. Model checking programs are now being commercially marketed. However, model checking has been held back by the state explosion problem, which is the problem that the number of states in a system grows exponentially in the number of system components. Much research has been devoted to ameliorating this problem.
In this tutorial, we first give a brief overview of the history of model checking to date, and then focus on recent techniques that combine model checking with satisfiability solving. These techniques, known as bounded model checking, do a very fast exploration of the state space, and for some types of problems seem to offer large performance improvements over previous approaches. We review experiments with bounded model checking on both public domain and industrial designs, and propose a methodology for applying the technique in industry for invariance checking. We then summarize the pros and cons of this new technology and discuss future research efforts to extend its capabilities.
 Abdulla, P.A., Bjesse, P., Een, N. (2000) Symbolic reachability analysis based on satsolvers. TACAS'00, 6th International Conference on Tools and Algorithms for the Construction and Analysis of Systems. SpringerVerlag, Berlin
 A. Biere, A. Cimatti, E.M. Clarke, M. Fujita, and Y. Zhu, “Symbolic model checking using SAT procedures instead of BDDs,” in Design Automation Conference, (DAC'99), June1999.
 A. Biere, A. Cimatti, E.M. Clarke, and Y. Zhu, “Symbolic model checking without BDDs,” in TACAS'99, 1999.
 A. Biere, E.M. Clarke, R. Raimi, and Y. Zhu, “Verifying safety properties of a PowerPC microprocessor using symbolic model checking without BDDs,” in International Conference on ComputerAided Verification (CAV'99), July 1999.
 Borälv, A. The industrial success of verification tools based on Stålmarck's method. In: Grumberg, O. eds. (1997) International Conference on ComputerAided Verification (CAV'97). SpringerVerlag, Berlin
 Bryant, R.E. (1986) Graphbased algorithms for Boolean function manipulation. IEEE Transactions on Computers 35: pp. 677691
 J.R. Burch, E.M. Clarke, and D. Long, “Representing circuits more efficiently in symbolic model checking,” in Proc. Design Automation Conference, 1991.
 Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J. (1992) Symbolic model checking: 1020 states and beyond. Information and Computation 98: pp. 142170
 Clarke, E.M., Emerson, E.A. (1981) Design and synthesis of synchronization skeletons using branching time temporal logic. Proceedings of the IBM Workshop on Logics of Programs. SpringerVerlag, Berlin, pp. 5271
 Clarke, E.M., Emerson, E.A., Sistla, A.P. (1986) Automatic verification of finiestate concurrent systems using temporal logic specifcations. ACM Transactions on Programming Languages and Systems 8: pp. 244263
 E.M. Clarke, O. Grumberg, H. Hiraishi, S. Jha, D.E. Long, K.L. McMillan, and L.A. Ness, “Verification of the futurebux+ cache coherence protocol,” in Proc. 11th Intl. Symp. on Computer Hdwe. Description Lang. and their Applications, April 1993.
 E.M. Clarke, O. Grumberg, and D.E. Long. “Model checking and abstraction,” in Proc. 19th Ann. ACMSymp. on Principles of Prog. Lang., Jan. 1992.
 Clarke, E.M., Grumberg, O., Long, D.E. (1994) Model checking and abstraction. ACM Transactions on ProgrammingLanguages and Systems 16: pp. 15121542
 Clarke, E.M., Grumberg, O., Peled, D.A. (2000) Model Checking. The MIT Press, Cambridge, MA
 O. Coudert, J.C. Madre, and C. Berthet, “Verifying temporal properties of sequential machines without building their state diagrams,” in Proc. 10th Int'l Computer Aided Verification Conference, 1990, pp. 23–32.
 Davis, M., Putnam, H. (1960) A computing procedure for quantification theory. Journal of the Association for Computing Machinery 7: pp. 201215
 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, SpringerVerlag, 1996.
 Grumberg, O., Long, D.E. (1994) Model checking and modular verification. ACM Transactions on Programming Languages and Systems 6: pp. 843872
 D. Jackson, “An intermediate design language and its analysis,” in Proceedings of Foundations of Software Engineering, November 1998.
 D.S. Johnson and M.A. Trick (Eds.), The second DIMACS implementation challenge, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, 1993. (see http://dimacs. rutgers.edu/Challenges/).
 M. Kaufmann, A. Martin, and C. Pixley, “Design constraints in symbolic model checking,” in Proc. 10th Int'l Computer Aided Verification Conference, June 1998.
 H. Kautz and B. Selman, “Pushing the envelope: Planning, propositional logic, and stochastic search,” in Proc. AAAI'96, Portland, OR, 1996.
 Kurshan, R.P. (1994) ComputerAided Verification of Coordinating Processes: The AutomataTheoretic Approach. Princeton University Press, Princeton, New Jersey
 Larrabee, T. (1992) Test pattern generation using Boolean satisfiability. IEEE Transactions on ComputerAided Design of Integrated Circuits 11: pp. 415
 A.J. Martin, The design of a selftimed circuit for distributed mutual exclusion, in H. Fuchs (Ed.), Proceedings of the 1985 Chapel Hill Conference on Very Large Scale Integration, 1985.
 McMillan, K.L. (1993) Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers, Boston
 Pixley, C. (1990) A computational theory and implementation of sequential hardware equivalence. CAV'90 DIMACS series 3: pp. 293320
 Plaisted, D., Greenbaum, S. (1986) A structurepreserving clause form translation. Journal of Symbolic Computation 2: pp. 293304
 J.P. Quielle and J. Sifakis, “Specification and verification of concurrent systems in CESAR,” in Proc. 5th Int. Symp. in Programming, 1981.
 R. Raimi and J. Lear, “Analyzing a PowerPC 620 microprocessor silicon failure using model checking,” in Proc. Int'l Test Conference, 1997.
 R. Ranjan, A. Aziz, R. Brayton, B. Plessier, and C. Pixley, “Efficient BDD algorithms for FSM synthesis and verification,” in Int'l Workshop on Logic Synthesis, 1995.
 Shtrichman, O. (2000) Tuning sat checkers for bounded modelchecking. Computer Aided Verification, 12th International Conference (CAV'00). SpringerVerlag, Berlin
 J.P.M. Silva, “Search algorithms for satisfiability problems in combinational switching circuits,” Ph.D. Dissertation, EECS Department,University of Michigan, May 1995.
 J.P.M. Silva, L.M. Siveira, and J. MarquesSilva, “Algorithms for solving Boolean satisfiability in combinational circuits,” in Design, Automation and Test in Europe (DATE), 1999.
 G.Stålmarck and M.Säflund, “Modeling and verifying systems and software in propositional logic,” in B.K. Daniels (Ed.), Safety of Computer Control Systems (SAFECOMP'90), Pergamon Press, 1990, pp. 31–36.
 Stephan, P.R., Brayton, R.K., SangiovanniVincentelli, A.L. (1996) Combinational test generation using satisfiability. IEEE Transactions on ComputerAided Design of Integrated Circuits 15: pp. 11671176
 Williams, P.F., Biere, A., Clarke, E.M., Gupta, A. (2000) Combining decision diagrams and sat procedures for efficient symbolic model checking. Computer Aided Verification, 12th International Conference (CAV'00). SpringerVerlag, Berlin
 Zhang, H. (1993) A Decision Procedure for Propositional Logic. Assoc. for Automated Reasoning Newsletter 22: pp. 13
 Zhang, H. (1997) SATO: An efficient propositional prover. International Conference on Automated Deduction (CADE'97). SpringerVerlag, Berlin, pp. 272275
 Title
 Bounded Model Checking Using Satisfiability Solving
 Journal

Formal Methods in System Design
Volume 19, Issue 1 , pp 734
 Cover Date
 20010701
 DOI
 10.1023/A:1011276507260
 Print ISSN
 09259856
 Online ISSN
 15728102
 Publisher
 Kluwer Academic Publishers
 Additional Links
 Topics
 Keywords

 model checking
 processor verification
 satisfiability
 bounded model checking
 cone of influence reduction
 Industry Sectors
 Authors

 Edmund Clarke ^{(1)}
 Armin Biere ^{(2)}
 Richard Raimi ^{(3)}
 Yunshan Zhu ^{(3)}
 Author Affiliations

 1. Computer Science Department, CMU, 5000 Forbes Avenue, Pittsburgh, PA, 15213, USA
 2. Institute of Computer Systems, ETH Zürich, 8092, Zürich, Switzerland
 3. TriMedia Technologies, Inc., 801 Capital of Texas Hwy. So., Austin, TX, 78704