i-nth logo


Birgit Hofer, Rui Abreu, Alexandre Perez, & Franz Wotawa


Spreadsheets are amongst the most successful examples of end user programming. Because of their, still increasing, importance for companies, spreadsheets have drastic economical and societal impact. Hence, locating and fixing spreadsheet faults is important and deserves attention from the research community.

A state-of-the-art technique uses genetic programming for generating repair candidates, but a limitation that hinders real-world application is that it still computes too many repair candidates. In this paper, we discuss a novel technique based on constraint solving that uses distinguishing test cases to narrow down the number of repair candidates.


Cardiogenic shock estimator spreadsheet
Cardiogenic shock estimator spreadsheet

We use the example in this figure to illustrate our approach. Physicians use this spreadsheet to estimate cardiogenic shock.

Cells B2 to B5 need an input from the user. Cell B8 shows the result of the computation from which physicians derive their conclusions.

Cell B6 is faulty because it computes B2/B3 instead of B2-B3.


2014, European Conference on Artificial Intelligence, August, pages 1027-1028

Full article

Generation of relevant spreadsheet repair candidates