2002 · 29 citations · 12 references
ComputingComputer ScienceDiagnostic ReasoningProgramming LanguagesSoftware EngineeringFault DetectionFault DiagnosisFault ModelingAccuracyAutomated DebuggingDebuggingDebugging TechniquesModel-based DebuggingModel-based DiagnosisModel-based Fault DiagnosisSoftware Debugging
Finding and fixing faults in programs is usually an expensive and tedious task. Consequently the development of intelligent debugging tools that aid the programmer in this task is a topic of major industrial interest. This work describes two representations for applying model-based diagnosis to Java programs, a technique that permits locating (and partly correcting) faults without requiring a formal specification of the desired program behavior, since interaction can be limited to test cases and observations of variable correctness. One of the models uses a special transformation to provide more accurate diagnoses on programs with loops and this is borne out by the experiments. The presented results on actual debugging performance show clearly superior accuracy to classical debugging techniques, and better discrimination than dependency-based programs models. We discuss the results in terms of the properties of the two models and the various example programs and present avenues for further improvement.
12
Mark Weiser · IEEE Transactions on Software Engineering · 1984 · 3.2K citations
A theory of diagnosis from first principles
Raymond Reiter · Artificial Intelligence · 1987 · 2.9K citations
John W. Lloyd · New Generation Computing · 1987 · 116 citations