kirancodes.me
To Proof Maintenance & Beyond!

Debugging Overconstrained Declarative Models Using Unsatisfiable Cores

Ilya Shlyakhter, Robert Seater, Daniel Jackson, Manu Sridharan, Mana Taghdiri

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.

BibTeX
@inproceedings{Shlyakhter-al:ASE03,
  author    = {Ilya Shlyakhter and
               Robert Seater and
               Daniel Jackson and
               Manu Sridharan and
               Mana Taghdiri},
  title     = {Debugging Overconstrained Declarative Models Using Unsatisfiable Cores},
  booktitle = {ASE},
  pages     = {94--105},
  publisher = {{IEEE} Computer Society},
  year      = {2003},
}

Related papers