A Nested Depth First Search Algorithm for Model Checking with Symmetry Reduction

We present an algorithm for the verification of properties of distributed systems, represented as B?chi automata, which exploits symmetry reduction. The algorithm is developed in the more general context of bisimulation preserving reductions along the lines of Emerson, Jha and Peled. Our algorithm is a modification of the nested depth first search (NDFS) algorithm by Courcoubetis, Yannakakis, Vardi and Wolper. As such, it has the standard advantages (memory and time efficiency) that NDFS shows over the state space exploration algorithms based on maximal strongly connected components in the state space graph. In addition, a nice feature of the presented algorithm is that it works also with multiple (non-canonical) representatives for the symmetry equivalence classes. Also, instead of an abstract counter-example, our algorithm is capable of reproducing a counter-example which exists in the original unreduced state space, which is an important feature for debugging.

[1]  A. Prasad Sistla,et al.  Utilizing symmetry when model-checking under fairness assumptions: an automata-theoretic approach , 1997, TOPL.

[2]  Mihalis Yannakakis,et al.  On nested depth first search , 1996, The Spin Verification System.

[3]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[4]  Somesh Jha,et al.  Exploiting symmetry in temporal logic model checking , 1993, Formal Methods Syst. Des..

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

[6]  Dragan Bosnacki,et al.  Symmetric Spin , 2002, International Journal on Software Tools for Technology Transfer.

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

[8]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[9]  Somesh Jha,et al.  Combining Partial Order and Symmetry Reductions , 1997, TACAS.

[10]  Pierre Wolper,et al.  Reliable Hashing without Collosion Detection , 1993, CAV.

[11]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

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

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

[14]  Radu Iosif,et al.  Symmetry Reduction Criteria for Software Model Checking , 2002, SPIN.

[15]  A. Prasad Sistla,et al.  Symmetry and model checking , 1993, Formal Methods Syst. Des..

[16]  Lars-Åke Fredlund,et al.  Book Review: Design and Validation of Computer Protocols by Gerard J. Holzmann (Prentice Hall, 1991) , 1991, CCRV.

[17]  A. Prasad Sistla,et al.  On-the-Fly Model Checking Under Fairness That Exploits Symmetry , 1997, CAV.