Exploring very large state spaces using genetic algorithms

  • Authors:
  • Patrice Godefroid;Sarfraz Khurshid

  • Affiliations:
  • Bell Laboratories, Lucent Technologies, Lisle, IL, USA;Massachusetts Institute of Technology, Laboratory for Computer Science, Cambridge, MA, USA

  • Venue:
  • International Journal on Software Tools for Technology Transfer (STTT) - Special section on tools and algorithms for the construction and analysis of systems
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.