Alex David Groce Error Explanation and Fault Localization with Distance Metrics Degree Type: Ph.D. in Computer Science Advisor(s): Edmund Clarke Graduated: May 2005 Abstract: When a program's correctness cannot be verified, a model checker produces a counterexample that shows a specific instance of undesirable behavior. Given this counterexample, it is up to the user to understand and correct the problem. This can be a very difficult task. The error may be in the specification, the environment or modeling assumptions, or the program itself. If the error is determined to be real, the fault localization problem remains: before the problem can be corrected, the faulty portion of the code must be identified. Industrial experience and research show that debugging is a time-consuming and difficult step of development even for expert programmers. The counterexample provided by a model checker does not provide sufficient information to ease this task. Counterexample traces can be very long and difficult to read, and often include hundreds or potentially even thousands of lines of code unrelated to the error. Error explanation is the effort to provide automated assistance in moving from a counterexample to a correction for an error. Explanation provides information as to the cause of an error and includes fault localization by indicating likely problem areas in the source code or specification. This work presents a novel and successful approach to error explanation. The approach is based on distance metrics for program executions. The use of distance metrics is inspired by the counterfactual theory of causality proposed by philosopher David Lewis, and the insights gained from previous work on providing practical error explanation. Thesis Committee: Edmund Clarke (Chair) Reid Simmons David Garlan Willem Visser (NASA Ames Research Center) Jeannette Wing, Head, Computer Science Department Randy Bryant, Dean, School of Computer Science Keywords: Formal methods, model checking, fault localization, automated debugging, distance metrics, bounded model checking CMU-CS-05-121.pdf (953 KB) ( 282 pages) Copyright Notice