Detecting and visualizing inter-worksheet smells in spreadsheets

Felienne Hermans*, Martin Pinzger, Arie Van Deursen

*Corresponding author for this work

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review


Spreadsheets are often used in business, for simple tasks, as well as for mission critical tasks such as finance or forecasting. Similar to software, some spreadsheets are of better quality than others, for instance with respect to usability, maintainability or reliability. In contrast with software however, spreadsheets are rarely checked, tested or certified. In this paper, we aim at developing an approach for detecting smells that indicate weak points in a spreadsheet's design. To that end we first study code smells and transform these code smells to their spreadsheet counterparts. We then present an approach to detect the smells, and to communicate located smells to spreadsheet users with data flow diagrams. To evaluate our apporach, we analyzed occurrences of these smells in the Euses corpus. Furthermore we conducted ten case studies in an industrial setting. The results of the evaluation indicate that smells can indeed reveal weaknesses in a spreadsheet's design, and that data flow diagrams are an appropriate way to show those weaknesses.

Original languageEnglish
Title of host publicationProceedings - 34th International Conference on Software Engineering, ICSE 2012
Number of pages11
Publication statusPublished - 30 Jul 2012
Externally publishedYes
Event34th International Conference on Software Engineering, ICSE 2012 - Zurich, Switzerland
Duration: 2 Jun 20129 Jun 2012

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257


Conference34th International Conference on Software Engineering, ICSE 2012


  • code smells
  • data flow diagrams
  • refactoring
  • spreadsheets


Dive into the research topics of 'Detecting and visualizing inter-worksheet smells in spreadsheets'. Together they form a unique fingerprint.

Cite this