Improving Fault Localization of Programs by Using Labeled Dependencies

In this paper we present a new model of Java programs. We show how a program can be compiled into the model. The model can be directly used by a model-based diagnosis engine in order to determine the set of possible causes for a detected misbehavior. The new model is based on the concept of dependencies between variables of a program but leads to improvements with respect to the quality of diagnosis results. First experimental results show the improvements of the presented approach.

[1]  Andreas Zeller,et al.  Simplifying and Isolating Failure-Inducing Input , 2002, IEEE Trans. Software Eng..

[2]  Daniel Jackson Aspect: detecting bugs with abstract dependences , 1995, TSEM.

[3]  Markus Stumptner,et al.  Can AI help to improve debugging substantially? Debugging Experiences with Value-Based Models , 2002, ECAI.

[4]  Markus Stumptner,et al.  Comparing Two Models for Software Debugging , 2001, KI/ÖGAI.

[5]  Monica S. Lam,et al.  Automatic extraction of object-oriented component interfaces , 2002, ISSTA '02.

[6]  Mayur Naik,et al.  From symptom to cause: localizing errors in counterexample traces , 2003, POPL '03.

[7]  Franz Wotawa,et al.  A Value-Based Diagnosis Model for Java Programs , 2000 .

[8]  James C. Corbett,et al.  Using shape analysis to reduce finite-state models of concurrent Java programs , 2000, TSEM.

[9]  K. Rustan M. Leino,et al.  Extended static checking , 1998, PROCOMET.

[10]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[11]  Franz Wotawa,et al.  Debugging VHDL designs using model-based reasoning , 2000, Artif. Intell. Eng..

[12]  William R. Bush,et al.  A static analyzer for finding dynamic programming errors , 2000 .

[13]  Peter Struss,et al.  Process-oriented Modeling and Diagnosis - Revising and Extending the Theory of Diagnosis from First Principles , 1998 .

[14]  Markus Stumptner,et al.  Debugging of Java Programs using a model-based approach , 1999 .

[15]  William G. Griswold,et al.  Dynamically discovering likely program invariants to support program evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[16]  Luca Console,et al.  Readings in Model-Based Diagnosis , 1992 .

[17]  C. Scott Ananian,et al.  The static single information form , 2001 .

[18]  Laurie J. Hendren,et al.  Context-sensitive interprocedural points-to analysis in the presence of function pointers , 1994, PLDI '94.

[19]  Markus Stumptner,et al.  Modeling Java Programs for Diagnosis , 2000, ECAI.