Skip to main content

Comparing Two Models for Software Debugging

  • Conference paper
  • First Online:
KI 2001: Advances in Artificial Intelligence (KI 2001)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 2174))

Included in the following conference series:

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

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Reference

  1. Boris Beizer. Software Testing Techniques. Van Nostrand Reinhold, 1990.

    Google Scholar 

  2. Lisa Burnell and Eric Horvitz. Structure and Chance: Melding Logic and Probability for Software Debugging. Communications of the ACM, 38(3):31–41, 1995.

    Article  Google Scholar 

  3. 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.

    Article  Google Scholar 

  4. 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.

    Google Scholar 

  5. Johan de Kleer and Brian C. Williams. Diagnosing multiple faults. Artificial Intelligence, 32(1):97–130, 1987.

    Article  MATH  Google Scholar 

  6. 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.

    Chapter  Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Article  MATH  Google Scholar 

  9. Gerhard Friedrich, Markus Stumptner, and Franz Wotawa. Model-based diagnosis of hardware designs. Artificial Intelligence, 111(2):3–39, July 1999.

    Article  MATH  MathSciNet  Google Scholar 

  10. 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.

    Google Scholar 

  11. Daniel Jackson. Aspect: Detecting Bugs with Abstract Dependences. ACM Transactions on Software Engineering and Methodology, 4(2):109–145, April 1995.

    Article  Google Scholar 

  12. Bogdan Korel. PELAS-Program Error-Locating Assistant System. IEEE Transactions on Software Engineering, 14(9):1253–1260, 1988.

    Article  Google Scholar 

  13. Ron I. Kuper. Dependency-directed localization of software bugs. Technical Report AI-TR 1053, MIT AI Lab, May 1989.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Article  Google Scholar 

  18. Raymond Reiter.A theory of diagnosis from first principles. Artificial Intelligence, 32(1):57–95, 1987.

    Article  MATH  MathSciNet  Google Scholar 

  19. Ehud Shapiro. Algorithmic Program Debugging. MIT Press, Cambridge, Massachusetts, 1983.

    Google Scholar 

  20. Markus Stumptner and Franz Wotawa. Model-based reconfiguration. In Proceedings Artificial Intelligence in Design, Lisbon, Portugal, 1998.

    Google Scholar 

  21. Markus Stumptner and Franz Wotawa. Debugging Functional Programs. In Proceedings 16th International Joint Conf. on Artificial Intelligence, pages 1074–1079, Stockholm, Sweden, August 1999.

    Google Scholar 

  22. Mark Weiser. Programmers use slices when debugging. Communications of the ACM, 25(7):446–452, July 1982.

    Article  Google Scholar 

  23. Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352–357, July 1984.

    Article  Google Scholar 

  24. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics