Recursive Online Enumeration of All Minimal Unsatisfiable Subsets

In various areas of computer science, we deal with a set of constraints to be satisfied. If the constraints cannot be satisfied simultaneously, it is desirable to identify the core problems among them. Such cores are called minimal unsatisfiable subsets (MUSes). The more MUSes are identified, the more information about the conflicts among the constraints is obtained. However, a full enumeration of all MUSes is in general intractable due to the large number (even exponential) of possible conflicts. Moreover, to identify MUSes, algorithms have to test sets of constraints for their simultaneous satisfiability. The type of the test depends on the application domains. The complexity of the tests can be extremely high especially for domains like temporal logics, model checking, or SMT. In this paper, we propose a recursive algorithm that identifies MUSes in an online manner (i.e., one by one) and can be terminated at any time. The key feature of our algorithm is that it minimises the number of satisfiability tests and thus speeds up the computation. The algorithm is applicable to an arbitrary constraint domain. We benchmark our algorithm against the state-of-the-art algorithm Marco on the Boolean and SMT constraint domains and demonstrate that our algorithm really requires less satisfiability tests and consequently finds more MUSes in the given time limits.

[1]  Shie-Jue Lee,et al.  Deriving minimal conflict sets by CS-trees with mark set in diagnosis from first principles , 1999, IEEE Trans. Syst. Man Cybern. Part B.

[2]  Fahiem Bacchus,et al.  Using Minimal Correction Sets to More Efficiently Compute Minimal Unsatisfiable Sets , 2015, CAV.

[3]  Alexander Nadel Boosting minimal unsatisfiable core extraction , 2010, Formal Methods in Computer Aided Design.

[4]  Inês Lynce,et al.  On Improving MUS Extraction Algorithms , 2011, SAT.

[5]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[6]  Joao Marques-Silva,et al.  MUS Extraction Using Clausal Proofs , 2014, SAT.

[7]  Kenneth L. McMillan,et al.  Automatic Abstraction without Counterexamples , 2003, TACAS.

[8]  María Teresa Gómez López,et al.  NMUS: Structural Analysis for Improving the Derivation of All MUSes in Overconstrained Numeric CSPs , 2007, CAEPIA.

[9]  Inês Lynce,et al.  Towards efficient MUS extraction , 2012, AI Commun..

[10]  Christel Baier,et al.  Principles of model checking , 2008 .

[11]  Jaroslav Bendík Consistency checking in requirements analysis , 2017, ISSTA.

[12]  Alberto Griggio,et al.  Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories , 2014, J. Artif. Intell. Res..

[13]  Karem A. Sakallah,et al.  Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints , 2007, Journal of Automated Reasoning.

[14]  Ofer Strichman,et al.  Accelerated Deletion-based Extraction of Minimal Unsatisfiable Cores , 2014, J. Satisf. Boolean Model. Comput..

[15]  Joao Marques-Silva,et al.  Minimally Unsatisfiable Boolean Circuits , 2011, SAT.

[16]  Joao Marques-Silva,et al.  Accelerating MUS extraction with recursive model rotation , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[17]  Mark H. Liffiton,et al.  Enumerating Infeasibility: Finding Multiple MUSes Quickly , 2013, CPAIOR.

[18]  Jennifer Ryan,et al.  Identifying Minimally Infeasible Subsystems of Inequalities , 1990, INFORMS J. Comput..

[19]  Lubos Brim,et al.  Analysing sanity of requirements for avionics systems , 2015, Formal Aspects of Computing.

[20]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[21]  Peter J. Stuckey,et al.  Interactive type debugging in Haskell , 2003, Haskell '03.

[22]  Fahiem Bacchus,et al.  Finding a Collection of MUSes Incrementally , 2016, CPAIOR.

[23]  Alexander Nadel,et al.  Designers Work Less with Quality Formal Equivalence Checking , 2010 .

[24]  Alexandre Duret-Lutz,et al.  Spot 2 . 0 — a framework for LTL and ω-automata manipulation , 2016 .

[25]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[26]  James Bailey,et al.  Discovery of Minimal Unsatisfiable Subsets of Constraints Using Hitting Set Dualization , 2005, PADL.

[27]  Ivana Cerná,et al.  Online Enumeration of All Minimal Inductive Validity Cores , 2018, SEFM.

[28]  Ofer Strichman,et al.  Efficient MUS extraction with resolution , 2013, 2013 Formal Methods in Computer-Aided Design.

[29]  Michael W. Whalen,et al.  Efficient generation of all minimal inductive validity cores , 2017, 2017 Formal Methods in Computer Aided Design (FMCAD).

[30]  Aimin Hou,et al.  A Theory of Measurement in Diagnosis from First Principles , 1994, Artif. Intell..

[31]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

[32]  Joao Marques-Silva,et al.  Partial MUS Enumeration , 2013, AAAI.

[33]  João P. Marques Silva Minimal Unsatisfiability: Models, Algorithms and Applications (Invited Paper). , 2010, ISMVL 2010.

[34]  Alexandre Duret-Lutz,et al.  Spot 2.0 - A Framework for LTL and \omega -Automata Manipulation , 2016, ATVA.

[35]  Zijiang Yang,et al.  Iterative Abstraction using SAT-based BMC with Proof Analysis , 2003, ICCAD 2003.

[36]  Joyce van Loon Irreducibly inconsistent systems of linear inequalities , 1981 .

[37]  Karem A. Sakallah,et al.  Reveal: A Formal Verification Tool for Verilog Designs , 2008, LPAR.

[38]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[39]  Joao Marques-Silva,et al.  MUSer2: An Efficient MUS Extractor , 2012, J. Satisf. Boolean Model. Comput..

[40]  Peter J. Stuckey,et al.  Finding all minimal unsatisfiable subsets , 2003, PPDP '03.

[41]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[42]  Karem A. Sakallah,et al.  CEGAR-Based Formal Hardware Verification : A Case Study , 2005 .

[43]  Ulrich Junker,et al.  QUICKXPLAIN: Preferred Explanations and Relaxations for Over-Constrained Problems , 2004, AAAI.

[44]  Joao Marques-Silva,et al.  Fast, flexible MUS enumeration , 2015, Constraints.

[45]  Joao Marques-Silva,et al.  Improvements to satisfiability-based boolean function bi-decomposition , 2011, VLSI-SoC.

[46]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[47]  Ivana Cerná,et al.  Tunable Online MUS/MSS Enumeration , 2016, FSTTCS.

[48]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..