Electronic spreadsheets, e.g., based on Microsoft Excel, are widely used in organizations for a variety of purposes, and in many cases, the calculations within such spreadsheets are directly used for managerial decision-making. Faults in spreadsheets can therefore represent a major risk to businesses and there are plenty of examples where such faults have led to significant financial losses.
One approach to minimize the risks that are associated with faulty spreadsheets is to provide better tool support for developers to test and debug their spreadsheets. In the academic literature, a variety of approaches to algorithmic spreadsheet debugging has been proposed over the years. In our previous research, we continued these lines of research and we particularly focused on the use of spectrum-based fault localization and model-based debugging techniques for spreadsheet debugging. Some of the main outcomes of our ongoing research were therefore novel algorithmic methods for fault localization in spreadsheets, which we have successfully evaluated through simulation experiments and initial user studies.
The project is designed as a continuation of an ongoing co-operation of research teams. It builds on the developed, advanced fault localization methods but will go beyond purely algorithmic questions of determining a ranked list of potentially faulty program statements in different ways. Specifically, we will explore more interactive debugging approaches for spreadsheets, where the debugger is for example capable of iteratively guiding the user to the true cause of an unexpected calculation output by asking questions about the correctness of individual formulas or by providing explanations. We will furthermore investigate mechanisms to automatically decompose complex spreadsheets into smaller parts to reduce the cognitive load for the user when specifying and validating test cases. To enable real-time interactions, we will in addition explore algorithmic improvements for the underlying fault localization techniques, e.g., by applying principles of qualitative reasoning in the inference process.
To assess the true usefulness of the proposed approaches for typical spreadsheet developers, we will conduct different user studies in the form of spreadsheet construction and debugging exercises, following recent trends in the area of empirical software engineering. Through these studies, we will in addition obtain foundational insights about how users develop and test their spreadsheets.