A Survey of Challenges in Spectrum Based Software Fault
Localization
Qusay Idrees Sarhan
and Árpád
Beszédes
In software debugging, fault localization is the most
difficult, expensive, tedious, and timeconsuming task,
particularly for large-scale software systems. This is due to the
fact that it requires significant human participation and it is
difficult to automate its sub-tasks. Therefore, there is a high
demand for automatic fault localization techniques that can help
software engineers effectively find the locations of faults with
minimal human intervention. This has led to the proposal of
implementing different types of such techniques. However, Spectrum
Based Fault Localization (SBFL) is considered amongst the most
prominent techniques in this respect due to its efficiency and
effectiveness. In SBFL, the probability of each program element
(e.g., statement, block, or function) being faulty is calculated
based on executing test cases and then using their results and
corresponding code coverage information. However, SBFL techniques
are not yet widely adopted in the industry. The rationale behind
this is that they pose a number of issues and their performance is
affected by several influential factors. For example, the
characteristics of bugs, target programs, test suites, and
supporting tools make their effectiveness differ dramatically from
one case to another. There are massive studies on SBFL that cover
its usage, formulas, performance, etc. So far, no dedicated survey
points out comprehensively the issues of SBFL. In this paper,
various SBFL challenges and issues have been identified,
categorized, and discussed alongside many directions. Also, the
paper raises awareness of the works being achieved to address the
identified issues and suggests some potential solutions too.
Keywords:
Program spectra, spectrum based fault
localization, software testing, challenges and issues, survey.
Back