i-nth logo

Authors

Martin Erwig

Abstract

Spreadsheets are widely used end-user programming tools. Since many critical decisions are made based on values computed by spreadsheets, the correctness of spreadsheets is crucial.

The application of tried and tested software engineering principles to spreadsheets seems to promise help with the construction and maintenance of dependable spreadsheets. However, can we really make this practical for end users?

In this article we demonstrate with two examples, type checking and debugging, that we can exploit the idiosyncratic structure of spreadsheets to successfully translate these concepts to an end-user programming domain.

We argue that the simplified computational model and the rich context information provided by the spatial embedding of formulas allow, in particular, the simplification of these concepts, which ultimately leads to effective tools for end users.

Sample

Change suggestions
Change suggestions

Our debugging tool suggests two changes, of which the second one is the correct one. The user can select the change, which will then be automatically applied to the formula in the cell.

Publication

2009, IEEE Software, Volume 26, Issue 5, September, pages 25-30

Full article

Software engineering for spreadsheets