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.
Highlights
Spreadsheets are widely used in organizations, e.g., for automating daily tasks, for financial accounting and controlling, and for preparing major business decisions (Scaffidi et al 2005)
For spreadsheet 23 (Enron corp information request - Nov 2001), which contained 64 unique formulas, our fragmentation heuristic led to 67 fragments, In this particular case merging the base fragments of the spreadsheet led to lower complexity heuristics only in one case
The fragmentation approach proved to be highly beneficial in terms of the time that is required for the algorithmic debugging process
Summary
Spreadsheets are widely used in organizations, e.g., for automating daily tasks, for financial accounting and controlling, and for preparing major business decisions (Scaffidi et al 2005). Many of the approaches proposed in the literature, at some stage require the user to define test cases that specify the expected calculation output values when given certain inputs (Abreu et al 2015). They at least ask users to indicate if the computed output values are correct or faulty, i.e., if the test case revealed a failure (Hofer et al 2013; Reichwein et al 1999; Ruthruff et al 2005). While the general task itself might be intuitive for users, defining test cases for larger spreadsheets can become a tedious and error-prone task
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.