A Type System for Statically Detecting Spreadsheet Errors

Yanif Ahmad, Tudor Antoniu, Sharon Goldwater, Shriram Krishnamurthi

IEEE International Symposium on Automated Software Engineering, 2003


We describe a methodology for detecting user errors in spreadsheets, using the notion of units as our basic elements of checking. We define the concept of a header and discuss two types of relationships between headers, namely is-a and has-a relationships. With these, we develop a set of rules to assign units to cells in the spreadsheet. We check for errors by ensuring that every cell has a well-formed unit. We describe an implementation of the system that allows the user to check Microsoft Excel spreadsheets. We have run our system on practical examples, and even found errors in published spreadsheets.


A companion paper, on unit validation, appeared in ICSE 2004.



These papers may differ in formatting from the versions that appear in print. They are made available only to support the rapid dissemination of results; the printed versions, not these, should be considered definitive. The copyrights belong to their respective owners.