A Combinatorial Testing-Based Approach to Fault Localization

Laleh Sh. Ghandehari, Yu Lei, Raghu Kacker, Richard Kuhn, Tao Xie, David Kung

Research output: Contribution to journalArticlepeer-review

Abstract

Combinatorial testing has been shown to be a very effective strategy for software testing. After a failure is detected, the next task is to identify one or more faulty statements in the source code that have caused the failure. In this paper, we present a fault localization approach, called BEN, which produces a ranking of statements in terms of their likelihood of being faulty by leveraging the result of combinatorial testing. BEN consists of two major phases. In the first phase, BEN identifies a combination that is very likely to be failure-inducing. A combination is failure-inducing if it causes any test in which it appears to fail. In the second phase, BEN takes as input a failure-inducing combination identified in the first phase and produces a ranking of statements in terms of their likelihood to be faulty. We conducted an experiment in which our approach was applied to the Siemens suite and four real-world programs, flex, grep, gzip and sed, from Software Infrastructure Repository (SIR). The experimental results show that our approach can effectively and efficiently localize the faulty statements in these programs.

Original languageEnglish (US)
Article number8438933
Pages (from-to)616-645
Number of pages30
JournalIEEE Transactions on Software Engineering
Volume46
Issue number6
DOIs
StatePublished - Jun 1 2020

Keywords

  • Combinatorial testing
  • debugging
  • fault localization

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'A Combinatorial Testing-Based Approach to Fault Localization'. Together they form a unique fingerprint.

Cite this