Automated oracle creation support, or: How I learned to stop worrying about fault propagation and love mutation testing

Matt Staats, Gregory Gay, Mats Heimdahl

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

54 Scopus citations

Abstract

In testing, the test oracle is the artifact that determines whether an application under test executes correctly. The choice of test oracle can significantly impact the effectiveness of the testing process. However, despite the prevalence of tools that support the selection of test inputs, little work exists for supporting oracle creation. In this work, we propose a method of supporting test oracle creation. This method automatically selects the oracle data - the set of variables monitored during testing - for expected value test oracles. This approach is based on the use of mutation analysis to rank variables in terms of fault-finding effectiveness, thus automating the selection of the oracle data. Experiments over four industrial examples demonstrate that our method may be a cost-effective approach for producing small, effective oracle data, with fault finding improvements over current industrial best practice of up to 145.8% observed.

Original languageEnglish (US)
Title of host publicationProceedings - 34th International Conference on Software Engineering, ICSE 2012
Pages870-880
Number of pages11
DOIs
StatePublished - 2012
Event34th International Conference on Software Engineering, ICSE 2012 - Zurich, Switzerland
Duration: Jun 2 2012Jun 9 2012

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Other

Other34th International Conference on Software Engineering, ICSE 2012
Country/TerritorySwitzerland
CityZurich
Period6/2/126/9/12

Keywords

  • oracle data
  • oracle selection
  • test oracles
  • testing
  • verification

Fingerprint

Dive into the research topics of 'Automated oracle creation support, or: How I learned to stop worrying about fault propagation and love mutation testing'. Together they form a unique fingerprint.

Cite this