Locating Bugs in Java Programs - First Results of the Java Diagnosis Experiments (Jade) project

C. Mateis, M. Stumptner, F. Wotawa
Stum00a (2000)
Rasiah Loganantharai et al. (eds.): Proceedings of the 13th International Conference on Industrial & Engineering Applications of Artificial Intelligence & Expert Systems (IEA/AIE `00), June 19-22, 2000, New Orleans, U.S.A., Springer Verlag (LNCS No. 1821), ISBN 3-540-67689-9, pp. 174-183, 2000.
Copy  (In order to obtain the copy please send an email with subject  Stum00a  to dke.win@jku.at)


This paper describes the use of model-based reasoning for locating bugs in Java programs. Model-based diagnosis is a technology that uses a declarative, generic description of the behavior of the components occurring in a domain to construct a model of the overall system which can then be used at the desired level of abstraction to predict a system's behavior and derive assumptions about which parts of the system are incorrect. This approach is particularly enticing when applied to software since the model can be constructed from the program automatically. However, the actual choice of models poses interesting challenges. We show a simple model based on dependencies that can be used to diagnose very large programs, and walk through an example debugging session.