Exploiting symmetry in temporal logic model checking

@article{Clarke1996ExploitingSI,
  title={Exploiting symmetry in temporal logic model checking},
  author={Edmund M. Clarke and Somesh Jha and Reinhard Enders and Thomas Filkorn},
  journal={Formal Methods in System Design},
  year={1996},
  volume={9},
  pages={77-104}
}
In practice, finite state concurrent systems often exhibit considerable symmetry. We investigate techniques for reducing the complexity of temporal logic model checking in the presence of symmetry. In particular, we show that symmetry can frequently be used to reduce the size of the state space that must be explored during model checking. In the past, symmetry has been exploited in computing the set of reachable states of a system when the transition relation is represented explicitly [14, 11… 

Symmetry and Induction in Model Checking

This paper shows how to construct a reduced quotient graph that satisfies the same temporal properties as the original graph and describes several methods for finding an invariant process whose correctness implies the correctness of the system.

Exploiting Symmetry in Linear Time Temporal Logic Model Checking: One Step Beyond

It is proved that model checking can be performed over this quotient structure leading to efficient algorithms, and it is shown here that approaches fail to capture symmetries in the LTL path subformulas.

EXPLOITING SYMMETRY WHEN MODEL-CHECKING SOFTWARE ( EXTENDED

  • Computer Science
  • 2013
A simple theory based on equivalence classes of sequences of transitions for representing asymmetries in a system and a state-space exploration algorithm for exploiting symmetries on transitions which does not rely on explicit encodings of system states are developed.

Exploiting Symmetry When Model-Checking Software (Extended Abstract)

A simple theory based on equivalence classes of sequences of transitions for representing asymmetries in a system and a state-space exploration algorithm for exploiting symmetries on transitions which does not rely on explicit encodings of system states are developed.

SMC: a symmetry-based model checker for verification of safety and liveness properties

The article presents the SMC system, which works in an on-the-fly manner; it constructs the reduced state graph as and when it is needed, and facilitates early termination, speeds up model checking, and reduces memory requirements.

Exploiting Symmetry in the Model Checking of Relational Specifications

It is argued that, while proving properties of designs may be intractable, detecting errors may not be.

Automatic techniques for detecting and exploiting symmetry in model checking

A theoretical framework for symmetry reduction which can be applied to explicit state model checking is presented, and it is shown that the framework can be feasibly implemented as part of a system which is widely used in both industry and academia.

Symmetry reductions for model checking of concurrent dynamic software

  • Radu Iosif
  • Computer Science
    International Journal on Software Tools for Technology Transfer
  • 2004
A framework for concisely defining and evaluating symmetry reductions currently used in software model checking, involving heap objects and processes is presented, and an on-the-fly state space exploration algorithm combining both techniques is presented.

Exploiting Symmetry of Distributed FT Protocols To Ease Model Checking ∗

This work focuses on model checking of distributed fault-tolerant distributed protocols, which comprises an arena with subtle protocol operations and fault semantics, where informal reasoning often leads to errors and computer-aided correctness techniques are desired.

Model Checking

Model checking is applied concurrently with system design, and particularly in its early stages when systems are modelled at a high level of abstraction, because the payoff of finding bugs at that stage is highest whereas the costs are low.
...

References

SHOWING 1-10 OF 21 REFERENCES

Better verification through symmetry

This work provides a proof of the soundness of the new symmetry-based verification algorithm based on a definition of the formal semantics of a simple description language with scalarsets, and leads to an alternative characterization of data independence.

Towards reachability trees for high-level Petri nets

The central idea in the paper is the observation, that HL-nets often possess classes of equivalent markings, and an algorithm which constructs the HL-tree, which is considerably smaller than the corresponding PT-trees (reachability trees for the equivalent PT-nets).

Symmetry and model checking

We show how to exploit symmetry in model checking for concurrent systems containing many identical or isomorphic components. We focus in particular on those composed of many isomorphic processes. In

Dynamic variable reordering for BDD minimization

An efficient heuristic algorithm for dynamically reducing the size of large reduced ordered BDDs by optimally reordering small windows of consecutive variables is presented.

Graph-Based Algorithms for Boolean Function Manipulation

  • R. Bryant
  • Computer Science
    IEEE Transactions on Computers
  • 1986
Experimental results from applying a new data structure for representing Boolean functions and an associated set of manipulation algorithms to problems in logic design verification demonstrate the practicality of this approach.

Verification of the Futurebus+ cache coherence protocol

A hardware description language is used to construct a formal model of the cache coherence protocol described in the IEEE Futurebus+standard, and temporal logic model checking techniques are applied to find errors in the standard.

Polynomial-time algorithm for the orbit problem

This paper shows that the orbit problem for general <i>n</i> is decidable and indeed decidable in polynomial time and applies the algorithm for the orbitproblem in several contexts.

Polynomial-time algorithms for permutation groups

It is demonstrated that the normal closure of a subgroup can be computed in polynomial time, and that this proceaure can be used to test a group for solvability.