Debugging formal specifications: a practical approach using model-based diagnosis and counterstrategies

Robert Könighofer*, Georg Hofferek, Roderick Paul Bloem

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Creating a formal specification for a design is an error-prone process. At the same time, debugging incorrect specifications is difficult and time consuming. In this work, we propose a debugging method for formal specifications that does not require an implementation. We handle conflicts between a formal specification and the informal design intent using a simulation-based refinement loop, where we reduce the problem of debugging overconstrained specifications to that of debugging unrealizability. We show how model-based diagnosis can be applied to locate an error in an unrealizable specification. The diagnosis algorithm computes properties and signals that can be modified in such a way that the specification becomes realizable, thus pointing out potential error locations. In order to fix the specification, the user must understand the problem. We use counterstrategies to explain conflicts in the specification. Since counterstrategies may be large, we propose several ways to simplify them. First, we compute the counterstrategy not for the original specification but only for an unrealizable core. Second, we use a heuristic to search for a countertrace, i.e., a single input trace which necessarily leads to a specification violation. Finally, we present the countertrace or the counterstrategy as an interactive game against the user, and as a graph summarizing possible plays of this game. We introduce a user-friendly implementation of our debugging method and present experimental results for GR(1) specifications.
Original languageEnglish
Pages (from-to)563-583
JournalInternational Journal on Software Tools for Technology Transfer
Volume15
Issue number5-6
DOIs
Publication statusPublished - 2013

Fields of Expertise

  • Information, Communication & Computing

Treatment code (Nähere Zuordnung)

  • Application
  • Experimental

Fingerprint

Dive into the research topics of 'Debugging formal specifications: a practical approach using model-based diagnosis and counterstrategies'. Together they form a unique fingerprint.

Cite this