i-nth logo

Authors

Rui Abreu, Andre Riboira, & Franz Wotawa

Abstract

Despite being staggeringly error prone, spreadsheets can be viewed as a highly flexible end-users programming environment. As a consequence, spreadsheets are widely adopted for decision making by end-users, and may have a serious economical impact for the business. Hence, approaches for aiding the process of pinpointing the faulty cells in a spreadsheet are of great value.

In this paper we present a constrain-based approach for debugging spreadsheets. We coin the approach ConBug. Essentially, the approach takes as input a (faulty) spreadsheet and a test case that reveals the fault (a test case specifies values for the input cells as well as the expected values for the output cells) and computes a set of diagnosis candidates for the debugging problem we are trying to solve.

To compute the set of diagnosis candidates we convert the spreadsheet and test case to a constraint satisfaction problem (CSP), modeled using the state-of-the-art constraint solver MINION.

We use a case study, in particular using a spreadsheet taken from the well-known EUSES Spreadsheet Corpus, to better explain the different phases of the approach as well as to measure the efficiency of ConBug. We conclude that ConBug can be of added value for the end user in order to pinpoint faulty cells.

Sample

ConBug algorithm
ConBug algorithm

The spreadsheet debugging problem is formulated as a constraint satisfaction problem and solved using the constraint solver MINION.

Publication

2012, 15th Ibero-American Conference on Software Engineering, April

Full article

Constraint-based debugging of spreadsheets