Fragment-based spreadsheet debugging

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

Publikation: Beitrag in einer FachzeitschriftArtikelForschungBegutachtung

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.

Originalspracheenglisch
FachzeitschriftAutomated Software Engineering
Frühes Online-Datum22 Dez 2018
DOIs
PublikationsstatusElektronische Veröffentlichung vor Drucklegung. - 22 Dez 2018

Fingerprint

Spreadsheets
Decomposition
Testing

Schlagwörter

    ASJC Scopus subject areas

    • Software

    Dies zitieren

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

    in: Automated Software Engineering, 22.12.2018.

    Publikation: Beitrag in einer FachzeitschriftArtikelForschungBegutachtung

    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 -