Skip to main content
Article
Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs
Automated Software Engineering
  • Xin XIA, Zhejiang University
  • Liang GONG, University of California, Berkeley
  • Tien-Duy B. LE, Singapore Management University
  • David LO, Singapore Management University
  • Lingxiao JIANG, Singapore Management University
  • Hongyu ZHANG, Microsoft Research, Beijing, China
Publication Type
Journal Article
Version
acceptedVersion
Publication Date
3-2016
Abstract

Fault localization is useful for reducing debugging effort. Such techniques require test cases with oracles, which can determine whether a program behaves correctly for every test input. Although most fault localization techniques can localize faults relatively accurately even with a small number of test cases, choosing the right test cases and creating oracles for them are not easy. Test oracle creation is expensive because it can take much manual labeling effort (i.e., effort needed to decide whether the test cases pass or fail). Given a number of test cases to be executed, it is challenging to minimize the number of test cases requiring manual labeling and in the meantime achieve good fault localization accuracy. To address this challenge, this paper presents a novel test case selection strategy based on Diversity Maximization Speedup (Dms). Dms orders a set of unlabeled test cases in a way that maximizes the effectiveness of a fault localization technique. Developers are only expected to label a much smaller number of test cases along this ordering to achieve good fault localization results. We evaluate the performance of Dms on 2 different types of programs, single-fault and multi-fault programs. Our experiments with 411 faults from the Software-artifact Infrastructure Repository show (1) that Dms can help existing fault localization techniques to achieve comparable accuracy with on average 67 and 6 % fewer labeled test cases than previously best test case prioritization techniques for single-fault and multi-fault programs, and (2) that given a labeling budget (i.e., a fixed number of labeled test cases), Dms can help existing fault localization techniques reduce their debugging cost (in terms of the amount of code needed to be inspected to locate faults). We conduct hypothesis test and show that the saving of the debugging cost we achieve for the real C programs are statistically significant.

Keywords
  • Fault localization,
  • Test case prioritization,
  • Single-fault program,
  • Multi-fault program
Identifier
10.1007/s10515-014-0165-z
Publisher
Springer Verlag
Creative Commons License
Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International
Comments

Advance online 06/09/2014

Additional URL
http://dx.doi.org/10.1007/s10515-014-0165-z
Citation Information
Xin XIA, Liang GONG, Tien-Duy B. LE, David LO, et al.. "Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs" Automated Software Engineering Vol. 23 Iss. 1 (2016) p. 43 - 75 ISSN: 0928-8910
Available at: http://works.bepress.com/david_lo/240/