Model Checking Techniqes for the Analysis of Reactive Systems

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.

[1]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[2]  Martin Leucker,et al.  Model Checking Games for the Alternation-Free µ-Calculus and Alternating Automata , 1999, LPAR.

[3]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[4]  R. J. Nelson,et al.  Introduction to Automata , 1968 .

[5]  C. Rattray,et al.  Specification and Verification of Concurrent Systems , 1990, Workshops in Computing.

[6]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[7]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[8]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.

[9]  Fausto Giunchiglia,et al.  Improved Automata Generation for Linear Temporal Logic , 1999, CAV.

[10]  Gavin Lowe,et al.  Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR , 1996, Softw. Concepts Tools.

[11]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[12]  Edmund M. Clarke,et al.  Another Look at LTL Model Checking , 1994, CAV.

[13]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[14]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[15]  Moshe Y. Vardi Alternating Automata and Program Verification , 1995, Computer Science Today.

[16]  Stephan Merz,et al.  Rules for Abstraction , 1997, ASIAN.

[17]  Fred Krögr Temporal Logic Of Programs , 1987 .

[18]  Kenneth L. McMillan,et al.  A Compositional Rule for Hardware Design Refinement , 1997, CAV.

[19]  J. R. Büchi On a Decision Method in Restricted Second Order Arithmetic , 1990 .

[20]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[21]  Wolfgang Thomas Complementation of Büchi Automata Revised , 1999, Jewels are Forever.

[22]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

[23]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[24]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[25]  Alain Finkel,et al.  On the verification of broadcast protocols , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[26]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.

[27]  Thomas A. Henzinger,et al.  Alternating-time temporal logic , 1999 .

[28]  Henny B. Sipma,et al.  Deductive Model Checking , 1996, Formal Methods Syst. Des..

[29]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[30]  Antti Valmari A stubborn attack on state explosion , 1992, Formal Methods Syst. Des..

[31]  David E. Muller,et al.  Infinite sequences and finite machines , 1963, SWCT.

[32]  Faron Moller,et al.  Infinite Results , 1996, CONCUR.

[33]  Somesh Jha,et al.  Verification of the Futurebus+ cache coherence protocol , 1993, Formal Methods Syst. Des..

[34]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[35]  Pierre Wolper,et al.  Reasoning About Infinite Computations , 1994, Inf. Comput..

[36]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[37]  Orna Grumberg,et al.  Abstract interpretation of reactive systems , 1997, TOPL.

[38]  Lawrence C. Paulson,et al.  Proving security protocols correct , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[39]  David E. Muller,et al.  Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[40]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[41]  Philippe Schnoebelen,et al.  The Complexity of Propositional Linear Temporal Logics in Simple Cases (Extended Abstract) , 1998, STACS.

[42]  Pierre Wolper,et al.  A partial approach to model checking , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[43]  Natarajan Shankar,et al.  Verifying a self-stabilizing mutual exclusion algorithm , 1998, PROCOMET.

[44]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[45]  Edmund M. Clarke,et al.  Characterizing Correctness Properties of Parallel Programs Using Fixpoints , 1980, ICALP.

[46]  Javier Esparza,et al.  More infinite results , 2001, INFINITY.

[47]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[48]  Antti Valmari,et al.  A stubborn attack on state explosion , 1990, Formal Methods Syst. Des..

[49]  Colin Stirling,et al.  Modal and temporal logics , 1993, LICS 1993.

[50]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[51]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[52]  Wolfgang Thomas,et al.  Languages, Automata, and Logic , 1997, Handbook of Formal Languages.

[53]  S. Safra,et al.  On the complexity of omega -automata , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[54]  Orna Kupferman,et al.  Weak alternating automata are not that weak , 1997, Proceedings of the Fifth Israeli Symposium on Theory of Computing and Systems.