Software debugging using program spectra

نویسنده

  • Hua Jie Lee
چکیده

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.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

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...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011