Software Debugging with Dynamic Instrumentation and Test-Based Knowledge
Author
Hsin Pan
Entry type
phdthesis
Abstract
Developing effective debugging strategies to guarantee the reliability of software is important. By analyzing the debugging process used by experienced programmers, we have found that four distinct tasks are consistently performed: (1) determining statements involved in program failures, (2) selecting suspicious statements that might contain faults, (3) making hypotheses about suspicious faults (variables and locations), and (4) restoring program state to a specific statement for verification. This dissertation focuses on the second task, reducing the search domain for faults, referred to as fault localization.
A new approach to enhancing the process of fault localization is explored based on dynamic rogram slicing and mutation-based testing. In this new scenario, a set of heuristics was developed to enable debuggers to highlight suspicious statements and thus to confine the search domain to a small region. A prototype debugging tool, SPYDER, was previously constructed to support the first tasks by using dynamic program slicing and the fourth task by backward execution; some of the heuristics were integrated into SPYDER to demonstrate our approach. An experiment confirms the effectiveness and feasibility of the proposed heuristics. A new debugging paradigm equiped with our proposed fault localization strategies is expected to reduce huaman interaction time significantly and aid in the debugging of complex software.
Key alpha
Pan
Note
August 1993
School
Purdue University
Publication Date
1900-01-01
Contents
1. Introduction
2. Related Work
3. Analysis of a New Debugging Approach
4. Heuristcs Without the Assistance of Further testing Information
5. Heuristics with the Assistance of Mutation-Based Testing
6. A Prototype Implementation and Experimentation
7. Conclusions and Future Work
Language
English
Location
A hard-copy of this is in REC 216

