When | What |
---|---|
March 11, 2015 | Donated by Birgit Hofer |
@INPROCEEDINGS{6982619,
author={Hofer, B. and Wotawa, F.},
booktitle={Software Reliability Engineering (ISSRE), 2014 IEEE 25th International Symposium on},
title={Why Does my Spreadsheet Compute Wrong Values?},
year={2014},
month={Nov},
pages={112-121},
keywords={program diagnostics;software fault tolerance;spreadsheet programs;automated fault localization;
dependency-based approach;diagnostic accuracy;faulty behavior;model-based fault localization;
spreadsheet computation;spreadsheet correctness;Accuracy;Computational modeling;Debugging;Equations;
Mathematical model;Object oriented modeling;Semantics;Fault Localization;Model-Based Software Debugging;
Spreadsheet Debugging},
doi={10.1109/ISSRE.2014.23},
ISSN={1071-9458},}
Spreadsheets are by far the most used programs that are written by end-users. They often build the basis for decisions in companies and governmental organizations and therefore they have a high impact on our daily life. Ensuring correctness of spreadsheets is thus an important task. But what happens after detecting a faulty behavior? This question has not been sufficiently answered. Therefore, we focus on fault localization techniques for spreadsheets. In this paper, we introduce a novel dependency-based approach for model-based fault localization in spreadsheets. This approach improves diagnostic accuracy while keeping computation times short, thus making the automated fault localization more appropriate for practical applications. The presented approach allows for an acceptable fault localization time of less than a second, and reduces the number of computed root cause candidates by 15% on average, when compared with another dependency-based approach.
This dataset contains 33 different spreadsheets (12 artificially created spreadsheets and 21 real-life spreadsheets) and . These spreadsheets contain both arithmetical and logical operators as well as the functions SUM and IF. Faulty versions of the spreadsheets (containing single, double and triple faults) were created by randomly selecting formulas and applying mutation operators on them.