Rui Abreu, Jacome Cunha, Joao Paulo Fernandes, Pedro Martins, Alexandre Perez, & Joao Saraiva
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.
- 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.
Overview of spreadsheet analysis framework used to automatically locate potential faults in spreadsheets by combining a catalog of smells with a spectrum-based fault localization strategy.
2016, Working paper