A survey on software fault localization

W. Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, Franz Wotawa

Research output: Contribution to journalReview articlepeer-review

Abstract

Software fault localization, the act of identifying the locations of faults in a program, is widely recognized to be one of the most tedious, time consuming, and expensive - yet equally critical - activities in program debugging. Due to the increasing scale and complexity of software today, manually locating faults when failures occur is rapidly becoming infeasible, and consequently, there is a strong demand for techniques that can guide software developers to the locations of faults in a program with minimal human intervention. This demand in turn has fueled the proposal and development of a broad spectrum of fault localization techniques, each of which aims to streamline the fault localization process and make it more effective by attacking the problem in a unique way. In this article, we catalog and provide a comprehensive overview of such techniques and discuss key issues and concerns that are pertinent to software fault localization as a whole.

Original languageEnglish
Article number7390282
Pages (from-to)707-740
Number of pages34
JournalIEEE Transactions on Software Engineering
Volume42
Issue number8
DOIs
Publication statusPublished - 1 Aug 2016

Keywords

  • execution trace
  • program debugging
  • Software fault localization
  • software testing
  • survey
  • suspicious code

ASJC Scopus subject areas

  • Software

Fields of Expertise

  • Information, Communication & Computing

Treatment code (Nähere Zuordnung)

  • Review

Cite this