Abstract
A software bug manifests itself as a violated specification. Debugging is the process that culminates in repairing a program so that it satisfies its specification. An important part of debugging is localization, whereby the smallest region of the program that manifests the bug is found. The Debugging Assistant (DEBUSSI) is a system that localizes bugs by reasoning about logical dependencies. Via queries to the user and automated deduction, DEBUSSI manipulates the assumptions that underlie a bug manifestation, eventually localizing the bug to one particular assumption. At the same time DEBUSSI incrementally acquires specification information, thereby extending its understanding of the buggy program. As part of the Programmer's Apprentice, DEBUSSI will be useful for validating partial designs, as well as for testing fully implemented code.

This publication has 0 references indexed in Scilit: