Abstract
Large spreadsheets are often difficult to understand and to test. Detecting the true cause of an observed wrong calculation outcome in a chain of calculations is even more challenging. In this work, we propose a novel approach that automatically decomposes large spreadsheets into smaller units called fragments. This decomposition serves two purposes. First, it allows us to apply fault localization procedures that can exploit such structural abstractions to find possible explanations for the wrong outcomes (called diagnoses). This results in a faster identification of the diagnoses. Second, it makes the testing process better manageable for the users, as they can provide simpler test cases to reduce the number of possible explanations of the fault. An empirical evaluation of our method shows that the required running times for computing the possible explanations can be measurably reduced when applying the proposed fragmentation approach and that fragment-based test cases help to significantly reduce the number of possible explanations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Abreu, R., Hofer, B., Perez, A., Wotawa, F.: Using constraints to diagnose faulty spreadsheets. Softw. Qual. J. 23(2), 297–322 (2015)
Autio, K., Reiter, R.: Structural abstraction in model-based diagnosis. In: ECAI 1998, pp. 269–273 (1998)
Chittaro, L., Ranon, R.: Hierarchical model-based diagnosis based on structural abstraction. Artifi. Intell. 155(1–2), 147–182 (2004)
Console, L., Friedrich, G., Dupré, D.T.: Model-based diagnosis meets error diagnosis in logic programs. In: Fritzson, P.A. (ed.) AADEBUG 1993. LNCS, vol. 749, pp. 85–87. Springer, Heidelberg (1993). doi:10.1007/BFb0019402
Cunha, J., Erwig, M., Saraiva, J.: Automatically inferring classsheet models from spreadsheets. In: VL/HCC 2010, pp. 93–100 (2010)
F1F9: The Dirty Dozen. http://blogs.mazars.com/the-model-auditor/files/2014/01/12-Modelling-Horror-Stories-and-Spreadsheet-Disasters-Mazars-UK.pdf. Accessed 7 Apr 2016
Felfernig, A., Friedrich, G.E., Zanker, M., Jannach, D., Stumptner, M.: Hierarchical diagnosis of large configurator knowledge bases. In: Baader, F., Brewka, G., Eiter, T. (eds.) KI 2001. LNCS (LNAI), vol. 2174, pp. 185–197. Springer, Heidelberg (2001). doi:10.1007/3-540-45422-5_14
Friedrich, G., Stumptner, M., Wotawa, F.: Model-based diagnosis of hardware designs. Artif. Intell. 111(1–2), 3–39 (1999)
Hermans, F., Pinzger, M., van Deursen, A.: Supporting professional spreadsheet users by generating leveled dataflow diagrams. In: ICSE 2011, pp. 451–460 (2011)
Hermans, F., Murphy-Hill, E.R.: Enron’s spreadsheets and related emails: a dataset and analysis. In: ICSE 2015, pp. 7–16 (2015)
Hermans, F., Pinzger, M., van Deursen, A.: Detecting code smells in spreadsheet formulas. In: ICSM 2012, pp. 409–418 (2012)
Hodnigg, K., Mittermeir, R.T.: Metrics-based spreadsheet visualization - support for focused maintenance. In: EuSpRIG 2008, pp. 79–94 (2008)
Hofer, B., Riboira, A., Wotawa, F., Abreu, R., Getzner, E.: On the empirical evaluation of fault localization techniques for spreadsheets. In: Cortellessa, V., Varró, D. (eds.) FASE 2013. LNCS, vol. 7793, pp. 68–82. Springer, Heidelberg (2013). doi:10.1007/978-3-642-37057-1_6
Hofer, B., Wotawa, F.: Why does my spreadsheet compute wrong values? In: ISSRE 2014, pp. 112–121 (2014)
Jannach, D., Baharloo, A., Williamson, D.: Toward an integrated framework for declarative and interactive spreadsheet debugging. In: ENASE 2013, pp. 117–124 (2013)
Jannach, D., Schmitz, T.: Using calculation fragments for spreadsheet testing and debugging. In: SEMS 2015, pp. 1–2 (2015)
Jannach, D., Schmitz, T.: Model-based diagnosis of spreadsheet programs: a constraint-based debugging approach. Autom. Softw. Eng. 23(1), 105–144 (2016)
Jannach, D., Schmitz, T., Hofer, B., Wotawa, F.: Avoiding, finding and fixing spreadsheet errors - a survey of automated approaches for spreadsheet QA. J. Syst. Softw. 94, 129–150 (2014)
Junker, U.: QUICKXPLAIN: preferred explanations and relaxations for over-constrained problems. In: AAAI 2004, pp. 167–172 (2004)
Reiter, R.: A theory of diagnosis from first principles. Artif. Intell. 32(1), 57–95 (1987)
Schmitz, T., Jannach, D.: Finding errors in the enron spreadsheet corpus. In: VL/HCC 2016 (2016)
Stumptner, M., Wotawa, F.: Diagnosing tree-structured systems. Artif. Intell. 127(1), 1–29 (2001)
Tan, G.: Spreadsheet mistake costs Tibco shareholders $100 million, 16 October 2014. http://on.wsj.com/1vjYdWE. Accessed 7 Apr 2016
Acknowledgment
The work described in this paper was funded by the Austrian Science Fund (FWF) under contract number I2144 and the German Research Foundation (DFG) under contract number JA 2095/4-1.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Schmitz, T., Hofer, B., Jannach, D., Wotawa, F. (2016). Fragment-Based Diagnosis of Spreadsheets. In: Milazzo, P., Varró, D., Wimmer, M. (eds) Software Technologies: Applications and Foundations. STAF 2016. Lecture Notes in Computer Science(), vol 9946. Springer, Cham. https://doi.org/10.1007/978-3-319-50230-4_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-50230-4_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-50229-8
Online ISBN: 978-3-319-50230-4
eBook Packages: Computer ScienceComputer Science (R0)