i-nth logo

Authors

Patrick Koch

Abstract

The use of spreadsheets is the most popular form of end-user programming. As spreadsheets are in general not created and maintained by professional programmers, error rates are high.

As a remedy, many approaches were proposed to avoid, find, and fix errors in spreadsheets. Although some literature on the current overall state of spreadsheet quality assurance (QA) is available, little work was published which gives an in-depth comparison of specific approaches.

In this paper, we provide a more comprehensive survey of the proposed literature covering two chosen static spreadsheet QA techniques: The topics of spreadsheet smells and unit-checking of spreadsheets. We define the concept of spreadsheet smells and present a comprehensive catalogue containing each smell proposed in scientific literature. We highlight groups of related smells, remark on the similarities and interactions within these groups, and state how identified smells can be utilized.

As a novel finding, we point out an identified gap within the currently available catalogue. With regard to unit-checking, we review the development of this principle as applied to spreadsheets. We identify and describe concepts commonly used by concerning approaches, elaborate on how those concepts can be expanded on, and name a view examples.

Based on this review, we conclude on problems and provide suggestions for future work within both of the surveyed fields.

Sample

Comparison of sreadsheet smells
Comparison of sreadsheet smells

This table highlights the fundamental similarities and differences of the spreadsheet smells, including whether they lead to errors or impede quality.

In general, smells which indicate similar problems or have similar detection methods tend to influence one another. In order to highlight fundamental similarities and differences, the table provides an overview of the spreadsheet smells presented in this paper.

Within the table, which is only partially shown, the following properties are evaluated:

  • Name. The name of the spreadsheet smell.
  • Target. Which parts of a spreadsheet can contain the smell.
  • Oo-pendant. Which code smell this smell is based on, if any.
  • Cause. At which stage of the spreadsheet lifecycle the smell is usually introduced.
  • Consequences. Which aspects of spreadsheet quality are affected by the smell.
  • Alleviation. Whether the smell can be removed automatically, assisted or manually.

Publication

2015, Institute for Software Technology, Graz University of Technology, March

Full article

Smells and units: An overview of selected static analysis methods for spreadsheets