renieris-aadebug2003

Renieris-aadebug2003 - AADEBUG2003 XXX1 Automated Fault Localization Using Potential Invariants 1 Brock Pytlik Manos Renieris 2 Shriram

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: AADEBUG2003 XXX1 Automated Fault Localization Using Potential Invariants 1 Brock Pytlik, Manos Renieris 2 , Shriram Krishnamurthi and Steven P. Reiss Brown University, Computer Science Department, Providence, RI 02912, USA ABSTRACT We present a general method for fault localization based on abstracting over program traces, and a tool that implements the method using Ernst’s notion of potential invariants. Our experiments so far have been unsatisfactory, suggesting that further research is needed before invariants can be used to locate faults. KEYWORDS: Automated Fault Localization, Potential Invariants 1 Introduction Suppose a programmer receives a report of a bug in a thoroughly tested program. The report takes the form of an input on which the programmer expects the program to work correctly. This paper describes a generic method, and a corresponding tool, to help programmers in this situation. The method requires the following three pieces of information: • a source program, to instrument; • an input that exposes a bug (the “bad input”); and, • a set of inputs on which the program executes successfully (“good inputs”). The first two are natural requirements for debugging. The assumption that the program has been thoroughly tested guarantees the existence of good inputs. Given this information, the method • instruments the program to garner execution traces; • produces a spectrum , i.e., a concise description of the program’s behavior, of each input’s exe- cution; • combines the spectra of the successful runs to generate a single, summary model of their behav- ior; and, • contrasts this model with the spectrum from the failing run and reports the difference. If the spectra of the runs and the model of the good runs are accurate enough, the difference will re- flect the bug. This paper presents preliminary experiments that evaluate this method for a particular category of spectra, namely potential invariants. 1 This work is partially supported by the National Science Foundation. 2 Contact email: [email protected] Fifth Int. Workshop on Automated and Algorithmic Debugging XXX2 BROCK PYTLIK ET AL. bool isIsosceles (x, y, z) { if (x == y) return 1; else if (y == z) return 1; else return 0; } (a) Sample Program after h x =1, y =2, z =3 i : x < y , x < z , y < z after h x =2, y =5, z =5 i : x < y , x < z after h x =2, y =2, z =3 i : x < z (b) Live Invariants for isIsosceles Figure 1: Sample program and live invariant sets. 2 Debugging in Principle: An Example Potential invariants, developed by Ernst et al. [ECGN01], relate variables at static program loca- tions. A “live” invariant is one that has not yet been falsified by a run. To tractably identify potential invariants, a tool must limit them to a fixed set of schemata....
View Full Document

This note was uploaded on 02/24/2012 for the course CSE 503 taught by Professor Davidnotikin during the Spring '11 term at University of Washington.

Page1 / 4

Renieris-aadebug2003 - AADEBUG2003 XXX1 Automated Fault Localization Using Potential Invariants 1 Brock Pytlik Manos Renieris 2 Shriram

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online