A theoretical analysis on cloning the failed test cases to improve spectrum-based fault localization

Research output: Journal Publications and Reviews (RGC: 21, 22, 62)21_Publication in refereed journal

View graph of relations

Author(s)

  • Long Zhang
  • Lanfei Yan
  • Zhenyu Zhang
  • Jian Zhang
  • Zheng Zheng

Related Research Unit(s)

Detail(s)

Original languageEnglish
Pages (from-to)35-57
Journal / PublicationJournal of Systems and Software
Volume129
StatePublished - 1 Jul 2017

Abstract

Fault localization is the activity to locate faults in programs. Spectrum-based fault localization (SBFL) is a class of techniques for it. It contrasts the code coverage achieved by passed runs and that by failed runs, and estimates program entities responsible for the latter. Although previous work has empirically shown that the effectiveness of typical SBFL techniques can be improved by incorporating more failed runs, debugging often takes place when there are very few of them. In this paper, we report a comprehensive study to investigate the impact of cloning the failed test cases on the effectiveness of SBFL techniques. We include 33 popular such techniques, and examine the accuracy of their formulas on twelve benchmark programs, using four accuracy metrics and in three scenarios. The empirical results show that on 22, 21, and 23 of them the fault-localization accuracy can be significantly improved, when the failed test cases are cloned in the single-fault, double-fault, and triple-fault scenarios, respectively. We also analytically show that on 19 of them the improvements are provable for an arbitrary program and an arbitrary test suite, in the single-fault scenario; and moreover, for ten of the rest formulas, their accuracy are proved unaffected in all scenarios.

Research Area(s)

  • Class imbalance, Fault localization, Software debugging, Test suite cloning

Citation Format(s)

A theoretical analysis on cloning the failed test cases to improve spectrum-based fault localization. / Zhang, Long; Yan, Lanfei; Zhang, Zhenyu; Zhang, Jian; Chan, W. K.; Zheng, Zheng.

In: Journal of Systems and Software, Vol. 129, 01.07.2017, p. 35-57.

Research output: Journal Publications and Reviews (RGC: 21, 22, 62)21_Publication in refereed journal