Skip to main content

Using Design Information to Identify Structural Software Faults

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

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

Included in the following conference series:

Abstract

The use of model-based diagnosis techniques for software debugging has been an active research area for several years. This paper describes the extension of model-based debugging by the utilization of object-oriented design information for the identification of structural faults. The typical structural software fault is the incorrect assignment, both a frequent and hard to identify problem if no extra information about the fault is present. We analyze the different types of faults, use heuristics about pre- and postconditions to infer missing or additional state variable assignments, and use statechart diagrams as additional constraints over the permissible method execution sequences.

This work was partially supported by Austrian Science Fund projects P12344-INF and N Z29-INF.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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.

References

  1. Lisa Burnell and Eric Horvitz. Structure and Chance: Melding Logic and Probability for Software Debugging. Communications of the ACM, pages 31–41, 1995.

    Google Scholar 

  2. Claudia Böttcher. No faults in structure? How to diagnose hidden interaction. In Proc. IJCA1, Montreal, August 1995.

    Google Scholar 

  3. Luca Console, Gerhard Friedrich, and Daniele Theseider Dupré. Model-based diagnosis meets error diagnosis in logic programs. In Proceedings 13 th International Joint Conf. on Artificial Intelligence, Chambery, August 1993.

    Google Scholar 

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

  5. Randall Davis. Diagnostic reasoning based on structure and behavior. Artificial Intelligence, 24:347–410, 1984.

    Article  Google Scholar 

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

    MATH  Google Scholar 

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

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

    Article  Google Scholar 

  9. Bogdan Korel and Jurgen Rilling. Applications of Dynamic Slicing in Program Debugging. In Proceedings of the Third International Workshop on Automatic Debugging (AADEBUG-97), Linköping, Sweden, 1997.

    Google Scholar 

  10. B. Meyer. Applying “Design by Contract”. IEEE Computer, 25(10):40–51, October 1992.

    Google Scholar 

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

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

  13. Cristinel Mateis, Markus Stumptner, and Franz Wotawa. A Value-Based Diagnosis Model for Java Programs. In Proceedings of the Eleventh International Workshop on Principles of Diagnosis, Morelia, Mexico, June 2000.

    Google Scholar 

  14. C. Preist and B. Welham. Modelling bridge faults for diagnosis in electronic circuits. In Proc. DX’90 Workshop, Stanford, 1990.

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  16. J. Rumbaugh, I. Jacobson, and G. Booch. The Unified Modeling Language Reference Manual. Addison-Wesley Publishing Company, 1999.

    Google Scholar 

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

    Google Scholar 

  18. Markus Stumptner and Franz Wotawa. Debugging Functional Programs. In Proceedings 16 th 1 International Joint Conf. on Artificial Intelligence, Stockholm, Sweden, August 1999.

    Google Scholar 

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

    Article  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. (2001). Using Design Information to Identify Structural Software Faults. In: Stumptner, M., Corbett, D., Brooks, M. (eds) AI 2001: Advances in Artificial Intelligence. AI 2001. Lecture Notes in Computer Science(), vol 2256. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45656-2_41

Download citation

  • DOI: https://doi.org/10.1007/3-540-45656-2_41

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42960-9

  • Online ISBN: 978-3-540-45656-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics