posted on 2013-02-19, 12:46authored byAntonio Morgado, Mark Liffiton, Joao Marques-Silva
Enumeration of Minimal Correction Sets (MCS) finds a wide
range of practical applications, including the identification of Minimal
Unsatisfiable Subsets (MUS) used in verifying the complex control logic
of microprocessor designs (e.g. in the CEGAR loop of RevealTM [1,2]).
Current state of the art MCS enumeration exploits core-guided MaxSAT
algorithms, namely the so-called MSU3 [16] MaxSAT algorithm. Observe
that a MaxSAT solution corresponds to a minimum sized MCS, but a
formula may contain MCSes larger than those reported by a MaxSAT
solution. These are obtained by enumerating all MaxSAT solutions. This
paper proposes novel approaches for MCS enumeration, in the context of
SMT, that exploit MaxSAT algorithms other than the MSU3 algorithm.
Among other contributions, the paper proposes new blocking techniques
that can be applied to different MCS enumeration algorithms. In addition,
the paper conducts a comprehensive experimental evaluation of
MCS enumeration algorithms, including both the existing and the novel
algorithms. Problem instances from hardware verification, the SMT-LIB,
and the MaxSAT Evaluation are considered in the experiments.