Projects per year
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 language | English |
---|---|
Pages (from-to) | 563-583 |
Journal | International Journal on Software Tools for Technology Transfer |
Volume | 15 |
Issue number | 5-6 |
DOIs | |
Publication status | Published - 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.Projects
- 3 Finished
-
EU - DIAMOND - Diagnosis, Error Modelling and Correction for Reliable Systems Design
Khalimov, A., Greimel, K., Jacobs, S., Hofferek, G., Könighofer, B., Könighofer, R. & Bloem, R.
1/01/10 → 31/12/12
Project: Research project
-
Formal Methods for Design & Verification
Jacobs, S., Bloem, R., Könighofer, R., Könighofer, B., Khalimov, A., Hofferek, G. & Braud-Santoni, N.
1/02/08 → 15/07/19
Project: Research area
-
EU - COCONUT - A correct-by-construction workbench for design and verification of embedded systems
Könighofer, R., Hofferek, G., Greimel, K. & Bloem, R.
1/01/08 → 30/06/10
Project: Research project