Skip to main content

Model-Checking

A Tutorial Introduction

  • Conference paper
  • First Online:
Static Analysis (SAS 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1694))

Included in the following conference series:

Abstract

In the past two decades, model-checking has emerged as a promising and powerful approach to fully automatic verification of hardware systems. But model checking technology can be usefully applied to other application areas, and this article provides fundamentals that a practitioner can use to translate verification problems into model-checking questions. A taxonomy of the notions of “model,” “property,” and “model checking” are presented, and three standard model-checking approaches are described and applied to examples.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Alur and D. L. Dill, A theory of timed automata. Theoretical Computer Science 126 (1994) 183–235.

    Article  MATH  MathSciNet  Google Scholar 

  2. H. Andersen, C. Stirling, and G. Winskel, A compositional proof system for the modal mu-calculus. In Proc. 9th LICS. IEEE Computer Society Press, 1994.

    Google Scholar 

  3. G. Birkhoff, Lattice Theory, 3d edition. Amer. Math. Soc., 1967.

    Google Scholar 

  4. R. Bryant, Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computation, 8(35), 1986.

    Google Scholar 

  5. R. Bull and K. Segerberg, Basic Modal Logic. In Handbook of Philosophical Logic, Vol. 2, D. Gabbay and F. Guenther, eds., Kluwer, Dortdrecht, 1994, pp. 1–88.

    Google Scholar 

  6. J. Burch, E. Clarke, K. McMillan, D. Dill, and L. Hwang, Symbolic model checking: 1020 states and beyond. In Proc. 5th LICS. IEEE Computer Society Press, 1990.

    Google Scholar 

  7. O. Burkart, D. Caucal, F. Moller, and B. Steffen, Verification on infinite structures. In Handbook of Process algebra, Jan Bergstra, Alban Ponse, and Scott Smolka, eds., Elsevier, to appear.

    Google Scholar 

  8. O. Burkart and J. Esparza, More infinite results. Electronic Notes in Theoretical Computer Science 6 (1997). URL: http://www.elsevier.nl/locate/entcs/volume6.html.

  9. K. Čerāns, J.C. Godesken, and K.G. Larsen, Timed modal specification–theory and tools. In Computer Aided Verification (CAV’93), C. Courcoubetis, ed., Lecture Notes in Computer Science 697, Springer, 1993, pp. 253–267.

    Google Scholar 

  10. E. Clarke, D. Long, and K. McMillan, Compositional model checking. In Proc. 4th LICS. IEEE Computer Society Press, 1989.

    Google Scholar 

  11. E. M. Clarke, E. A. Emerson, and A. P. Sistla, Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems 8 (1996) 244–263.

    Article  Google Scholar 

  12. E. M. Clarke, O. Grumberg, and D. Long, Verification tools for finite-state concurrent systems. In A Decade of Concurrency: Reflections and Perspectives, J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, eds., Lecture Notes in Computer Science 803, Springer, 1993, pp. 124–175.

    Google Scholar 

  13. R. Cleaveland, M. Klein, and B. Steffen, Faster model checking for the modal mu-calculus. In Computer Aided Verification (CAV’92), G. v. Bochmann and D. K. Probst, eds., Lecture Notes in Computer Science 663, 1992, pp. 410–422.

    Google Scholar 

  14. R. Cleaveland, Pragmatics of Model Checking. Software Tools for Technology Transfer 2(3), 1999.

    Google Scholar 

  15. P. Cousot and R. Cousot, Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings 4th POPL, Los Angeles, California, January 1977.

    Google Scholar 

  16. D. van Dalen, Logic and Structure, 3d edition. Springer, Berlin, 1994.

    MATH  Google Scholar 

  17. E. A. Emerson, Temporal and modal logic. In Handbook of Theoretical Computer Science, Vol B. J. van Leeuwen, ed., Elsevier Science Publishers B.V., 1990, pp. 995–1072.

    Google Scholar 

  18. R. Enders, T. Filkorn, and D. Taubner, Generating BDDs for symbolic model checking in CCS. In Computer Aided Verification (CAV’91), K. G. Larsen and A. Skou, eds., Lecture Notes in Computer Science 575, Springer, pp. 203–213.

    Google Scholar 

  19. P. Godefroid and P. Wolper, Using partial orders for the efficient verification of deadlock freedom and safety properties. n Computer Aided Verification (CAV’91), K. G. Larsen and A. Skou, eds., Lecture Notes in Computer Science 575, Springer, pp. 332–342.

    Google Scholar 

  20. P. Godefroid and D. Pirottin, Refining dependencies improves partial-order verification methods. In Computer Aided Verification (CAV’93), C. Courcoubetis, ed., Lecture Notes in Computer Science 697, Springer pp. 438–449.

    Google Scholar 

  21. G. Grätzer, General Lattice Theory. Birkhäuser Verlag, 1978.

    Google Scholar 

  22. S. Graf and C. Loiseaux, Program Verification using Compositional Abstraction. In Proceedings FASE/TAPSOFT, 1993.

    Google Scholar 

  23. S. Graf, B. Steffen, and G. Lüttgen, Compositional minimization of finite state systems using interface specifications. Formal Aspects of Computing, 8:607–616, 1996.

    Article  MATH  Google Scholar 

  24. M. C. B. Hennessy and R. Milner, Algebraic laws for nondeterminism and concurrency. Journal of the ACM 32 (1985) 137–161.

    Article  MATH  MathSciNet  Google Scholar 

  25. G. Hughes and M. Cresswell. An Introduction to Modal Logic. Methuen, London, 1972.

    Google Scholar 

  26. S. Kleene, Introduction to Metamathematics. D. van Nostrand, Princeton, 1952.

    MATH  Google Scholar 

  27. D. Kozen, Results on the propositional mu-calculus, Theoretical Computer Science, 27 (1983) 333–354.

    Article  MATH  MathSciNet  Google Scholar 

  28. Kripke, S. A completeness theorem in modal logic. J. Symbolic Logic 24 (1959) 1–14.

    Article  MATH  MathSciNet  Google Scholar 

  29. Kripke, S. Semantical considerations on modal logic. Acta Philosophica Fennica 16 (1953) 83–94.

    MathSciNet  Google Scholar 

  30. K. G. Larsen, B. Steffen, and C. Weise. A constraint oriented proof methodology based on modal transition systems. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS’95), E. Brinksma, W. R. Cleaveland, K. G. Larsen, T. Margaria, and B. Steffen, eds, Lecture Notes of Computer Science 1019, Springer, pp. 17–40.

    Google Scholar 

  31. J.-L. Lassez, V. L. Nguyen, and E. A. Sonenberg, Fixed point theorems and semantics: A folk tale. Information Processing Letters 14 (1982) 112–116.

    Article  MATH  MathSciNet  Google Scholar 

  32. D. E. Long, A. Browne, E. M. Clarke, S. Jha, and W. R. Marrero, An improved algorithm for the evaluation of fixpoint expressions. In Computer Aided Verification (CAV’94), David L. Dill, ed., Lecture Notes in Computer Science 818, Springer pp. 338–349.

    Google Scholar 

  33. Robin Milner, Communication and Concurrency. Prentice Hall, 1989.

    Google Scholar 

  34. J. P. Queille and J. Sifakis, Specification and verification of concurrent systems in CESAR. In Proc. 5th Internat. Symp. on Programming, M. Dezani-Ciancaglini and U. Montanari, eds., Lecture Notes in Computer Science 137, Springer, 1982.

    Google Scholar 

  35. D. Schmidt and B. Steffen, Program analysis as model checking of abstract interpretations. In Static Analysis (SAS’98), Giorgio Levi, ed., Lecture Notes in Computer Science 1503, Springer, 1998, 351–380.

    Chapter  Google Scholar 

  36. C. Stirling, Modal and temporal logics. In Handbook of Logic in Computer Science S. Abramsky, Dov M. Gabbay, and T. S. E. Maibaum, eds., Clarendon Press, 1992, pp 477–563.

    Google Scholar 

  37. C. Stirling and D. Walker, Local model checking in the modal mu-calculus, Proc. TAPSOFT’ 89, J. Diaz and F. Orejas, eds., Lecture Notes in Computer Science 351, Springer, 1989, pp. 369–383.

    Google Scholar 

  38. Special section on timed and hybrid systems, Software Tools for Technology Transfer 1 (1997) 64–153.

    Google Scholar 

  39. Special section on model checking, Software Tools for Technology Transfer 2/3 (1999).

    Google Scholar 

  40. A. Tarski, A lattice-theoretical fixpoint theorem and its application. Pacific Journal of Mathematics 5 (1955) 285–309.

    MATH  MathSciNet  Google Scholar 

  41. W. Thomas, Automata on infinite objects. In Handbook of Theoretical Computer Science, Vol B. J. van Leeuwen, ed., Elsevier Science Publishers B.V., 1990, pp. 133–191.

    Google Scholar 

  42. M. Y. Vardi and P. Wolper, Reasoning about infinite computations. Information and Computation 115 (1994) 1–37.

    Article  MATH  MathSciNet  Google Scholar 

  43. A. Valmari, On-the-fly verification with stubborn sets. In Computer Aided Verification (CAV’93), C. Courcoubetis, ed., Lecture Notes in Computer Science 697, Springer, pp. 397–408.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Müller-Olm, M., Schmidt, D., Steffen, B. (1999). Model-Checking. In: Cortesi, A., Filé, G. (eds) Static Analysis. SAS 1999. Lecture Notes in Computer Science, vol 1694. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48294-6_22

Download citation

  • DOI: https://doi.org/10.1007/3-540-48294-6_22

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66459-8

  • Online ISBN: 978-3-540-48294-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics