Automated debugging based on a constraint model of the program and a test case

Research output: Contribution to journalArticlepeer-review

Abstract

Debugging, i.e., fault localization, in case of a detected failure is a time consuming and intricate task. The automation or at least partial automation of debugging is therefore highly desired. In this paper, we discuss some of the most recent approaches for debugging namely spectrum-based, slicing-based, and model-based debugging. We focus on the latter, and introduce the underlying theory as well as discuss empirical results obtained from our implementation. The model-based approach we present in this paper relies on a constraint representation of a program that is equivalent to the original program in terms of the input-output behavior under some reasonable assumptions. By using constraints for representing programs and subsequently test cases we are able to state the debugging problem as a constraint satisfaction problem that can be effectively solved using a todays constraint solver. The given empirical results indicate that the approach can be used for debugging smaller programs in less than 1 s. Moreover, we briefly compare the three approaches and suggest a combination of them in order to improve the results and the overall necessary running time.
Original languageEnglish
Pages (from-to)390-407
JournalThe Journal of Logic and Algebraic Programming
Volume81
Issue number4
DOIs
Publication statusPublished - 2012

Fields of Expertise

  • Information, Communication & Computing

Treatment code (Nähere Zuordnung)

  • Basic - Fundamental (Grundlagenforschung)

Fingerprint

Dive into the research topics of 'Automated debugging based on a constraint model of the program and a test case'. Together they form a unique fingerprint.

Cite this