Computer-aided verification of coordinating processes: the automata-theoretic approach
Computer-aided verification of coordinating processes: the automata-theoretic approach
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
Bebop: A Symbolic Model Checker for Boolean Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Parameterized Verification of Multithreaded Software Libraries
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
From Asymmetry to Full Symmetry: New Techniques for Symmetry Reduction in Model Checking
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Liveness with (0, 1, infty)-Counter Abstraction
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Race checking by context inference
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Dynamic partial-order reduction for model checking software
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Combining symmetry reduction and under-approximation for symbolic model checking
Formal Methods in System Design
Thorough static analysis of device drivers
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Verification of Boolean programs with unbounded thread creation
Theoretical Computer Science
Model checking concurrent linux device drivers
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Symbolic Context-Bounded Analysis of Multithreaded Java Programs
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Sviss: symbolic verification of symmetric systems
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
SATABS: SAT-Based predicate abstraction for ANSI-C
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Symbolic model checking for asynchronous boolean programs
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
Identification and counter abstraction for full virtual symmetry
CHARME'05 Proceedings of the 13 IFIP WG 10.5 international conference on Correct Hardware Design and Verification Methods
Symmetry reduction for probabilistic model checking using generic representatives
ATVA'06 Proceedings of the 4th international conference on Automated Technology for Verification and Analysis
Context-aware counter abstraction
Formal Methods in System Design
Predicate abstraction and refinement for verifying multi-threaded programs
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symmetry for the analysis of dynamic systems
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Verification of parameterized concurrent programs by modular reasoning about data and control
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model-Checking parameterized concurrent programs using linear interfaces
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Dynamic cutoff detection in parameterized concurrent programs
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
BOOM: taking boolean program model checking one step further
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Attacking the dimensionality problem of parameterized systems via bounded reachability graphs
FSEN'11 Proceedings of the 4th IPM international conference on Fundamentals of Software Engineering
Extreme symmetries in complex distributed systems: the bag-oriented approach
Proceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management
Structural counter abstraction
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Counterexample-guided abstraction refinement for linear programs with arrays
Automated Software Engineering
Hi-index | 0.00 |
The trend towards multi-core computing has made concurrent software an important target of computer-aided verification. Unfortunately, Model Checkers for such software suffer tremendously from combinatorial state space explosion. We show how to apply counter abstraction to real-world concurrent programs to factor out redundancy due to thread replication. The traditional global state representation as a vector of local states is replaced by a vector of thread counters, one per local state. In practice, straightforward implementations of this idea are unfavorably sensitive to the number of local states. We present a novel symbolic exploration algorithm that avoids this problem by carefully scheduling which counters to track at any moment during the search. Our experiments are carried out on Boolean programs, an abstraction promoted by the Slam project. To our knowledge, this marks the first application of counter abstraction to programs with non-trivial local state spaces, and results in the first scalable Model Checker for concurrent Boolean programs.