Skip to main content
Log in

Model Checking Techniqes for the Analysis of Reactive Systems

  • Published:
Synthese Aims and scope Submit manuscript

Abstract

Model checking is a widely used technique that aids in the designand debugging of reactive systems. This paper gives an overview onthe theory and algorithms used for model checking, with a biastowards automata-theoretic approaches and linear-time temporallogic. We also describe elementary abstraction techniques useful forlarge systems that cannot be directly handled by model checking.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

REFERENCES

  • Alur, R., Henzinger, T. A., and Kupferman, O.: 1997, ‘Alternating-time Temporal Logic’, in 38th IEEE Symposium on Foundations of Computer Science, pp. 100–109.

  • Ben-Ari, M., Halpern, J., and Pnueli, A.: 1983, ‘The Temporal Logic of Branching Time’, Acta Informatica 20, 207–226.

    Google Scholar 

  • Bernholtz, O., Vardi, M., and Wolper, P.: 1994, ‘An Automata-Theoretic Approach to Branching-Time Model Checking’, in D. L. Dill (ed.), 6th International Conference on Computer Aided Verification (CAV'94), Stanford, Berlin [Lecture Notes in Computer Science 818], pp. 142–155.

  • Bryant, R. E.: 1986, ‘Graph-based Algorithms for Boolean Function Manipulation’, IEEE Transactions on Computers C-35, 677–691.

    Google Scholar 

  • Büchi, J. R.: 1962, ‘On a Decision Method in Restricted Second-order Arithmetics’, in International Congress on Logic, Method and Philosophy of Science, Stanford, pp. 1–12.

  • Clarke, E. M., Emerson, E. A., and Sistla, A. P.: 1986, ‘Automatic Verification of Finite-state Concurrent Systems Using Temporal Logic Specifications’, ACM Transactions on Programming Languages and Systems 8, pp. 244–263.

    Google Scholar 

  • Clarke, E. M., Grumberg, O., and Hamaguchi, K.: 1994, ‘Another Look at LTL Model Checking’, in D. L. Dill (ed.), 6th International Conference on Computer Aided Verification (CAV'94), Stanford, Berlin [Lecture Notes in Computer Science 818], pp. 415–427.

  • Clarke, E. M., Grumberg, O., Hiraishi, H., Jha, S., Long, D. E., McMillan, K. L., and Ness, L. A.: 1993, ‘Verification of the Futurebus+ Cache Coherence Protocol’, in D. Agnew, L. Claesen and R. Camposano (eds.), IFIP Conference on Computer Hardware Description Languages and their Applications, Ottawa 1993, Amsterdam, pp. 5–20.

  • Clarke, E. M., Grumberg, O., and Long, D. E.: 1996, ‘Model Checking’, in Manfred Broy (ed.), Deductive Program Design, Berlin [NATO ASI Series F-152], pp. 305–350.

  • Courcoubetis, C., Vardi, M., Wolper, P., and Yannakakis, M.: 1992, ‘Memory-efficient Algorithms for the verification of Temporal Properties’, Formal Methods in System Design 1, 275–288.

    Google Scholar 

  • Cousot, P. and Cousot, R,: 1977, ‘Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints’, in 4th ACM Symposium on Principles of Programming Languages, Los Angeles, pp. 238–252.

  • Dams, D., Grumberg, O., and Gerth, R.: 1994, ‘Abstract Interpretation of Reactive Systems: Abstractions Preserving ∀CTL*, ∃CTL*and CTL*’, in Ernst-Rüdiger Olderog (ed.), Programming Concepts, Methods, and Calculi (PROCOMET'94), Amsterdam [IFIP Transactions], pp. 561–581.

  • Daniele, M., Giunchiglia, F., and Vardi, M.: 1999, ‘Improved Automata Generation for Linear Temporal Logic’, in: N. Halbwachs and D. Peled (eds.), Computer Aided Verification (CAV'99), Trento, Italy, Berlin 1999 [Lecture Notes in Computer Science 1633], pp. 249–260.

  • Emerson, E. A. and Clarke, E. C.: 1980, ‘Characterizing Correctness Properties of Parallel Programs Using Fixpoints’, in: 7th International Colloquium on Automata, Languages and Programming, Berlin [Lecture Notes in Computer Science 85], pp. 169–181.

  • Emerson, E. A.: 1990, ‘Temporal and Modal Logic’, in Jan van Leeuwen (ed.), Formal Models and Semantics, Handbook of Theoretical Computer Science, Volume B, Amsterdam, pp. 997–1071.

  • Esparza, J.: 1996, ‘More Infinite Results’, in 1st International Workshop on the Verification of Infinite State Systems, Pisa, Italy, Electronic Notes in Theoretical Computer Science 5.

  • Esparza, J., Finkel, A., and Mayr, R.: 1999, ‘On the Verification of Broadcast Protocols’, in G. Longo (ed.), 14th IEEE Symposium on Logic in Computer Science, Trento, Italy, Washington, 1999, pp. 352–359.

  • Gerth, R., Peled, D., Vardi, M., and Wolper, P.: 1995, ‘Simple on-the-fly Automatic Verification of Linear Temporal Logic’, in Protocol Specification, Testing, and Verification, Warsaw, Poland, London, 1995, pp. 3–18.

  • Godefroid, P. and Wolper, P.: 1994, ‘A Partial Approach to Model Checking’, Information and Computation 110, 305–326.

    Google Scholar 

  • Holzmann, G.: 1991, Design and Validation of Computer Protocols, Englewood Cliffs, NJ.

  • Holzmann, G. and Peled, D.: 1994, ‘An Improvement in Formal Verification’, in IFIP WG 6.1 Conference on Formal Description Techniques, Bern, Switzerland, London 1994, pp. 197-214.

  • Hopcroft, J. E. and Ullman, J. D.: 1979, Introduction to Automata Theory, Languages, and Computation, Reading, MA.

  • Klarlund, N., Klarlund, M., and Klarlund F.: 1997, ‘The Logic-Automaton Connection in Practice’, in: M. Nielsen and W. Thomas (eds.), Computer Science Logic, CSL’ 97, Berlin [Lecture Notes in Computer Science 1414], pp. 311–326.

  • Kozen, D.: 1983, Results on the Propositional mu-calculus’, Theoretical Computer Science 27, 333–354.

    Google Scholar 

  • Kröger, F.: 1987 Temporal Logic of Programs, Berlin [EATCS Monographs on Theoretical Computer Science 8].

  • Kupferman, O. and Vardi, M. Y.: 1997, ‘Weak Alternating Automata Are Not so Weak’, in 5th Israeli Symposium on Theory of Computing and Systems, Ramat Gan pp.147–158.

  • Lamport, L.: 1983, ‘What Good is Temporal Logic?’, in: R. E. A. Mason (ed.), Information Processing 83: Proceedings of the IFIP 9th World Congress, Amsterdam, pp. 657–668.

  • Leucker, M.: 1999, ‘Model Checking Games for the Alternation Free mu-Calculus and Alternating Automata’, in A. Voronkov (ed.), 6th International Conference on Logic for Programming and Automated Reasoning (LPAR'99), Berlin [Lecture Notes in Computer Science 1705], pp. 77–91.

  • Lichtenstein, O., Pnueli, A., and Zuck, L.: 1985, ‘The Glory of the Past’, in R. Parikh (ed.), Logics of Programs, Berlin [Lecture Notes in Computer Science 193], pp. 196–218.

  • Lowe, G.: 1996, ‘Breaking and Fixing the Needham—Schroeder Public Key Protocol Using FDR’, in T. Margaria and B. Steffen (eds.), Tools and Algorithms for the Construction and Analysis of Systems (TACAS'96), Berlin [Lecture Notes in Computer Science 1055], pp. 147–166.

  • Manna, Z. and Pnueli, A.: 1992, The Temporal Logic of Reactive and Concurrent Systems — Specification, NewYork.

  • McMillan, K. L.: 1993, Symbolic Model Checking, Dordrecht.

  • McMillan, K. L.: 1997, ‘A compositional Rule for Hardware Design Refinement’, in O. Grumberg (ed.), 9th International Conference on Computer Aided Verification (CAV'97), Berlin [Lecture Notes in Computer Science 1254], pp. 24–35.

  • Merz, S.: 1997, ‘Rules for Abstraction’, in R. K. Shyamasundar and K. Ueda (eds.), Advances in Computing Science — ASIAN’97, Kathmandu, Nepal 1997, Berlin [Lecture Notes in Computer Science 1345], pp. 32–45.

  • Merz, S.: 1998, ‘On the Verification of a Self-stabilizing Algorithm, typed notes 1998 available at:http://www.pst.informatik.uni-muenchen.de/~merz/papers/dijkstra.ps.gz

  • Moller, F.: 1996, ‘Infinite Results’, in: U. Montanari and V. Sassone (eds.), 7th International Conference on Concurrency Theory (CONCUR'96), Pisa, Italy, Berlin 1996 [Lecture Notes in Computer Science 1119], pp. 195–216.

  • Muller, D. E.: 1963, ‘Infinite Sequences and Finite Machines’, in 4th Annual Symposium on Switching Circuit Theory and Logical Design, New York, pp. 3–16.

  • Muller, D. E., Saoudi, A., and Schupp, P. E.: 1988, ‘Weak Alternating Automata Give a Simple Explanation of Why Most Temporal and dynamic Logics are Decidable in Exponential Time’, in 3rd IEEE Symposium on Logic in Computer Science, pp. 422–427.

  • Paulson, L. C.: 1994, Isabelle: A Generic Theorem Prover, Berlin [Lecture Notes in Computer Science 828].

  • Paulson, L. C.: 1999, ‘Proving Security Protocols Correct’, in G. Longo (ed.), 14th IEEE Symposium on Logic in Computer Science, Trento, Italy, Washington 1999, pp. 370–383.

  • Penczek, W., Gerth, R., and Kuiper, R.: 1999, ‘Partial Order Reductions Preserving Simulations’, to appear.

  • Pnueli, A.: 1977, ‘The Temporal Logic of Programs’, in Proceedings of the 18th Annual Symposium on the Foundations of Computer Science, pp. 46–57.

  • Qadeer, S. and Shankar, N.: 1998, ‘Verifying a Self-stabilizing Mutual Exclusion Algorithm’, in D. Gries and W.-P. de Roever (eds.), Programming Concepts and Methods, Shelter Island, NY, pp. 424–443.

  • Queille, J. P. and Sifakis, J.: 1981, ‘Specification and Verification of Concurrent Systems in Cesar’, in 5th International Symposium on Programming, Berlin [Lecture Notes in Computer Science 137], pp. 337–351.

  • Safra, S.: 1988, ‘On the Complexity of ω-automata’, in 29th IEEE Symposium on Foundations of Computer Science, pp. 319–327.

  • Sipma, H. B., Uribe, T. E., and Manna, Z.: 1996, ‘Deductive Model Checking’, in R. Alur and T. Henzinger (eds.), 8th International Conference on Computer-Aided Verification, Berlin [Lecture Notes in Computer Science 1102], pp. 208–219.

  • Sistla, A, P. and Clarke, E. M.: 1985, ‘The Complexity of Propositional Linear Temporal Logic’, Journal of the ACM 32, 733–749.

    Google Scholar 

  • Stirling, C.: 1992, ‘Modal and Temporal Logics’, in S. Abramsky, D. Gabbay and T. Maibaum (eds.), Handbook of Logic in Computer Science, Oxford, pp. 477–563.

  • Thomas, W.: 1990, ‘Automata on Infinite Objects’, in Jan van Leeuwen (ed.), Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics,Amsterdam, pp. 133–194.

  • Thomas, W.: 1997, ‘Languages, Automata, and Logic’, in G. Rozenberg and A. Salomaa (eds.), Handbook of Formal Language Theory, Volume III, Berlin, pp. 389–455.

  • Thomas, W.: 2000, ‘Complementation of Büchi Automata Revisited’, in J. Karhumäki et al. (eds), Jewels are Forever, Contributions on Theoretical Computer Science in Honor of Arto Salomaa, Berlin, pp. 109–122.

  • Valmari, A.: 1990, ‘A Stubborn Attack on State Explosion’, in 2nd International Workshop on Computer Aided Verification, Berlin [Lecture Notes in Computer Science 531], pp. 156–165.

  • Vardi, M. Y.: 1995, ‘Alternating Automata and Program Verification’, in Jan van Leeuwen (ed.), Computer Science Today, Berlin [Lecture Notes in Computer Science 1000], pp. 471–485.

  • Vardi, M. Y. and Wolper, P.: 1994, ‘Reasoning about Infinite Computations’, Information and Computation 115, 1–37.

    Google Scholar 

  • Wolper, P.: 1983, ‘Temporal Logic Can be More Expressive’, Information and Control 56, 72–93.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Merz, S. Model Checking Techniqes for the Analysis of Reactive Systems. Synthese 133, 173–201 (2002). https://doi.org/10.1023/A:1020887910943

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1020887910943

Keywords

Navigation