Combining Models for Improved Fault Localization in Spreadsheets

Birgit Hofer, Andrea Höfler, Franz Wotawa

Research output: Contribution to journalArticleResearchpeer-review

Abstract

Spreadsheets are the most prominent example of end-user programming, but
they unfortunately are often erroneous and thus they compute wrong values. Localizing the true cause of such an observed misbehavior can be cumbersome and frustrating especially for large spreadsheets. Therefore, supporting techniques and tools for fault localization are highly required. Model-based software debugging (MBSD) is a well-known technique for fault localization in software written in imperative and object-oriented programming languages like C, C++ and Java. In this paper, we explain how to use MBSD for fault localization in spreadsheets and compare three types of models for MBSD, namely the value-based model, the dependency-based model and an improved version of the dependency-based model. Whereas the value-based model computes the lowest number of diagnoses, both dependency-based models convince by their low computational complexity. Hence, a combination of these two types of models is desired, and we present a solution that combines value-based and dependency-based models in this paper. Moreover, we discuss a detailed evaluation of the models and the combined approach, which indicates that the combined approach computes the same number of diagnoses like the value-based models while requiring less computation time. Hence, the proposed approach is more appropriate to be used in tools for fault localization in spreadsheets.
Original languageEnglish
Pages (from-to)38-53
Number of pages16
JournalIEEE Transactions on Reliability
Volume66
Issue number1
DOIs
Publication statusPublished - 2017

Fingerprint

Spreadsheets
Object oriented programming
Computer programming languages
Computational complexity

Keywords

  • Cognition
  • Computational modeling
  • Debugging
  • Java
  • Object oriented modeling
  • Software debugging
  • Fault diagnosis
  • fault location
  • model-based diagnosis (MBD)
  • reasoning about programs
  • spreadsheet programs

Fields of Expertise

  • Information, Communication & Computing

Cite this

Combining Models for Improved Fault Localization in Spreadsheets. / Hofer, Birgit; Höfler, Andrea; Wotawa, Franz.

In: IEEE Transactions on Reliability, Vol. 66, No. 1, 2017, p. 38-53.

Research output: Contribution to journalArticleResearchpeer-review

Hofer, Birgit ; Höfler, Andrea ; Wotawa, Franz. / Combining Models for Improved Fault Localization in Spreadsheets. In: IEEE Transactions on Reliability. 2017 ; Vol. 66, No. 1. pp. 38-53.
@article{279d4e9572dc4b3e995c0cd7c5e27944,
title = "Combining Models for Improved Fault Localization in Spreadsheets",
abstract = "Spreadsheets are the most prominent example of end-user programming, butthey unfortunately are often erroneous and thus they compute wrong values. Localizing the true cause of such an observed misbehavior can be cumbersome and frustrating especially for large spreadsheets. Therefore, supporting techniques and tools for fault localization are highly required. Model-based software debugging (MBSD) is a well-known technique for fault localization in software written in imperative and object-oriented programming languages like C, C++ and Java. In this paper, we explain how to use MBSD for fault localization in spreadsheets and compare three types of models for MBSD, namely the value-based model, the dependency-based model and an improved version of the dependency-based model. Whereas the value-based model computes the lowest number of diagnoses, both dependency-based models convince by their low computational complexity. Hence, a combination of these two types of models is desired, and we present a solution that combines value-based and dependency-based models in this paper. Moreover, we discuss a detailed evaluation of the models and the combined approach, which indicates that the combined approach computes the same number of diagnoses like the value-based models while requiring less computation time. Hence, the proposed approach is more appropriate to be used in tools for fault localization in spreadsheets.",
keywords = "Cognition, Computational modeling, Debugging, Java, Object oriented modeling, Software debugging, Fault diagnosis, fault location, model-based diagnosis (MBD), reasoning about programs, spreadsheet programs",
author = "Birgit Hofer and Andrea H{\"o}fler and Franz Wotawa",
year = "2017",
doi = "10.1109/TR.2016.2632151",
language = "English",
volume = "66",
pages = "38--53",
journal = "IEEE Transactions on Reliability",
issn = "0018-9529",
publisher = "Institute of Electrical and Electronics Engineers",
number = "1",

}

TY - JOUR

T1 - Combining Models for Improved Fault Localization in Spreadsheets

AU - Hofer, Birgit

AU - Höfler, Andrea

AU - Wotawa, Franz

PY - 2017

Y1 - 2017

N2 - Spreadsheets are the most prominent example of end-user programming, butthey unfortunately are often erroneous and thus they compute wrong values. Localizing the true cause of such an observed misbehavior can be cumbersome and frustrating especially for large spreadsheets. Therefore, supporting techniques and tools for fault localization are highly required. Model-based software debugging (MBSD) is a well-known technique for fault localization in software written in imperative and object-oriented programming languages like C, C++ and Java. In this paper, we explain how to use MBSD for fault localization in spreadsheets and compare three types of models for MBSD, namely the value-based model, the dependency-based model and an improved version of the dependency-based model. Whereas the value-based model computes the lowest number of diagnoses, both dependency-based models convince by their low computational complexity. Hence, a combination of these two types of models is desired, and we present a solution that combines value-based and dependency-based models in this paper. Moreover, we discuss a detailed evaluation of the models and the combined approach, which indicates that the combined approach computes the same number of diagnoses like the value-based models while requiring less computation time. Hence, the proposed approach is more appropriate to be used in tools for fault localization in spreadsheets.

AB - Spreadsheets are the most prominent example of end-user programming, butthey unfortunately are often erroneous and thus they compute wrong values. Localizing the true cause of such an observed misbehavior can be cumbersome and frustrating especially for large spreadsheets. Therefore, supporting techniques and tools for fault localization are highly required. Model-based software debugging (MBSD) is a well-known technique for fault localization in software written in imperative and object-oriented programming languages like C, C++ and Java. In this paper, we explain how to use MBSD for fault localization in spreadsheets and compare three types of models for MBSD, namely the value-based model, the dependency-based model and an improved version of the dependency-based model. Whereas the value-based model computes the lowest number of diagnoses, both dependency-based models convince by their low computational complexity. Hence, a combination of these two types of models is desired, and we present a solution that combines value-based and dependency-based models in this paper. Moreover, we discuss a detailed evaluation of the models and the combined approach, which indicates that the combined approach computes the same number of diagnoses like the value-based models while requiring less computation time. Hence, the proposed approach is more appropriate to be used in tools for fault localization in spreadsheets.

KW - Cognition

KW - Computational modeling

KW - Debugging

KW - Java

KW - Object oriented modeling

KW - Software debugging

KW - Fault diagnosis

KW - fault location

KW - model-based diagnosis (MBD)

KW - reasoning about programs

KW - spreadsheet programs

U2 - 10.1109/TR.2016.2632151

DO - 10.1109/TR.2016.2632151

M3 - Article

VL - 66

SP - 38

EP - 53

JO - IEEE Transactions on Reliability

JF - IEEE Transactions on Reliability

SN - 0018-9529

IS - 1

ER -