Model Checking and the State Explosion Problem

  • Edmund M. Clarke
  • William Klieber
  • Miloš Nováček
  • Paolo Zuliani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7682)


Model checking is an automatic verification technique for hardware and software systems that are finite state or have finite state abstractions. It has been used successfully to verify computer hardware, and it is beginning to be used to verify computer software as well. As the number of state variables in the system increases, the size of the system state space grows exponentially. This is called the “state explosion problem”. Much of the research in model checking over the past 30 years has involved developing techniques for dealing with this problem. In these lecture notes, we will explain how the basic model checking algorithms work and describe some recent approaches to the state explosion problem, with an emphasis on Bounded Model Checking.


Model Check Boolean Function Linear Temporal Logic Conjunctive Normal Form Atomic Proposition 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Biere, A.: Personal communicationGoogle Scholar
  2. 2.
    Biere, A., Clarke, E., Raimi, R., Zhu, Y.: Verifying Safety Properties of a PowerPCTM Microprocessor Using Symbolic Model Checking without BDDs. In: Halbwachs, N., Peled, D. (eds.) CAV 1999. LNCS, vol. 1633, pp. 60–71. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Biere, A., Heljanko, K., Junttila, T.A., Latvala, T., Schuppan, V.: Linear Encodings of Bounded LTL Model Checking. Logical Methods in Computer Science 2(5) (2006)Google Scholar
  4. 4.
    Bryant, R.E.: Graph-based Algorithms for Boolean Function Manipulation. IEEE Trans. Comput. C-35(8), 677–691 (1986)Google Scholar
  5. 5.
    Burch, J.R., Clarke, E.M., Long, D.E., McMillan, K.L., Dill, D.L.: Symbolic model checking for sequential circuit verification. IEEE Trans. on CAD of Integrated Circuits and Systems 13(4), 401–424 (1994)CrossRefGoogle Scholar
  6. 6.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic Model Checking: 1020 States and Beyond. Inf. Comput. 98(2), 142–170 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Cimatti, A., Pistore, M., Roveri, M., Sebastiani, R.: Improving the Encoding of LTL Model Checking into SAT. In: Cortesi, A. (ed.) VMCAI 2002. LNCS, vol. 2294, pp. 196–207. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Clarke, E.M., Emerson, E.A.: Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic. In: Engeler, E. (ed.) Logic of Programs. LNCS, vol. 125, pp. 52–71. Springer, Heidelberg (1981)Google Scholar
  9. 9.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic Verification of Finite State Concurrent Systems Using Temporal Logic Specifications: A Practical Approach. In: POPL, pp. 117–126 (1983)Google Scholar
  10. 10.
    Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic Model Checking. J. ACM 50(5), 752–794 (2003); Originally presented at CAV 2000Google Scholar
  11. 11.
    Clarke, E.M., Grumberg, O., Long, D.E.: Model Checking and Abstraction. ACM Trans. Program. Lang. Syst. 16(5), 1512–1542 (1994)CrossRefGoogle Scholar
  12. 12.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press (1999)Google Scholar
  13. 13.
    Davis, M., Logemann, G., Loveland, D.W.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Ganai, M.K., Gupta, A., Ashar, P.: Efficient SAT-based unbounded symbolic Model Checking using circuit cofactoring. In: International Conference on Computer-Aided Design (ICCAD 2004), pp. 510–517 (2004)Google Scholar
  15. 15.
    Jussila, T., Biere, A.: Compressing BMC Encodings with QBF. Electr. Notes Theor. Comput. Sci. 174(3), 45–56 (2007)CrossRefzbMATHGoogle Scholar
  16. 16.
    Latvala, T., Biere, A., Heljanko, K., Junttila, T.: Simple Bounded LTL Model Checking. In: Hu, A.J., Martin, A.K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 186–200. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Latvala, T., Biere, A., Heljanko, K., Junttila, T.A.: Simple Is Better: Efficient Bounded Model Checking for Past LTL. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 380–395. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    McMillan, K.L.: Applying SAT Methods in Unbounded Symbolic Model Checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 250–264. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  19. 19.
    McMillan, K.L.: Interpolation and SAT-Based Model Checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: DAC, pp. 530–535. ACM (2001)Google Scholar
  21. 21.
    Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE Computer Society, Washington, DC (1977)Google Scholar
  22. 22.
    Queille, J.-P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In: Proceedings of the 5th Colloquium on International Symposium on Programming, pp. 337–351. Springer, London (1982)CrossRefGoogle Scholar
  23. 23.
    Sheeran, M., Singh, S., Stålmarck, G.: Checking Safety Properties Using Induction and a SAT-Solver. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 108–125. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  24. 24.
    Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math. 5(2), 285–309 (1955)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Tseitin, G.S.: On the complexity of derivations in the propositional calculus. In: Slisenko, A.O. (ed.) Studies in Constructive Mathematics and Mathematical Logic, Part II (1968)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Edmund M. Clarke
    • 1
  • William Klieber
    • 1
  • Miloš Nováček
    • 2
  • Paolo Zuliani
    • 1
  1. 1.Carnegie Mellon UniversityPittsburghUSA
  2. 2.ETH ZürichZürichSwitzerland

Personalised recommendations