Comparing Two Models for Software Debugging

This paper extends previous work on the representation and analysis of Java programs for diagnosis in a new direction by providing a description and analysis of the issues arising from handling object references in dependency-based models of Java programs. We empirically compare dependency-based models with a value-based model using a set of example programs in terms of required user interaction (questions put to the user) and examine and incorporate specific interesting error categories. Apart from being based on experience with an actual implementation of the various models, the model extensions and analysis deal with aliasing, an issue that the programming language community has been examining for a long time, and that is also crucial to object-orientedness.

[1]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[2]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[3]  P. Pandurang Nayak,et al.  A Reactive Planner for a Model-based Executive , 1997, IJCAI.

[4]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[5]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

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

[7]  Peter Struss,et al.  CASE STUDIES IN MODEL-BASED DIAGNOSIS AND FAULT ANALYSIS OF CAR-SUBSYSTEMS , 1998 .

[8]  Eric Horvitz,et al.  Structure and chance: melding logic and probability for software debugging , 1995, CACM.

[9]  Mark Weiser,et al.  Programmers use slices when debugging , 1982, CACM.

[10]  Markus Stumptner,et al.  Model-Based Reconfiguration , 1998, AID.

[11]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[12]  Mireille Ducassé,et al.  A Pragmatic Survey of Automated Debugging , 1993, AADEBUG.

[13]  Bogdan Korel,et al.  PELAS - Program Error-Locating Assistant System , 1988, IEEE Trans. Software Eng..

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

[15]  Markus Stumptner,et al.  Model-Based Diagnosis of Hardware Designs , 1999, Artif. Intell..

[16]  Ron I. Kuper Dependency-Directed Localization of Software Bugs , 1989 .

[17]  Daniele Theseider Dupré,et al.  Model-Based Diagnosis Meets Error Diagnosis in Logic Programs , 1993, IJCAI.

[18]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

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

[20]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[21]  Markus Stumptner,et al.  Debugging Functional Programs , 1999, IJCAI.

[22]  Timothy C. Winkler,et al.  Approximate Reasoning About the Semantic Effects of Program Changes , 1990, IEEE Trans. Software Eng..