Abstract

In software debugging, fault localization is the most difficult, expensive, tedious, and time-consuming 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 the results of executing test cases and their 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.

Highlights

  • Software cover many aspects of our everyday life as they are used in different application domains such as healthcare, military, automobile, and transportation

  • The goal of Spectrum Based Fault Localization (SBFL) is to address the problem of finding the root causes of bugs by utilizing information from program elements executed by test cases, in particular the outcomes of tests and their code coverage [12]

  • IDENTIFICATION OF RESEARCH OBJECTIVE The objective of this paper is to answer the following research question: ‘‘What are the challenges and issues posed by spectrumbased fault localization (SBFL)?’’

Read more

Summary

Introduction

Software cover many aspects of our everyday life as they are used in different application domains such as healthcare, military, automobile, and transportation. The goal of SBFL is to address the problem of finding the root causes of bugs by utilizing information from program elements executed by test cases, in particular the outcomes of tests and their code coverage [12]. In SBFL, code coverage information ( called program spectra), which is obtained from executing a set of test cases with recording their results, is used, by a ranking formula, to calculate the probability of each program element (e.g., statement, block, or function) being faulty [13]. The spectra information is used by a spectra formula ( called a ranking metric [21], a suspiciousness metric [22], a risk evaluation metric [23], or a fault locator [24]).

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call