Advertisement

Model-Checking

A Tutorial Introduction
  • Markus Müller-Olm
  • David Schmidt
  • Bernhard Steffen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1694)

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.

Keywords

Model Check Modal Logic Transition System Complete Lattice 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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    R. Alur and D. L. Dill, A theory of timed automata. Theoretical Computer Science 126 (1994) 183–235.zbMATHCrossRefMathSciNetGoogle Scholar
  2. 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. 3.
    G. Birkhoff, Lattice Theory, 3d edition. Amer. Math. Soc., 1967.Google Scholar
  4. 4.
    R. Bryant, Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computation, 8(35), 1986.Google Scholar
  5. 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. 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. 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. 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. 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. 10.
    E. Clarke, D. Long, and K. McMillan, Compositional model checking. In Proc. 4th LICS. IEEE Computer Society Press, 1989.Google Scholar
  11. 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.CrossRefGoogle Scholar
  12. 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. 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. 14.
    R. Cleaveland, Pragmatics of Model Checking. Software Tools for Technology Transfer 2(3), 1999.Google Scholar
  15. 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. 16.
    D. van Dalen, Logic and Structure, 3d edition. Springer, Berlin, 1994.zbMATHGoogle Scholar
  17. 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. 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. 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. 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. 21.
    G. Grätzer, General Lattice Theory. Birkhäuser Verlag, 1978.Google Scholar
  22. 22.
    S. Graf and C. Loiseaux, Program Verification using Compositional Abstraction. In Proceedings FASE/TAPSOFT, 1993.Google Scholar
  23. 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.zbMATHCrossRefGoogle Scholar
  24. 24.
    M. C. B. Hennessy and R. Milner, Algebraic laws for nondeterminism and concurrency. Journal of the ACM 32 (1985) 137–161.zbMATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    G. Hughes and M. Cresswell. An Introduction to Modal Logic. Methuen, London, 1972.Google Scholar
  26. 26.
    S. Kleene, Introduction to Metamathematics. D. van Nostrand, Princeton, 1952.zbMATHGoogle Scholar
  27. 27.
    D. Kozen, Results on the propositional mu-calculus, Theoretical Computer Science, 27 (1983) 333–354.zbMATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Kripke, S. A completeness theorem in modal logic. J. Symbolic Logic 24 (1959) 1–14.zbMATHCrossRefMathSciNetGoogle Scholar
  29. 29.
    Kripke, S. Semantical considerations on modal logic. Acta Philosophica Fennica 16 (1953) 83–94.MathSciNetGoogle Scholar
  30. 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. 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.zbMATHCrossRefMathSciNetGoogle Scholar
  32. 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. 33.
    Robin Milner, Communication and Concurrency. Prentice Hall, 1989.Google Scholar
  34. 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. 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.CrossRefGoogle Scholar
  36. 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. 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. 38.
    Special section on timed and hybrid systems, Software Tools for Technology Transfer 1 (1997) 64–153.Google Scholar
  39. 39.
    Special section on model checking, Software Tools for Technology Transfer 2/3 (1999).Google Scholar
  40. 40.
    A. Tarski, A lattice-theoretical fixpoint theorem and its application. Pacific Journal of Mathematics 5 (1955) 285–309.zbMATHMathSciNetGoogle Scholar
  41. 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. 42.
    M. Y. Vardi and P. Wolper, Reasoning about infinite computations. Information and Computation 115 (1994) 1–37.zbMATHCrossRefMathSciNetGoogle Scholar
  43. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Markus Müller-Olm
    • 1
  • David Schmidt
    • 2
  • Bernhard Steffen
    • 1
  1. 1.Department of Computer ScienceDortmund UniversityDortmundGermany
  2. 2.Department of Computing and Information SciencesKansas State UniversityManhattanUSA

Personalised recommendations