Fragment-based spreadsheet debugging

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

Research output: Contribution to journalArticleResearchpeer-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

Fingerprint

Spreadsheets
Decomposition
Testing

Keywords

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

ASJC Scopus subject areas

  • Software

Cite this

Fragment-based spreadsheet debugging. / Jannach, Dietmar; Schmitz, Thomas; Hofer, Birgit; Schekotihin, Konstantin; Koch, Patrick; Wotawa, Franz.

In: Automated Software Engineering, 22.12.2018.

Research output: Contribution to journalArticleResearchpeer-review

Jannach, Dietmar ; Schmitz, Thomas ; Hofer, Birgit ; Schekotihin, Konstantin ; Koch, Patrick ; Wotawa, Franz. / Fragment-based spreadsheet debugging. In: Automated Software Engineering. 2018.
@article{a2f3cab2cda2489385ac20c34ff685dd,
title = "Fragment-based spreadsheet debugging",
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.",
keywords = "Algorithmic testing and debugging, Artificial intelligence, Model-based diagnosis, Spreadsheets",
author = "Dietmar Jannach and Thomas Schmitz and Birgit Hofer and Konstantin Schekotihin and Patrick Koch and Franz Wotawa",
year = "2018",
month = "12",
day = "22",
doi = "10.1007/s10515-018-0250-9",
language = "English",
journal = "Automated Software Engineering",
issn = "0928-8910",
publisher = "Springer Science+Business Media B.V",

}

TY - JOUR

T1 - Fragment-based spreadsheet debugging

AU - Jannach, Dietmar

AU - Schmitz, Thomas

AU - Hofer, Birgit

AU - Schekotihin, Konstantin

AU - Koch, Patrick

AU - Wotawa, Franz

PY - 2018/12/22

Y1 - 2018/12/22

N2 - 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.

AB - 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.

KW - Algorithmic testing and debugging

KW - Artificial intelligence

KW - Model-based diagnosis

KW - Spreadsheets

UR - http://www.scopus.com/inward/record.url?scp=85059041088&partnerID=8YFLogxK

U2 - 10.1007/s10515-018-0250-9

DO - 10.1007/s10515-018-0250-9

M3 - Article

JO - Automated Software Engineering

JF - Automated Software Engineering

SN - 0928-8910

ER -