EECS Publication
An Explanation-Based, Visual Debugger for Spreadsheet-like Constraints
Brad Vander Zanden, David Baker, and Jing Jin
This paper describes a domain-specific debuggerfor one-way constraint solvers. The debugger makes use of several new techniques. First, the debugger displays only a portion of the dataflow graph, called a constraint slice, that is directly related to an incorrect variable. This technique helps the debugger scale to a system containing thousands of constraints. Second, the debugger presents a visual representation of the solver's data structures and uses color encodings to highlight changes to the data structures. Finally, the debugger allows the user to point to a variable that has an unexpected value and ask the debugger to suggest reasons for the unexpected value. The debugger makes use of information gathered during the constraint satisfaction process to generate plausible suggestions. Informal testing has shown that the explanatory capability and the color coding of the constraint solver's data structures are particularly useful in locating bugs in constraint code. Although the debugger is implemented as part of a graphical user interface toolkit, we believe that the techniques can be applied equally well to the debugging of commercial spreadsheets.
Published 2002-10-01 04:00:00 as ut-cs-02-487 (ID:233)