Please cite this article in press as: Jannach, D., et al., Avoiding, finding and fixing spreadsheet errors A survey of automated approaches for spreadsheet QA. J. Syst. Software (2014), http://dx.doi.org/10.1016/j.jss.2014.03.058 ARTICLE IN PRESS G Model JSS-9311; No. of Pages 22 The Journal of Systems and Software xxx (2014) xxx–xxx Contents lists available at ScienceDirect The Journal of Systems and Software j ourna l ho mepage: www.elsevier.com/locate/jss Avoiding, finding and fixing spreadsheet errors A survey of automated approaches for spreadsheet QA Dietmar Jannach a, , Thomas Schmitz a , Birgit Hofer b , Franz Wotawa b a TU Dortmund, Germany b TU Graz, Austria a r t i c l e i n f o Article history: Received 20 November 2013 Received in revised form 25 February 2014 Accepted 18 March 2014 Available online xxx Keywords: Spreadsheet Quality assurance Tool support a b s t r a c t Spreadsheet programs can be found everywhere in organizations and they are used for a variety of pur- poses, including financial calculations, planning, data aggregation and decision making tasks. A number of research surveys have however shown that such programs are particularly prone to errors. Some rea- sons for the error-proneness of spreadsheets are that spreadsheets are developed by end users and that standard software quality assurance processes are mostly not applied. Correspondingly, during the last two decades, researchers have proposed a number of techniques and automated tools aimed at sup- porting the end user in the development of error-free spreadsheets. In this paper, we provide a review of the research literature and develop a classification of automated spreadsheet quality assurance (QA) approaches, which range from spreadsheet visualization, static analysis and quality reports, over test- ing and support to model-based spreadsheet development. Based on this review, we outline possible opportunities for future work in the area of automated spreadsheet QA. © 2014 Elsevier Inc. All rights reserved. 1. Introduction Spreadsheet applications, based, e.g., on the widespread Microsoft Excel software tool, can nowadays be found almost everywhere and at all levels of organizations (Panko and Port, 2012). These interactive computer applications are often developed by non-programmers that is, domain or subject matter experts for a number of different purposes including financial calculations, planning and forecasting, or various other data aggregation and decision making tasks. Spreadsheet systems became popular during the 1980s and represent the most successful example of the End-User Program- ming paradigm. Their main advantage can be seen in the fact that they allow domain experts to build their own supporting software tools, which directly encode their domain expertise. Such tools are usually faster available than other business applications, which have to be developed or obtained via corporate IT departments and are subject to a company’s standard quality assurance (QA) processes. Very soon, however, it became obvious that spreadsheets like any other type of software are prone to errors, see, e.g., the early Corresponding author at: TU Dortmund, 44221 Dortmund, Germany. Tel.: +49 231 755 7272; fax: +49 231 755 7269. E-mail address: dietmar.jannach@tu-dortmund.de (D. Jannach). paper by Creeth (1985) or the report by Ditlea (1987), which were published in 1985 and 1987, respectively. More recent surveys on error rates report that in many studies on spreadsheet errors at least one fault was found in every single spreadsheet that was ana- lyzed (Panko, 1998). Since in reality even high-impact business decisions are made, which are at least partially based on faulty spreadsheets, such errors can represent a considerable risk to an organization 1 . Overall, empowering end users to build their own tools has some advantages, e.g., with respect to flexibility, but also intro- duces additional risks, which is why Panko and Port call them both “dark matter (and energy) of corporate IT” (Panko and Port, 2012). In order to minimize these risks, researchers in different disci- plines have proposed a number of approaches to avoid, detect or fix errors in spreadsheet applications. In principle, several approaches are possible to achieve this goal, beginning with better education and training of the users, over organizational and process-related measures such as mandatory reviews and audits, to better tool sup- port for the users during the spreadsheet development process. In this paper, we focus on this last type of approaches, in which the spreadsheet developer is provided with additional software tools 1 See http://www.eusprig.org/horror-stories.htm for a list of real-world stories or the recent article by Herndon et al. (2013) who found critical spreadsheet formula errors in the often-cited economic analysis of Reinhart and Rogoff (2010). http://dx.doi.org/10.1016/j.jss.2014.03.058 0164-1212/© 2014 Elsevier Inc. All rights reserved.