i-nth logo


Markus Clermont


Spreadsheet programs turned out to be the most popular end-user programming environment that has ever been released. Important decisions are based on the results of spreadsheet programs and the list of known errors with large impact is growing daily - although it surely is only the top of an iceberg.

One way out of the crisis might be the introduction of software engineering techniques into spreadsheet development. Suggestions for the improvement of spreadsheet development range back as far as into the late eighties, but none has been successful yet.

We argue this is either because not enough effort is put into the roll-out of the technique to the users and, mainly, because they neglect the fact that spreadsheet programmers are end-users, not willing or not able to spend any time on learning software engineering methods.

We found out that most end users are willing to verify their spreadsheets, but only view [sic] have the time and skills to do really systematic testing of spreadsheets.

We developed an approach to generate two orthogonal abstract representations of spreadsheet programs that are then displayed to the user by different visualisation techniques to support the auditing process. Usually, irregularities in the visualisation point out hot-spots on the spreadsheet with a high likelihood of erroneous formulas.

In this paper we present new heuristics for identifying hot spots that are very efficient for large spreadsheet programs.


Example spreadsheet with hot-spots due to an irregularity
Example spreadsheet with hot-spots due to an irregularity

We use Heuristic 1: Semantic Class Aggregation to identify hot-spots due to an irregularity in cell D7.

Heuristic 1 assumes a hot-spot if the majority of arguments to an aggregation function are cells in different but similar semantic units, but there is at least one cell referenced that is not in a similar semantic unit.


2005, ACM SIGSOFT Software Engineering Notes, Volume 30, Issue 4, July, pages 1-6

Full article

Heuristics for the automatic identification of irregularities in spreadsheets