RAID: A System to Aid in the Removal of Program Bugs
Lisa J. Burnell, A Meadows, Patricia Bass, Keith Biggers, John W. Priest
Abstract
Lisa J. Burnell, A Meadows, Patricia Bass, Keith Biggers, John W. Priest
Abstract
Debugging is hard. Each program bug brings its own particular problems, but there are usually three basic steps that a programmer must perform. These common steps are: (1) understanding something about the failure and the program being debugged, (2) finding the error in the program, and (3) correcting the error. Tools to assist in this process vary from providing virtually no assistance to intelligent debugging systems — tools that use knowledge about programs and program bugs. The purpose of all intelligent debugging systems is to narrow a software engineer’s focus to the program statements involved in a program failure, but existing systems vary in their efficiency, data requirements, and effectiveness. Using an approach that combines ideas from existing debugging systems, we present our work on a probabilistic intelligent debugging system for high-level languages. This system, called RAID (Run-time Analysis and Intelligent Debugging system), is an automated debugger for C programs. It uses probabilistic reasoning, heuristic debugging knowledge, and structural analyses to identify the most likely causes of a program failure.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Debugging is hard. Each program bug brings its own particular problems, but there are usually three basic steps that a programmer must perform. These common steps are: (1) understanding something about the failure and the program being debugged, (2) finding the error in the program, and (3) correcting the error. Tools to assist in this process vary from providing virtually no assistance to intelligent debugging systems — tools that use knowledge about programs and program bugs. The purpose of all intelligent debugging systems is to narrow a software engineer’s focus to the program statements involved in a program failure, but existing systems vary in their efficiency, data requirements, and effectiveness. Using an approach that combines ideas from existing debugging systems, we present our work on a probabilistic intelligent debugging system for high-level languages. This system, called RAID (Run-time Analysis and Intelligent Debugging system), is an automated debugger for C programs. It uses probabilistic reasoning, heuristic debugging knowledge, and structural analyses to identify the most likely causes of a program failure.
Key concepts: Debugging, Algorithmic program debugging, Debugger, Computer science, Programmer, Programming language, Probabilistic logic, Software bug