Title :
Searching for Safety Violations Using Estimation of Distribution Algorithms
Author :
Staunton, Jan ; Clark, John A.
Author_Institution :
Dept. of Comput. Sci., Univ. of York, York, UK
Abstract :
Using aspects of model checking to analyse multi- threaded software is a promising method for finding common concurrent errors such as deadlock. Traditional model checking tools exhaustively search the state space of a concurrent system in order to find faults. Unfortunately, model checking suffers from the state space explosion problem, limiting the applicability of the approach to commercial software. Metaheuristic search mechanisms have been used in an attempt to overcome this issue with good results. Techniques such as Genetic Algorithms (GAs) and Estimation of Distribution Algorithms (EDAs) focus the search of the state space on areas that are more likely to contain errors. In this work, a novel EDA-based approach to exploring the state space of a model is outlined. Experiments are performed on an implementation using the Java PathFinder (JPF) model checker and the ECJ toolkit. The EDA-based approach is shown to perform well against standard search procedures such as depth-first search, whilst also outperforming random search on a benchmark problem. On larger problems, the EDA is shown to be the only effective technique of those compared.
Keywords :
Java; concurrency control; formal verification; genetic algorithms; multi-threading; tree searching; Java PathFinder model checker; concurrent errors; deadlock error; depth-first search; distribution algorithms; genetic algorithms; model checking; multi-threaded software; safety violation search; deadlock; estimation of distribution algorithms; model checking; sbse; verification;
Conference_Titel :
Software Testing, Verification, and Validation Workshops (ICSTW), 2010 Third International Conference on
Conference_Location :
Paris
Print_ISBN :
978-1-4244-6773-0
DOI :
10.1109/ICSTW.2010.24