Software debugging using program spectra
نویسنده
چکیده
This thesis focuses on debugging using program spectra. Program spectra captures the dynamic behaviour of a program indicating which program statements are executed by respective test cases, which include pass and fail cases. By using this information, we use functions to rank all statements to locate bugs. Statements ranked top of the ranking are more likely to be buggy. We refer to these functions as spectra metrics. In a traditional debugging task, the programmer often has to examine program execution step-by-step within a block or function of program code that is most likely to be buggy. Using program spectra information can help the programmer to narrow down to those program statements that are most likely to be buggy. The thesis contributes to the theoretical understanding of debugging single bug programs using program spectra. We propose several spectra metrics and also review other metrics suggested for bug localization. Some of the metrics that have been previously employed in other domain areas such as biological science have been adapted for the debugging area and their effectiveness have been evaluated. We propose several methods to help improve the precision of bug localization. We show by employing more information such as frequency execution and coverage of test cases can improve bug localization performance significantly. Our extensive evaluation on several benchmarks, namely Siemens Test Suite, subset of Unix Test Suite, Concordance, and Space indicate that our proposed spectra metrics are effective in improving bug localization performance. This thesis work advances the state-of-the-art of bug localization and consequently has great potential to improve the effectiveness of debugging software.
منابع مشابه
Synopsis of Possible Collaboration in the Area of Software Debugging
Software debugging has been regarded as one of the challenges in the field of software engineering. In practice, traditional debugging needs extensive labor and time in order to locate bugs in a typical software program. A typical programmer needs to set breaking points and execute the buggy program on several inputs. At the same time, he needs to examine the program states and try to locate th...
متن کاملUsing Genetic Programming to Model Software
Spectra-Based Fault Localisation (SBFL) aims to assist debugging by applying risk evaluation formulæ (sometimes called suspiciousness metrics) to program spectra and ranking statements according to the predicted risk. Designing a risk evaluation formula is often an intuitive process done by human software engineer. This paper presents a Genetic Programming approach for evolving risk assessment ...
متن کاملProgram Spectra Analysis in Embedded Software: A Case Study
Because of constraints imposed by the market, embedded software in consumer electronics is almost inevitably shipped with faults and the goal is just to reduce the inherent unreliability to an acceptable level before a product has to be released. Automatic fault diagnosis is a valuable tool to capture software faults without extra effort spent on testing. Apart from a debugging aid at design an...
متن کاملEvolving Human Competitive Spectra-Based Fault Localisation Techniques
Spectra-Based Fault Localisation (SBFL) aims to assist debugging by applying risk evaluation formulæ (sometimes called suspiciousness metrics) to program spectra and ranking statements according to the predicted risk. Designing a risk evaluation formula is often an intuitive process done by human software engineer. This paper presents a Genetic Programming approach for evolving risk assessment ...
متن کاملFault Localization With Nearest Neighbor Queries
We present a method for performing fault localization using similar program spectra. Our method assumes the existence of a faulty run and a larger number of correct runs. It then selects according to a distance criterion the correct run that most resembles the faulty run, compares the spectra corresponding to these two runs, and produces a report of “suspicious” parts of the program. Our method...
متن کامل