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.
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
2014, European Conference on Artificial Intelligence, August, pages 1027-1028