Skip to main content

Model Checking and the State Explosion Problem

  • Chapter

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 7682)

Abstract

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.

Keywords

  • 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.

This research was sponsored by the GSRC under contract no. 1041377 (Princeton University), the National Science Foundation under contracts no. CNS0926181 and no. CNS0931985, the Semiconductor Research Corporation under contract no. 2005TJ1366, General Motors under contract no. GMCMUCRLNV301, the Air Force Office of Scientific Research (BAA 2011-01), and the Office of Naval Research under award no. N000141010188.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   49.99
Price excludes VAT (Canada)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Biere, A.: Personal communication

    Google Scholar 

  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)

    CrossRef  Google Scholar 

  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. Bryant, R.E.: Graph-based Algorithms for Boolean Function Manipulation. IEEE Trans. Comput. C-35(8), 677–691 (1986)

    Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  MathSciNet  MATH  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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. 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. 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 2000

    Google Scholar 

  11. Clarke, E.M., Grumberg, O., Long, D.E.: Model Checking and Abstraction. ACM Trans. Program. Lang. Syst. 16(5), 1512–1542 (1994)

    CrossRef  Google Scholar 

  12. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press (1999)

    Google Scholar 

  13. Davis, M., Logemann, G., Loveland, D.W.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)

    CrossRef  MathSciNet  MATH  Google Scholar 

  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. Jussila, T., Biere, A.: Compressing BMC Encodings with QBF. Electr. Notes Theor. Comput. Sci. 174(3), 45–56 (2007)

    CrossRef  MATH  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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. 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. 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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  24. Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math. 5(2), 285–309 (1955)

    CrossRef  MathSciNet  MATH  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Clarke, E.M., Klieber, W., Nováček, M., Zuliani, P. (2012). Model Checking and the State Explosion Problem. In: Meyer, B., Nordio, M. (eds) Tools for Practical Software Verification. LASER 2011. Lecture Notes in Computer Science, vol 7682. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35746-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35746-6_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35745-9

  • Online ISBN: 978-3-642-35746-6

  • eBook Packages: Computer ScienceComputer Science (R0)