Fault Localizations Through Feature Selections

Yulei Pang, Xiaozhen Xue, Akbar Siami Namin

Research output: Contribution to journalArticlepeer-review

Abstract

We introduce a novel application of feature ranking methods to the fault localization problem. We envision the problem of localizing causes of failures as instances of ranking program's elements where elements are conceptualized as features. In this paper, we define features as program's statements. However, in its fine-grained definition, the idea of program's features can refer to any traits of programs. This paper proposes feature ranking-based algorithms. The algorithms analyze execution traces of both passing and failing test cases, and extract the bug signatures from the failing test cases. The proposed procedure extracts possible combinations of program's elements when executed together from bug signatures. The feature ranking-based algorithms then order statements according to the suspiciousness of the combinations. When viewed as sequences, the combination of program's elements produced and traced in bug signatures can be utilized to reason about the common longest subsequence. The common longest subsequence of bug signatures represents the common statements executed by all failing test cases and thus provides a means for identifying statements that contain possible faults. Our evaluation indicates that the proposed feature-based fault localization outperforms existing fault localization ranking schemes.

Original languageEnglish
Pages (from-to)1269-1289
Number of pages21
JournalInternational Journal of Software Engineering and Knowledge Engineering
Volume27
Issue number8
DOIs
StatePublished - Oct 1 2017

Keywords

  • Fault localization
  • debugging
  • feature ranking methods
  • machine learning

Fingerprint

Dive into the research topics of 'Fault Localizations Through Feature Selections'. Together they form a unique fingerprint.

Cite this