Article thumbnail
Location of Repository

Detecting and refactoring code smells in spreadsheet formula

By F.F.J. Hermans, M. Pinzger and A. Van Deursen

Abstract

Preprint of article published in: Empirical Software Engineering, February 2014, Springer Science+Business Media New York, doi:10.1007/s10664-013-9296-2 Spreadsheets are used extensively in business processes around the world and just like software, spreadsheets are changed throughout their lifetime causing understandability and maintainability issues. This paper adapts known code smells to spreadsheet formulas. To that end we present a list of metrics by which we can detect smelly formulas; a visualization technique to highlight these formulas in spreadsheets and a method to automatically suggest refactorings to resolve smells. We implemented the metrics, visualization and refactoring suggestions techniques in a prototype tool and evaluated our approach in three studies. Firstly, we analyze the EUSES spreadsheet corpus, to study the occurrence of the formula smells. Secondly, we analyze ten real life spreadsheets, and interview the spreadsheet owners about the identified smells. Finally, we generate refactoring suggestions for those ten spreadsheets and study the implications. The results of these evaluations indicate that formula smells are common, that they can reveal real errors and weaknesses in spreadsheet formulas and that in simple cases they can be refactored

Topics: spreadsheets, code smells, refactoring
Publisher: Delft University of Technology, Software Engineering Research Group
Year: 2013
DOI identifier: 10.1007/s10664-013-9296-2
OAI identifier:
Provided by: NARCIS
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • http://www.loc.gov/mods/v3 (external link)
  • http://oai.tudelft.nl/ir (external link)
  • http://resolver.tudelft.nl/uui... (external link)
  • http://repository.tudelft.nl/i... (external link)
  • Suggested articles


    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.