학술논문

Debugging overconstrained declarative models using unsatisfiable cores
Document Type
Conference
Source
18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings. Automated software engineering Automated Software Engineering, 2003. Proceedings. 18th IEEE International Conference on. :94-105 2003
Subject
Computing and Processing
Debugging
Safety
Specification languages
Risk analysis
Analytical models
Testing
Software engineering
Language
ISSN
1938-4300
Abstract
Declarative models, in which conjunction and negation are freely used, are susceptible to unintentional overconstraint. Core extraction is a new analysis that mitigates this problem in the context of a checker based on reduction to SAT (systems analysis tools). It exploits a recently developed facility of SAT solvers that provides an "unsatisfiable core" of an unsatisfiable set of clauses, often much smaller than the clause set as a whole. The unsatisfiable core is mapped back into the syntax of the original model, showing the user fragments of the model found to be irrelevant. This information can be a great help in discovering and localizing overconstraint, and in some cases pinpoints it immediately. The construction of the mapping is given for a generalized modeling language, along with a justification of the soundness of the claim that the marked portions of the model are irrelevant. Experiences in applying core extraction to a variety of existing models are discussed.