The Java Diagnosis Experiments
|Faults in software systems not only stand
for inconveniences for the user, but also result in a drastic increase
of the total production costs. Therefore, the development of a tool, which
automatically locates and possibly repairs such faults, is not only a technically
challenging task, but includes an important economic and social relevance.
Over the last three years the JADE project has been dealing with the application of model-based diagnosis techniques, which in the past have successfully been used to diagnose physical systems, to the software domain. The main goal was to provide a solid theoretical foundation for the location of bugs in computer programs and to develop a user-friendly and intuitive prototype debugger, which support its user in the localization of source code faults in Java programs.
The theoretical activities of the JADE project mainly examined the general applicability of model-based diagnosis techniques to software debugging and related research directions within the field. Moreover, concrete methods and algorithms have been developed, which were prerequisites for the practical application of the chosen approaches and thus directly influenced the implementation tasks of the debugger prototype. These activities are documented by a master's thesis, a PhD thesis, a professorial (habilitation) thesis, three journal publications and several articles and presentations at international conferences and workshops.
The most notable outcome of the JADE project is the prototype debugging environment, which computes possible bug candidates for faulty Java programs. The system is fully functional and currently makes use of five different models of the analyzed Java program. The system's diagnostic performance has been tested on several buggy Java programs and turned out to be promising. In all tests the parts of the programs including the faults could be reduced. Moreover, the faults could exactly be located in interactive debugging sessions. Empirically, the JADE system turned out to be superior to traditional diagnosis and debugging tools. Therefore, it seems promising to carry out further research activities in the project's area and to combine the chosen approaches with existing software development techniques.
|Send comments and requests to the
Last modification: 16.01.2002
(C) 1998-2002, Technische Universität Wien