Volume 43, Issue 9 pp. 1121-1142
Special Issue Paper

On the use of mutations and testing for debugging

Mihai Nica

Mihai Nica

Institute for Software Technology, Graz University of Technology, Inffeldgasse 16b/II, 8010 Graz, Austria

Search for more papers by this author
Simona Nica

Simona Nica

Institute for Software Technology, Graz University of Technology, Inffeldgasse 16b/II, 8010 Graz, Austria

Search for more papers by this author
Franz Wotawa

Corresponding Author

Franz Wotawa

Institute for Software Technology, Graz University of Technology, Inffeldgasse 16b/II, 8010 Graz, Austria

Correspondence to: Franz Wotawa, Institute for Software Technology, Graz University of Technology, Inffeldgasse 16b/II, 8010 Graz, Austria.

E-mail: [email protected]

Search for more papers by this author
First published: 16 February 2012
Citations: 13

SUMMARY

Tools for automated fault localization usually generate too many bug candidates depending on the underlying technique. Hence, more information is required in order to further restrict the number of bug candidates. Approaches that rely on specific knowledge of the program to be debugged, such as variable values at specific positions in the source code, are not easily accessible for users especially in the case of software maintenance. In order to avoid this problem, we suggest integrating testing to restrict the number of bug candidates. In particular, we propose computing possible corrections of the program and from this distinguishing test cases. A distinguishing test case is a test that reveals different output values for two program variants given the same input values. Besides the formal definitions and algorithms, we extend the first empirical results of our approach in this paper. The obtained empirical results show that the use of mutations and distinguishing test cases reduces the number of bug candidates by more than 90% on average. Copyright © 2012 John Wiley & Sons, Ltd.

The full text of this article hosted at iucr.org is unavailable due to technical difficulties.