Finding safety errors with ACO
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Information Processing Letters
Searching for liveness property violations in concurrent systems with ACO
Proceedings of the 10th annual conference on Genetic and evolutionary computation
Finding deadlocks in large concurrent java programs using genetic algorithms
Proceedings of the 10th annual conference on Genetic and evolutionary computation
Automated Creation of Pattern Database Search Heuristics
Model Checking and Artificial Intelligence
Resource-Aware Verification Using Randomized Exploration of Large State Spaces
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Improving Trust in Composite eServices Via Run-Time Participants Testing
EGOV '08 Proceedings of the 7th international conference on Electronic Government
A UML/SPT Model Analysis Methodology for Concurrent Systems Based on Genetic Algorithms
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Ant colony optimization for model checking
EUROCAST'07 Proceedings of the 11th international conference on Computer aided systems theory
Statically-directed dynamic automated test generation
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Finding short counterexamples in promela models using estimation of distribution algorithms
Proceedings of the 13th annual conference on Genetic and evolutionary computation
Comparing metaheuristic algorithms for error detection in java programs
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
High-coverage symbolic patch testing
SPIN'12 Proceedings of the 19th international conference on Model Checking Software
Testing of concurrent programs using genetic algorithms
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Hi-index | 0.00 |
We present a novel framework for exploring very large state spaces of concurrent reactive systems. Our framework exploits application-independent heuristics using genetic algorithms to guide a state-space search toward error states. We have implemented this framework in conjunction with VeriSoft, a tool for exploring the state spaces of software applications composed of several concurrent processes executing arbitrary code. We present experimental results obtained with several examples of programs, including a C implementation of a public-key authentication protocol. We discuss heuristics and properties of state spaces that help a genetic search detect deadlocks and assertion violations. For finding errors in very large state spaces, our experiments show that a genetic search using simple heuristics can significantly outperform random and systematic searches.