Smelling faults in spreadsheets

Rui Abreu, Jácome Cunha, João Paulo Fernandes, Pedro Martins, Alexandre Perez, João Saraiva

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

31 Citations (Scopus)


Despite being staggeringly error prone, spreadsheets are a highly flexible programming environment that is widely used in industry. In fact, spreadsheets are widely adopted for decision making, and decisions taken upon wrong (spreadsheet-based) assumptions may have serious economical impacts on businesses, among other consequences. This paper proposes a technique to automatically pinpoint potential faults in spreadsheets. It combines a catalog of spreadsheet smells that provide a first indication of a potential fault, with a generic spectrum-based fault localization strategy in order to improve (in terms of accuracy and false positive rate) on these initial results. Our technique has been implemented in a tool which helps users detecting faults. To validate the proposed technique, we consider a well-known and well-documented catalog of faulty spreadsheets. Our experiments yield two main results: we were able to distinguish between smells that can point to faulty cells from smells and those that are not capable of doing so, and we provide a technique capable of detecting a significant number of errors: two thirds of the cells labeled as faulty are in fact (documented) errors.

Original languageEnglish
Title of host publication30th International Conference on Software Maintenance and Evolution (ICSME 2014)
PublisherInstitute of Electrical and Electronics Engineers Inc.
Number of pages10
ISBN (Electronic)9780769553030
Publication statusPublished - 4 Dec 2014
Event30th International Conference on Software Maintenance and Evolution, ICSME 2014 - Victoria, Canada
Duration: 28 Sep 20143 Oct 2014


Conference30th International Conference on Software Maintenance and Evolution, ICSME 2014


Dive into the research topics of 'Smelling faults in spreadsheets'. Together they form a unique fingerprint.

Cite this