Dietmar Jannach & Ulrich Engler
Spreadsheet programs are widely used in industrial practice. As they are often developed not by IT professionals but by end users, particular attention has to be paid to quality control and testing and appropriate methods for fault prevention, fault localization and repair for spreadsheet programs have to be developed.
In this paper, we propose to apply model-based diagnosis techniques for the systematic localization of faults in spreadsheet programs. Departing from the idea that the relevant parts of a spreadsheet program, i.e., the formulas, can be transformed to a Constraint Satisfaction Problem, our method uses an extended Hitting-Set algorithm and user-specified or historical test cases and assertions to calculate possible error causes. The proposed method can be used in combination with previous, often heuristics-based methods for interactive testing and repair.
First experiments on typical spreadsheets for financial calculations show the general applicability of our approach which extends the scope of AI-based software debugging methods to spreadsheet programs.
In this example the designer made a mistake and used a multiplication in cell C1 instead of the intended plus symbol. We use assertions to focus the diagnosis process and identify the fault.
2010, 9th Joint Conference on Knowledge-Based Software Engineering, August, pages 25-27