Abstract
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.
This work was partially supported by Austrian Science Fund projects P12344-INF and N Z29-INF.
Authors are listed in alphabetical order
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Reference
Boris Beizer. Software Testing Techniques. Van Nostrand Reinhold, 1990.
Lisa Burnell and Eric Horvitz. Structure and Chance: Melding Logic and Probability for Software Debugging. Communications of the ACM, 38(3):31–41, 1995.
Edmund M. Clarke, Orna Grumberg, and David E. Long. Model Checking and Abstraction. ACM Transactions on Programming Languages and Systems, 16(5):1512–1542, September 1994.
Luca Console, Gerhard Friedrich, and Daniele Theseider Dupré. Model-based diagnosis meets error diagnosis in logic programs. In Proceedings 13th International Joint Conf. on Artificial Intelligence, pages 1494–1499, Chambery, August 1993.
Johan de Kleer and Brian C. Williams. Diagnosing multiple faults. Artificial Intelligence, 32(1):97–130, 1987.
Mireille Ducassé. A pragmatic survey of automatic debugging. In Proceedings of the 1st InternationalWorkshop on Automated and Algorithmic Debugging, AADEBUG’ 93, Springer LNCS 749, pages 1–15, May 1993.
Alexander Felfernig, Gerhard Friedrich, Dietmar Jannach, and Markus Stumptner. Consistency based diagnosis of configuration knowledge-bases. In Proceedings of the Tenth International Workshop on Principles of Diagnosis, Loch Awe, June 1999.
Jeanne Ferrante, Karl J. Ottenstein, and Joe D. Warren. The program dependence graph and its use in optimization. ACM Transactions on Programming Languages and Systems, 9(3):319–349, 1987.
Gerhard Friedrich, Markus Stumptner, and Franz Wotawa. Model-based diagnosis of hardware designs. Artificial Intelligence, 111(2):3–39, July 1999.
Ulrich Heller and Peter Struss. Conceptual Modeling in the Environmental Domain. In Proceedings of the 15th IMACS World Congress on Scientific Computation, Modelling and Applied Mathematics, volume 6, pages 147–152, Berlin, Germany, 1997.
Daniel Jackson. Aspect: Detecting Bugs with Abstract Dependences. ACM Transactions on Software Engineering and Methodology, 4(2):109–145, April 1995.
Bogdan Korel. PELAS-Program Error-Locating Assistant System. IEEE Transactions on Software Engineering, 14(9):1253–1260, 1988.
Ron I. Kuper. Dependency-directed localization of software bugs. Technical Report AI-TR 1053, MIT AI Lab, May 1989.
A. Malik, P. Struss, and M. Sachenbacher. Case studies in model-based diagnosis and fault analysis of car-subsystems. In Proceedings of the European Conference on Artificial Intelligence (ECAI), 1996.
Cristinel Mateis, Markus Stumptner, and Franz Wotawa. Debugging of Java programs using a model-based approach. In Proceedings of the Tenth International Workshop on Principles of Diagnosis, Loch Awe, Scotland, 1999.
Cristinel Mateis, Markus Stumptner, and Franz Wotawa. Modeling Java Programs for Diagnosis. In Proceedings of the European Conference on Artificial Intelligence (ECAI), Berlin, Germany, August 2000.
Mark Moriconi and Timothy Winkler. Approximate reasoning about the semantic effects of program changes. IEEE Transactions on Software Engineering, 16(9):980–992, September 1990.
Raymond Reiter.A theory of diagnosis from first principles. Artificial Intelligence, 32(1):57–95, 1987.
Ehud Shapiro. Algorithmic Program Debugging. MIT Press, Cambridge, Massachusetts, 1983.
Markus Stumptner and Franz Wotawa. Model-based reconfiguration. In Proceedings Artificial Intelligence in Design, Lisbon, Portugal, 1998.
Markus Stumptner and Franz Wotawa. Debugging Functional Programs. In Proceedings 16th International Joint Conf. on Artificial Intelligence, pages 1074–1079, Stockholm, Sweden, August 1999.
Mark Weiser. Programmers use slices when debugging. Communications of the ACM, 25(7):446–452, July 1982.
Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352–357, July 1984.
Brian C. Williams and P. Pandurang Nayak. A reactive planner for a model-based executive. In Proceedings 15th International Joint Conf. on Artificial Intelligence, pages 1178–1185, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stumptner, M., Wieland, D., Wotawa, F. (2001). Comparing Two Models for Software Debugging. In: Baader, F., Brewka, G., Eiter, T. (eds) KI 2001: Advances in Artificial Intelligence. KI 2001. Lecture Notes in Computer Science(), vol 2174. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45422-5_25
Download citation
DOI: https://doi.org/10.1007/3-540-45422-5_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42612-7
Online ISBN: 978-3-540-45422-9
eBook Packages: Springer Book Archive