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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lisa Burnell and Eric Horvitz. Structure and Chance: Melding Logic and Probability for Software Debugging. Communications of the ACM, pages 31–41, 1995.
Claudia Böttcher. No faults in structure? How to diagnose hidden interaction. In Proc. IJCA1, Montreal, August 1995.
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.
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.
Randall Davis. Diagnostic reasoning based on structure and behavior. Artificial Intelligence, 24:347–410, 1984.
Johan de Kleer and Brian C. Williams. Diagnosing multiple faults. Artificial Intelligence, 32(l):97–130, 1987.
Gerhard Friedrich, Markus Stumptner, and Franz Wotawa. Model-based diagnosis of hardware designs. Artificial Intelligence, 111(2):3–39, July 1999.
Daniel Jackson. Aspect: Detecting Bugs with Abstract Dependences. ACM Transactions on Software Engineering and Methodology, 4(2): 109–145, April 1995.
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.
B. Meyer. Applying “Design by Contract”. IEEE Computer, 25(10):40–51, October 1992.
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.
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.
C. Preist and B. Welham. Modelling bridge faults for diagnosis in electronic circuits. In Proc. DX’90 Workshop, Stanford, 1990.
Raymond Reiter. A theory of diagnosis from first principles. Artificial Intelligence, 32(l):57–95, 1987.
J. Rumbaugh, I. Jacobson, and G. Booch. The Unified Modeling Language Reference Manual. Addison-Wesley Publishing Company, 1999.
Ehud Shapiro. Algorithmic Program Debugging. MIT Press, Cambridge, Massachusetts, 1983.
Markus Stumptner and Franz Wotawa. Debugging Functional Programs. In Proceedings 16 th 1 International Joint Conf. on Artificial Intelligence, Stockholm, Sweden, August 1999.
Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352–357, July 1984
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. (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