Interactive Fault Localization Using Test Information

Dan Hao, Lu Zhang, Tao Xie, Hong Mei, Jia Su Sun

Research output: Contribution to journalArticlepeer-review

Abstract

Debugging is a time-consuming task in software development. Although various automated approaches have been proposed, they are not effective enough. On the other hand, in manual debugging, developers have difficulty in choosing breakpoints. To address these problems and help developers locate faults effectively, we propose an interactive fault-localization framework, combining the benefits of automated approaches and manual debugging. Before the fault is found, this framework continuously recommends checking points based on statements' suspicions, which are calculated according to the execution information of test cases and the feedback information from the developer at earlier checking points. Then we propose a naive approach, which is an initial implementation of this framework. However, with this naive approach or manual debugging, developers' wrong estimation of whether the faulty statement is executed before the checking point (breakpoint) may make the debugging process fail. So we propose another robust approach based on this framework, handling cases where developers make mistakes during the fault-localization process. We performed two experimental studies and the results show that the two interactive approaches are quite effective compared with existing fault-localization approaches. Moreover, the robust approach can help developers find faults when they make wrong estimation at some checking points.

Original languageEnglish (US)
Pages (from-to)962-974
Number of pages13
JournalJournal of Computer Science and Technology
Volume24
Issue number5
DOIs
StatePublished - Sep 2009
Externally publishedYes

Keywords

  • Debugging
  • Fault localization
  • Interactive approach

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Science Applications
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'Interactive Fault Localization Using Test Information'. Together they form a unique fingerprint.

Cite this