Symmetry Reduction Criteria for Software Model Checking

Symmetry reduction techniques exploit symmetries that occur during the execution of a system, in order to minimize its state space for efficient verification of temporal logic properties. This paper presents a framework for concisely defining and evaluating two symmetry reductions currently used in software model checking, involving heap objects and, respectively, processes. An on-the-fly state space exploration algorithm combining both techniques is also presented. Second, the relation between symmetry and partial order reductions is investigated, showing how one's strengths can be used to compensate for the other's weaknesses. The symmetry reductions presented here were implemented in the dSPIN model checking tool. We performed a number of experiments that show significant progress in reducing the cost of finite state software verification.

[1]  Courcoubetis M. Vardi P. Wolper M. Yannakakis Memory-E cient Algorithms for theVeri cationof Temporal PropertiesC , 1992 .

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

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

[4]  Dragan Bosnacki,et al.  A Heuristic for Symmetry Reductions with Scalarsets , 2001, FME.

[5]  Patrice Godefroid,et al.  Exploiting Symmetry when Model-Checking Software , 1999, FORTE.

[6]  Radu Iosif Exploiting heap symmetries in explicit-state model checking of software , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[7]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

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

[9]  Stephan Merz,et al.  Model Checking , 2000 .

[10]  Rudolf Bayer,et al.  Concurrency of operations on B-trees , 1994, Acta Informatica.

[11]  Wojciech Penczek,et al.  A partial order approach to branching time logic model checking , 1995, Proceedings Third Israel Symposium on the Theory of Computing and Systems.

[12]  Willem Visser,et al.  Addressing dynamic issues of program model checking , 2001, SPIN '01.

[13]  Radu Iosif,et al.  Using Garbage Collection in Model Checking , 2000, SPIN.

[14]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

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

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

[17]  D. Bosnacki Enhancing state space reduction techniques for model checking , 2001 .

[18]  L. C.NorrisIpDavid,et al.  Better Veri cation Through Symmetry , 1996 .

[19]  A. Prasad Sistla,et al.  On-the-Fly Model Checking Under Fairness that Exploits Symmetry , 1999, Formal Methods Syst. Des..

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

[21]  Doron A. Peled,et al.  All from One, One for All: on Model Checking Using Representatives , 1993, CAV.

[22]  Claudio Demartini,et al.  dSPIN: A Dynamic Extension of SPIN , 1999, SPIN.

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

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

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