Abstract
This chapter outlines the basic principles and underlying techniques behind model-based debugging (MBD), including an in-depth analysis of the state of the art and future research directions. It shows that MBD potentially improves other debugging approaches like program slicing or spectrum-based fault localization in terms of diagnosis accuracy, i.e. in implicating fewer statements to be considered as being faulty. The chapter discusses how to formalize MBD, and also introduces algorithms for computing diagnoses using models and show how such models can be automatically extracted from programs without human intervention. The chapter discusses modeling for debugging, and presents two models of programs. These models are: the value-based model, and the dependency-based model. The framework of MBD can accommodate a variety of different modeling methods that can address the difficult aspects of a program. The chapter provides an overview of MBD application areas and highlights some of the characteristics of the individual languages that must be considered.
Original language | English |
---|---|
Title of host publication | Handbook of Software Fault Localization |
Subtitle of host publication | Foundations and Advances |
Publisher | Wiley |
Pages | 393-424 |
Number of pages | 32 |
ISBN (Electronic) | 9781119880929 |
ISBN (Print) | 9781119291800 |
DOIs | |
Publication status | Published - 2 Jan 2023 |
Keywords
- Dependency-based model
- Model-based debugging
- Spectrum-based fault localization
- Value-based model
ASJC Scopus subject areas
- General Computer Science