The Java2CSP Debugging Tool Utilizing Constraint Solving and Model-Based Diagnosis Principles
Franz Wotawa, Vlad Andrei Dumitru
Abstract: Localizing faults in programs and repairing them is considered a difficult, time-consuming, but necessary activity of software engineering to assure programs fulfilling their expected behavior during operation. In this paper, we introduce the Java2CSP debugging tool implementing the principles of model-based diagnosis for fault localization, which can be accessed over the internet using an ordinary web browser. Java2CSP makes use of a constraint representation of a program together with a failing test case for reporting debugging candidates. The tool supports a non-object-oriented subset of the programming language Java. Java2CSP is not supposed to be used in any production environment. Instead, the tool has been developed for providing a prototypical implementation of a debugger using constraints. We present the underlying foundations behind Java2CSP, discuss some preliminary results, and show how the tool can also be used for test case generation and other applications.
The Java2CSP Debugging Tool Utilizing Constraint Solving and Model-Based Diagnosis Principles