Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Validation with guided search of the state space
DAC '98 Proceedings of the 35th annual Design Automation Conference
Property specification patterns for finite-state verification
FMSP '98 Proceedings of the second workshop on Formal methods in software practice
Directed explicit model checking with HSF-SPIN
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Distributed LTL model-checking in SPIN
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Model checking Java programs using structural heuristics
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Parallelizing the Murphi Verifier
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Concurrent Bug Patterns and How to Test Them
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Parallel search for LTL violations
International Journal on Software Tools for Technology Transfer (STTT) - Special section on parallel and distributed model checking
Enhancing random walk state space exploration
Proceedings of the 10th international workshop on Formal methods for industrial critical systems
A context-sensitive structural heuristic for guided search model checking
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Guided model checking with a Bayesian meta-heuristic
Fundamenta Informaticae - Special issue on application of concurrency to system design (ACSD'04)
CTL* model checking on a shared-memory architecture
Formal Methods in System Design
Controlling factors in evaluating path-sensitive error detection techniques
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
An Improved Distance Heuristic Function for Directed Software Model Checking
FMCAD '06 Proceedings of the Formal Methods in Computer Aided Design
Towards a framework and a benchmark for testing tools for multi-threaded programs: Research Articles
Concurrency and Computation: Practice & Experience - Parallel and Distributed Systems: Testing and Debugging (PADTAD)
Parallel Randomized State-Space Search
ICSE '07 Proceedings of the 29th international conference on Software Engineering
How to Order Vertices for Distributed LTL Model-Checking Based on Accepting Predecessors
Electronic Notes in Theoretical Computer Science (ENTCS)
DiVinE: a tool for distributed verification
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Parallel external directed model checking with linear i/o
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Model checking machine code with the GNU debugger
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
Large-Scale directed model checking LTL
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Complementarity of Error Detection Techniques
Electronic Notes in Theoretical Computer Science (ENTCS)
Guided model checking for programs with polymorphism
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Survey on Directed Model Checking
Model Checking and Artificial Intelligence
A Meta Heuristic for Effectively Detecting Concurrency Errors
HVC '08 Proceedings of the 4th International Haifa Verification Conference on Hardware and Software: Verification and Testing
Clash of the Titans: tools and techniques for hunting bugs in concurrent programs
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Uniform Monte-Carlo model checking
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Randomized backtracking in state space traversal
Proceedings of the 18th international SPIN conference on Model checking software
Hi-index | 0.00 |
Computational resources are increasing rapidly with the explosion of multi-core processors readily available from major vendors. Model checking needs to harness these resources to help make it more effective in practical verification. Directed model checking uses heuristics in a guided search to rank states in order of interest. Randomizing guided search makes it possible to harness computation nodes by running independent searches in parallel in a effort to discover counter-examples to correctness. Initial attempts at adding randomization to guided search have achieved very limited success. In this work, we present a new lowcost randomized guided search technique that shuffles states in the priority queue with equivalent heuristic ties. We show in an empirical study that randomized guided search, overall, decreases the number of states generated before error discovery when compared to a guided search using the same heuristic. To further evaluate the performance gains of randomized guided search using a particular heuristic, we compare it with randomized depth-first search. Randomized depth-first search shuffles transitions and generally improves error discovery over the default transition order implemented by the model checker. In the context of evaluating randomized guided search, a randomized depth-first search provides a lower bound for establishing performance gains in directed model checking. In the empirical study, we show that with the correct heuristic, randomized guided search outperforms randomized depth-first search both in effectively finding counter-examples and generating shorter counterexamples.