Declarative programming for verification: lessons and outlook
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
The High Road to Formal Validation
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
TFM '09 Proceedings of the 2nd International Conference on Teaching Formal Methods
A Lazy Unbounded Model Checker for Event-B
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Proof Assisted Model Checking for B
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Efficient approximate verification of B and Z models via symmetry markers
Annals of Mathematics and Artificial Intelligence
A refinement-based correctness proof of symmetry reduced model checking
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
Validation of formal models by refinement animation
Science of Computer Programming
State space c-reductions of concurrent systems in rewriting logic
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Hi-index | 0.00 |
Symmetry reduction holds great promise to counter the state explosion problem. However, currently it is "conducting a life on the fringe", and is not widely applied, mainly due to the restricted applicability of many of the techniques. In this paper we propose a symmetry reduction technique applied to high-level formal specification languages (B and Z). Not only does symmetry arise naturally in most models, it can also be exploited without restriction by our method. This method translates states of a formal model into directed graphs, and then uses graph canonicalisation to detect symmetries. We use the tool NAUTY to efficiently perform graph canonicalisation, which we have interfaced with the model checker PRO_B. In this paper we present the general technique, show how states can be translated first into vertex-coloured graphs suitable for NAUTY. We present empirical results, showing the effectiveness of our method as well as analysing the cost of graph canonicalisation.