i-nth logo

Authors

Dietmar Jannach & Thomas Schmitz

Abstract

Spreadsheet programs are probably the most successful example of end-user software development tools and are used for a variety of purposes. Like any type of software, they are prone to error, in particular as they are usually developed by non-programmers. While various techniques exist to support the developer in finding errors in procedural programs, the tool support for spreadsheet debugging is still limited.

In this paper, we show how techniques from model-based diagnosis can be applied and extended for spreadsheet debugging by translating the relevant parts of a spreadsheet to a constraint satisfaction problem. We additionally propose both problem-specific and generalizable extensions to the classical diagnosis algorithms which help to detect potential problems in a spreadsheet based on user-provided test cases more efficiently.

The proposed techniques were integrated into a modular framework for spreadsheet debugging and evaluated with respect to scalability based on a number of real-world and artificially created spreadsheets. An additional error detection exercise involving 24 subjects was performed to assess the general applicability of such advanced spreadsheet debugging techniques for end users.

Sample

Exquisite add-in
Exquisite add-in

Exquisite is designed as an Excel add-in. The screenshot shows some of the user interface elements, exemplifing the challenges of finding proper and easy-to-use interaction mechanisms that are understandable for a spreadsheet developer.

Publication

2016, Automated Software Engineering, Volume 23, Issue 1, March, pages 105-144

Full article

Model-based diagnosis of spreadsheet programs: A constraint-based debugging approach