Statistical debugging: A hypothesis testing-based approach

Chao Liu, Long Fei, Xifeng Yan, Jiawei Han, Samuel P. Midkiff

Research output: Contribution to journalArticlepeer-review

Abstract

Manual debugging is tedious, as well as costly. The high cost has motivated the development of fault localization techniques, which help developers search for fault locations. In this paper, we propose a new statistical method, called SOBER, which automatically localizes software faults without any prior knowledge of the program semantics. Unlike existing statistical approaches that select predicates correlated with program failures, SOBER models the predicate evaluation in both correct and incorrect executions and regards a predicate as fault-relevant if its evaluation pattern in incorrect executions significantly diverges from that in correct ones. Featuring a rationale similar to that of hypothesis testing, SOBER quantifies the fault relevance of each predicate in a principled way. We systematically evaluate SOBER under the same setting as previous studies. The result clearly demonstrates the effectiveness: SOBER could help developers locate 68 out of the 130 faults in the Siemens suite by examining no more than 10 percent of the code, whereas the Cause Transition approach proposed by Holger et al. [6] and the statistical approach by Liblit et al. [12] locate 34 and 52 faults, respectively. Moreover, the effectiveness of SOBER is also evaluated in an "imperfect world," where the test suite is either inadequate or only partially labeled. The experiments indicate that SOBER could achieve competitive quality under these harsh circumstances: Two case studies with grep 2.2 and be 1.06 are reported, which shed light on the applicability of SOBER on reasonably large programs.

Original languageEnglish (US)
Pages (from-to)831-847
Number of pages17
JournalIEEE Transactions on Software Engineering
Volume32
Issue number10
DOIs
StatePublished - Oct 2006

Keywords

  • Debugging aids
  • Statistical debugging
  • Statistical methods

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Statistical debugging: A hypothesis testing-based approach'. Together they form a unique fingerprint.

Cite this