i-nth logo

Authors

Felienne Hermans, Bas Jansen, Sohon Roy, Efthimia Aivaloglou, Alaaeddin Swidan, & David Hoepelman

Abstract

Spreadsheets can be considered to be the world's most successful end-user programming language. In fact, one could say spreadsheets are programs.

This paper starts with a comparison of spreadsheets to software: spreadsheets are similar in terms of applications domains, expressive power and maintainability problems.

We then reflect upon what makes spreadsheets successful: liveness, directness and an easy deployment environment seem contribute largely to their success.

Being a programming language, several techniques from software engineering can be applied to spreadsheets. We present an overview of such research directions, including spreadsheet testing, reverse engineering, smell detection, clone detection and refactoring.

Finally, open challenges and future plans for the domain of spreadsheet software engineering are presented.

Sample

Turing machine implementation in Excel
Turing machine implementation in Excel

Spreadsheets have quite some expressive power.

In fact, spreadsheet formulas are Turing complete, even without taking Visual Basic for Applications code into account. Using formulas only, you can construct a Turing machine.

Publication

2016, Software Analysis, Evolution, and Reengineering, March

Full article

Spreadsheets are code: An overview of software engineering approaches applied to spreadsheets

Also see

Video demonstration