A path-aware approach to mutant reduction in mutation testing

Sun, C, Xue, F, Liu, H and Zhang, X 2016, 'A path-aware approach to mutant reduction in mutation testing', Information and Software Technology, vol. 81, pp. 65-81.


Document type: Journal Article
Collection: Journal Articles

Attached Files
Name Description MIMEType Size
n2006060229.pdf Accepted Manuscript application/pdf 4.39MB
Title A path-aware approach to mutant reduction in mutation testing
Author(s) Sun, C
Xue, F
Liu, H
Zhang, X
Year 2016
Journal name Information and Software Technology
Volume number 81
Start page 65
End page 81
Total pages 17
Publisher Elsevier
Abstract Context: Mutation testing, which systematically generates a set of mutants by seeding various faults into the base program under test, is a popular technique for evaluating the effectiveness of a testing method. However, it normally requires the execution of a large amount of mutants and thus incurs a high cost. Objective: A common way to decrease the cost of mutation testing is mutant reduction, which selects a subset of representative mutants. In this paper, we propose a new mutant reduction approach from the perspective of program structure. Method: Our approach attempts to explore path information of the program under test, and select mutants that are as diverse as possible with respect to the paths they cover. We define two path-aware heuristic rules, namely module-depth and loop-depth rules, and combine them with statement- and operator-based mutation selection to develop four mutant reduction strategies. Results: We evaluated the cost-effectiveness of our mutant reduction strategies against random mutant selection on 11 real-life C programs with varying sizes and sampling ratios. Our empirical studies show that two of our mutant reduction strategies, which primarily rely on the path-aware heuristic rules, are more effective and systematic than pure random mutant selection strategy in terms of selecting more representative mutants. In addition, among all four strategies, the one giving loop-depth the highest priority has the highest effectiveness. Conclusion: In general, our path-aware approach can reduce the number of mutants without jeopardizing its effectiveness, and thus significantly enhance the overall cost-effectiveness of mutation testing. Our approach is particularly useful for the mutation testing on large-scale complex programs that normally involve a huge amount of mutants with diverse fault characteristics.
Subject Software Engineering
Keyword(s) Mutation testing
Selective mutation testing
Control flow
Path depth
DOI - identifier 10.1016/j.infsof.2016.02.006
Copyright notice © 2016 Elsevier B.V. All rights reserved
ISSN 0950-5849
Additional Notes Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Versions
Version Filter Type
Citation counts: TR Web of Science Citation Count  Cited 2 times in Thomson Reuters Web of Science Article | Citations
Scopus Citation Count Cited 2 times in Scopus Article | Citations
Altmetric details:
Access Statistics: 119 Abstract Views, 41 File Downloads  -  Detailed Statistics
Created: Wed, 23 Mar 2016, 08:48:00 EST by Catalyst Administrator
© 2014 RMIT Research Repository • Powered by Fez SoftwareContact us