Better verification through symmetry
Formal Methods in System Design - Special issue on symmetry in automatic verification
Exploiting symmetry in temporal logic model checking
Formal Methods in System Design - Special issue on symmetry in automatic verification
Formal Methods in System Design - Special issue on symmetry in automatic verification
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Addressing dynamic issues of program model checking
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Solving difficult SAT instances in the presence of symmetry
Proceedings of the 39th annual Design Automation Conference
Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem
Exploiting Symmetry when Model-Checking Software
FORTE XII / PSTV XIX '99 Proceedings of the IFIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE XII) and Protocol Specification, Testing and Verification (PSTV XIX)
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Exploiting Heap Symmetries in Explicit-State Model Checking of Software
Proceedings of the 16th IEEE international conference on Automated software engineering
Exploiting structure in symmetry detection for CNF
Proceedings of the 41st annual Design Automation Conference
Dynamic partial-order reduction for model checking software
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Building a better Boolean matcher and symmetry detector
Proceedings of the conference on Design, automation and test in Europe: Proceedings
Test input generation for java containers using state matching
Proceedings of the 2006 international symposium on Software testing and analysis
Iterative context bounding for systematic testing of multithreaded programs
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Faster symmetry discovery using sparsity of symmetries
Proceedings of the 45th annual Design Automation Conference
Efficient Stateful Dynamic Partial Order Reduction
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Verifying Multi-threaded C Programs with SPIN
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Dynamic Model Checking with Property Driven Pruning to Detect Race Conditions
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Reduced Execution Semantics of MPI: From Theory to Practice
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Counterexample-guided abstraction refinement for symmetric concurrent programs
Formal Methods in System Design
CDSchecker: checking concurrent data structures written with C/C++ atomics
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
While symmetry reduction has been established to be an important technique for reducing the search space in model checking, its application in concurrent software verification is still limited, due to the difficulty of specifying symmetry in realistic software. We propose an algorithm for automatically discovering and applying transition symmetry in multithreaded programs during dynamic model checking. Our main idea is using dynamic program analysis to identify a permutation of variables and labels of the program that entails syntactic equivalence among the residual code of threads and to check whether the local states of threads are equivalent under the permutation. The new transition symmetry discovery algorithm can bring substantial state space savings during dynamic verification of concurrent programs. We have implemented the new algorithm in the dynamic model checker Inspect . Our preliminary experiments show that this algorithm can successfully discover transition symmetries that are hard or otherwise cumbersome to identify manually, and can significantly reduce the model checking time while using Inspect to examine realistic multithreaded applications.