i-nth logo


Robin Abraham & Martin Erwig


In previous work we have designed and implemented an automatic reasoning system for spreadsheets, called UCheck, that infers unit information for cells in a spreadsheet. Based on this unit information, UCheck can identify cells in the spreadsheet that contain erroneous formulas.

However, the information about an erroneous cell is reported to the user currently in a rather crude way by simply coloring the cell, which does not tell anything about the nature of error and thus offers no help to the user as to how to fix it.

In this paper we describe an extension of UCheck, called UFix, which improves the error messages reported to the spreadsheet user dramatically. The approach essentially consists of three steps:

  • First, we identify different categories of spreadsheet errors from an end-user’s perspective.
  • Second, we map units that indicate erroneous formulas to these error categories.
  • Finally, we create customized error messages from the unit information and the identified error category.

In many cases, these error messages also provide suggestions on how to fix the reported errors.


Offset error in UFix
Offset error in UFix

This example shows how an error situation will be communicated to the end user in UFix.

The unit for cell B6 is inferred as Fruit | Month[May|June] & Fruit[Apple]. Units of B3 and B4 can be combined to give a valid unit, but the inclusion of B2 in the formula as well as the omission of B5 results in the unit error.


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

Full article

How to communicate unit error messages in spreadsheets