Combining Symmetry Reduction and Under-Approximation for Symbolic Model Checking

This work presents a collection of methods that integrate symmetryreduction and under-approximation with symbolic model checking in order to reduce space and time. The main objective of these methods is falsification. However, under certain conditions, they can provide verification as well.We first present algorithms that use symmetry reduction to perform on-the-fly model checking for temporal safety properties. These algorithms avoid building the orbit relation and choose representatives on-the-fly while computing the reachable states. We then extend these algorithms to check liveness properties as well. In addition, we introduce an iterative on-the-fly algorithm that builds subsets of the orbit relation rather than the full relation.Our methods are fully automatic once the user supplies some basic information about the symmetry in the verified system. Moreover, the methods are robust and work correctly even if the information supplied by the user is incorrect. Furthermore, the methods return correct results even when the computation of the symmetry reduction has not been completed due to memory or time explosion.We implemented our methods within the IBM model checker Rule-Base and compared their performance to that of RuleBase. In most cases, our algorithms outperformed RuleBase in both time and space.

[1]  David L. Dill,et al.  Validation with guided search of the state space , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

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

[3]  Edmund M. Clarke,et al.  Another Look at LTL Model Checking , 1994, Formal Methods Syst. Des..

[4]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[5]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

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

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

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

[9]  Ilan Beer,et al.  On-the-Fly Model Checking of RCTL Formulas , 1998, CAV.

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

[11]  Moshe Y. Vardi,et al.  Prioritized Traversal: Efficient Reachability Analysis for Verification and Falsification , 2000, CAV.

[12]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[13]  Ilan Beer,et al.  RuleBase: an industry-oriented formal verification tool , 1996, DAC '96.

[14]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

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

[16]  Somesh Jha,et al.  Symmetry and Induction in Model Checking , 1995, Computer Science Today.

[17]  F. Somenzi,et al.  High-density reachability analysis , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[18]  Ilan Beer,et al.  Efficient Model Checking by Automated Ordering of Transition Relation Partitions , 1994, CAV.

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

[20]  W.M. vanCleemput,et al.  Computer hardware description languages and their applications , 1979, 16th Design Automation Conference.

[21]  Bowen Alpern,et al.  Verifying Temporal Properties without using Temporal Logic , 2001 .

[22]  A. Prasad Sistla,et al.  SMC: a symmetry-based model checker for verification of safety and liveness properties , 2000, TSEM.

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

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

[25]  E. Allen Emerson,et al.  From Asymmetry to Full Symmetry: New Techniques for Symmetry Reduction in Model Checking , 1999, CHARME.

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

[27]  Kavita Ravi,et al.  Symbolic guided search for CTL model checking , 2000, Proceedings 37th Design Automation Conference.

[28]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

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