Debugging overconstrained declarative models using unsatisfiable cores

I. Shlyakhter, R. Seater, D. Jackson, M. Sridharan, M. Taghdiri
18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.  
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. 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,
more » ... ing 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 modelling 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.
doi:10.1109/ase.2003.1240298 dblp:conf/kbse/ShlyakhterSJST03 fatcat:uy7vmcigrbcc7m3myarr7x6w6y