Fragment-based spreadsheet debugging

Dietmar Jannach*, Thomas Schmitz, Birgit Hofer, Konstantin Schekotihin, Patrick Koch, Franz Wotawa

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Faults in spreadsheets can represent a major risk for businesses. To minimize such risks, various automated testing and debugging approaches for spreadsheets were proposed. In such approaches, often one main assumption is that the spreadsheet developer is able to indicate if the outcomes of certain calculations correspond to the intended values. This, however, might require that the user performs calculations manually, a process which can easily become tedious and error-prone for more complex spreadsheets. In this work, we propose an interactive spreadsheet algorithmic debugging method, which is based on partitioning the spreadsheet into fragments. Test cases can then be automatically or manually created for each of these smaller fragments, whose correctness or faultiness can be easier assessed by users than test cases that cover the entire spreadsheet. The annotated test cases are then fed into an algorithmic debugging technique, which returns a set of formulas that could have caused any observed failures, i.e., discrepancies between the expected and computed calculation outcomes. Simulation experiments demonstrate that the suggested decomposition approach can speed up the algorithmic debugging process and significantly reduce the number of fault candidates returned by the algorithm. An additional laboratory study shows that fragmenting a spreadsheet with our method furthermore reduces the time needed by users for creating test cases for a spreadsheet.

Original languageEnglish
JournalAutomated Software Engineering
Early online date22 Dec 2018
DOIs
Publication statusE-pub ahead of print - 22 Dec 2018

Keywords

  • Algorithmic testing and debugging
  • Artificial intelligence
  • Model-based diagnosis
  • Spreadsheets

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Fragment-based spreadsheet debugging'. Together they form a unique fingerprint.

Cite this