Fitness-guided path exploration in dynamic symbolic execution

Tao Xie, Nikolai Tillmann, Jonathan De Halleux, Wolfram Schulte

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Dynamic symbolic execution is a structural testing technique that systematically explores feasible paths of the program under test by running the program with different test inputs to improve code coverage. To address the space-explosion issue in path exploration, we propose a novel approach called Fitnex, a search strategy that uses state-dependent fitness values (computed through a fitness function) to guide path exploration. The fitness function measures how close an already discovered feasible path is to a particular test target (e.g., covering a not-yet-covered branch). Our new fitness-guided search strategy is integrated with other strategies that are effective for exploration problems where the fitness heuristic fails. We implemented the new approach in Pex, an automated structural testing tool developed at Microsoft Research. We evaluated our new approach by comparing it with existing search strategies. The empirical results show that our approach is effective since it consistently achieves high code coverage faster than existing search strategies.

Original languageEnglish (US)
Title of host publicationProceedings of the 2009 IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2009
Pages359-368
Number of pages10
DOIs
StatePublished - Nov 25 2009
Externally publishedYes
Event2009 IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2009 - Lisbon, Portugal
Duration: Jun 29 2009Jul 2 2009

Publication series

NameProceedings of the International Conference on Dependable Systems and Networks

Other

Other2009 IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2009
Country/TerritoryPortugal
CityLisbon
Period6/29/097/2/09

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Fingerprint

Dive into the research topics of 'Fitness-guided path exploration in dynamic symbolic execution'. Together they form a unique fingerprint.

Cite this