From Pre-historic to Post-modern Symbolic Model Checking

Symbolic model checking, which enables the automatic verification of large systems, proceeds by calculating with expressions that represent state sets. Traditionally, symbolic model-checking tools arc based on backward state traversal; their basic operation is the function pre, which given a set of states, returns the set of all predecessor states. This is because specifiers usally employ formalisms with future-time modalities. which are naturally evaluated by iterating applications of pre. It has been recently shown experimentally that symbolic model checking can perform significantly better if it is based, instead, on forward state traversal; in this case, the basic operation is the function post, which given a set of states, returns the set of all successor states. This is because forward state traversal can ensure that only those parts of the state space are explored which are reachable from an initial state and relevant for satisfaction or violation of the specification; that is, errors can be detected as soon as possible.

[1]  Doron A. Peled Combining Partial Order Reductions with On-the-fly Model-Checking , 1994, CAV.

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

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

[4]  H. Iwashita,et al.  CTL model checking based on forward state traversal , 1996, ICCAD 1996.

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

[6]  Rance Cleaveland,et al.  Faster Model Checking for the Modal Mu-Calculus , 1992, CAV.

[7]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

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

[9]  Tsuneo Nakata,et al.  Forward model checking techniques oriented to buggy designs , 1997, ICCAD 1997.

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

[11]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[12]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[13]  Edmund M. Clarke,et al.  Characterizing Finite Kripke Structures in Propositional Temporal Logic , 1988, Theor. Comput. Sci..

[14]  Edmund M. Clarke,et al.  Verification Tools for Finite-State Concurrent Systems , 1993, REX School/Symposium.

[15]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

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

[17]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

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

[19]  Orna Grumberg,et al.  How Linear Can Branching-Time Be? , 1994, ICTL.

[20]  Amir Pnueli,et al.  Once and for all [temporal logic] , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[21]  Edmund M. Clarke,et al.  Expressibility results for linear-time and branching-time logics , 1988, REX Workshop.

[22]  Moshe Y. Vardi Reasoning about The Past with Two-Way Automata , 1998, ICALP.

[23]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

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

[25]  David L. Dill,et al.  The Murphi Verification System , 1996, CAV.

[26]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[27]  Orna Kupferman,et al.  Freedom, weakness, and determinism: from linear-time to branching-time , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[28]  Girish Bhat,et al.  Efficient model checking via the equational /spl mu/-calculus , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

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

[30]  Mads Dam CTL* and ECTL* as Fragments of the Modal mu-Calculus , 1994, Theor. Comput. Sci..

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