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 language | English |
---|---|
Article number | 7390282 |
Pages (from-to) | 707-740 |
Number of pages | 34 |
Journal | IEEE Transactions on Software Engineering |
Volume | 42 |
Issue number | 8 |
DOIs | |
Publication status | Published - 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