accelerating mus extraction with recursive model rotation
play

Accelerating MUS Extraction with Recursive Model Rotation Anton - PowerPoint PPT Presentation

Accelerating MUS Extraction with Recursive Model Rotation Anton Belov and Joao Marques-Silva Complex and Adaptive Systems Laboratory School of Computer Science and Informatics University College Dublin, Ireland FMCAD 2011 October 31, 2011


  1. Accelerating MUS Extraction with Recursive Model Rotation Anton Belov and Joao Marques-Silva Complex and Adaptive Systems Laboratory School of Computer Science and Informatics University College Dublin, Ireland FMCAD 2011 October 31, 2011 Austin, TX, USA A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 1 / 16

  2. Introduction Minimal Unsatisfiability ◮ F is minimally unsatisfiable ( F ∈ MU), if F ∈ UNSAT and for any C ∈ F , F \ C ∈ SAT. A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 2 / 16

  3. Introduction Minimal Unsatisfiability ◮ F is minimally unsatisfiable ( F ∈ MU), if F ∈ UNSAT and for any C ∈ F , F \ C ∈ SAT. ◮ F ′ is minimally unsatisfiable subformula (MUS) of F ( F ′ ∈ MUS( F )) if F ′ ⊆ F and F ′ ∈ MU. A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 2 / 16

  4. Introduction Minimal Unsatisfiability ◮ F is minimally unsatisfiable ( F ∈ MU), if F ∈ UNSAT and for any C ∈ F , F \ C ∈ SAT. ◮ F ′ is minimally unsatisfiable subformula (MUS) of F ( F ′ ∈ MUS( F )) if F ′ ⊆ F and F ′ ∈ MU. Example C 1 = x ∨ y C 3 = x ∨ ¬ y C 5 = y ∨ z C 2 = ¬ x ∨ y C 4 = ¬ x ∨ ¬ y C 6 = y ∨ ¬ z ◮ { C 1 , C 2 , C 3 , C 4 } ∈ MU. A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 2 / 16

  5. Introduction Minimal Unsatisfiability ◮ F is minimally unsatisfiable ( F ∈ MU), if F ∈ UNSAT and for any C ∈ F , F \ C ∈ SAT. ◮ F ′ is minimally unsatisfiable subformula (MUS) of F ( F ′ ∈ MUS( F )) if F ′ ⊆ F and F ′ ∈ MU. Example C 1 = x ∨ y C 3 = x ∨ ¬ y C 5 = y ∨ z C 2 = ¬ x ∨ y C 4 = ¬ x ∨ ¬ y C 6 = y ∨ ¬ z ◮ { C 1 , C 2 , C 3 , C 4 } ∈ MU. ◮ F = { C 1 , . . . , C 6 } ∈ UNSAT, but / ∈ MU. A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 2 / 16

  6. Introduction Minimal Unsatisfiability ◮ F is minimally unsatisfiable ( F ∈ MU), if F ∈ UNSAT and for any C ∈ F , F \ C ∈ SAT. ◮ F ′ is minimally unsatisfiable subformula (MUS) of F ( F ′ ∈ MUS( F )) if F ′ ⊆ F and F ′ ∈ MU. Example C 1 = x ∨ y C 3 = x ∨ ¬ y C 5 = y ∨ z C 2 = ¬ x ∨ y C 4 = ¬ x ∨ ¬ y C 6 = y ∨ ¬ z ◮ { C 1 , C 2 , C 3 , C 4 } ∈ MU. ◮ { C 1 , C 2 , C 3 , C 4 } ∈ MUS( F ). A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 2 / 16

  7. Introduction Minimal Unsatisfiability ◮ F is minimally unsatisfiable ( F ∈ MU), if F ∈ UNSAT and for any C ∈ F , F \ C ∈ SAT. ◮ F ′ is minimally unsatisfiable subformula (MUS) of F ( F ′ ∈ MUS( F )) if F ′ ⊆ F and F ′ ∈ MU. Example C 1 = x ∨ y C 3 = x ∨ ¬ y C 5 = y ∨ z C 2 = ¬ x ∨ y C 4 = ¬ x ∨ ¬ y C 6 = y ∨ ¬ z ◮ { C 1 , C 2 , C 3 , C 4 } ∈ MU. ◮ { C 3 , C 4 , C 5 , C 6 } ∈ MUS( F ). A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 2 / 16

  8. Introduction Minimal Unsatisfiability ◮ F is minimally unsatisfiable ( F ∈ MU), if F ∈ UNSAT and for any C ∈ F , F \ C ∈ SAT. ◮ F ′ is minimally unsatisfiable subformula (MUS) of F ( F ′ ∈ MUS( F )) if F ′ ⊆ F and F ′ ∈ MU. Applications of MUSes (in formal methods) ◮ Abstraction refinement frameworks. ◮ Decision procedures. ◮ Design debugging. A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 2 / 16

  9. Computation of MUSes ◮ Based on iterative calls to SAT solver (not the only way, but currently the most effective): for each C ∈ F ◮ if F \ { C } ∈ UNSAT, then there is an MUS of F that does not contain C → remove C from F . ◮ if F \ { C } ∈ SAT ( C is necessary for F ), then C is in all MUSes of F → keep C . A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 3 / 16

  10. Computation of MUSes ◮ Based on iterative calls to SAT solver (not the only way, but currently the most effective): for each C ∈ F ◮ if F \ { C } ∈ UNSAT, then there is an MUS of F that does not contain C → remove C from F . ◮ if F \ { C } ∈ SAT ( C is necessary for F ), then C is in all MUSes of F → keep C . ◮ SAT solving is the main bottleneck of the computation, hence reduction in the number of SAT solver calls is the key to efficiency. A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 3 / 16

  11. Computation of MUSes ◮ Based on iterative calls to SAT solver (not the only way, but currently the most effective): for each C ∈ F ◮ if F \ { C } ∈ UNSAT, then there is an MUS of F that does not contain C → remove C from F . ◮ if F \ { C } ∈ SAT ( C is necessary for F ), then C is in all MUSes of F → keep C . ◮ SAT solving is the main bottleneck of the computation, hence reduction in the number of SAT solver calls is the key to efficiency. ◮ On UNSAT outcomes – clause set refinement : remove C and all clauses outside the unsatisfiable core of F \ { C } . [Dershowitz et al’06] A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 3 / 16

  12. Computation of MUSes ◮ Based on iterative calls to SAT solver (not the only way, but currently the most effective): for each C ∈ F ◮ if F \ { C } ∈ UNSAT, then there is an MUS of F that does not contain C → remove C from F . ◮ if F \ { C } ∈ SAT ( C is necessary for F ), then C is in all MUSes of F → keep C . ◮ SAT solving is the main bottleneck of the computation, hence reduction in the number of SAT solver calls is the key to efficiency. ◮ On UNSAT outcomes – clause set refinement : remove C and all clauses outside the unsatisfiable core of F \ { C } . [Dershowitz et al’06] ◮ On SAT outcomes – model rotation : detect additional necessary clauses without SAT solver calls. [Marques-Silva&Lynce’11] Recursive model rotation (RMR) – very effective improvement of model rotation. [this paper] A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 3 / 16

  13. Impact of RMR ◮ 500 benchmarks submitted to MUS track of SAT Competition 2011. ◮ Time limit 1200 sec, memory limit 4 GB. 10000 MUSer2 (with RMR), # SAT solver calls 1000 100 10 1 1 10 100 1000 10000 MUSer2 w/o RMR, # SAT solver calls ◮ MUS computation without RMR ( x -axis) vs with RMR ( y -axis) ◮ Left: number of SAT solver calls (on instances solved in both cases). A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 4 / 16

  14. Impact of RMR ◮ 500 benchmarks submitted to MUS track of SAT Competition 2011. ◮ Time limit 1200 sec, memory limit 4 GB. 1000 10000 MUSer2 (with RMR), # SAT solver calls MUSer2 (with RMR), CPU time (sec) 100 1000 100 10 10 1 1 0.1 1 10 100 1000 10000 0.1 1 10 100 1000 MUSer2 w/o RMR, # SAT solver calls MUSer2 w/o RMR, CPU time (sec) ◮ MUS computation without RMR ( x -axis) vs with RMR ( y -axis) ◮ Left: number of SAT solver calls (on instances solved in both cases). ◮ Right: CPU time (sec). A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 4 / 16

  15. Computation of MUSes Use SAT solver to identify necessary (or, transition ) clauses ◮ C ∈ F is necessary for F , if F ∈ UNSAT and F \ { C } ∈ SAT. A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 5 / 16

  16. Computation of MUSes Use SAT solver to identify necessary (or, transition ) clauses ◮ C ∈ F is necessary for F , if F ∈ UNSAT and F \ { C } ∈ SAT. ◮ F ∈ MU iff every clause C ∈ F is necessary for F . A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 5 / 16

  17. Computation of MUSes Use SAT solver to identify necessary (or, transition ) clauses ◮ C ∈ F is necessary for F , if F ∈ UNSAT and F \ { C } ∈ SAT. ◮ F ∈ MU iff every clause C ∈ F is necessary for F . ◮ If C is necessary for F then C is necessary for every unsatisfiable subset of F . A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 5 / 16

  18. Computation of MUSes Use SAT solver to identify necessary (or, transition ) clauses ◮ C ∈ F is necessary for F , if F ∈ UNSAT and F \ { C } ∈ SAT. ◮ F ∈ MU iff every clause C ∈ F is necessary for F . ◮ If C is necessary for F then C is necessary for every unsatisfiable subset of F . Deletion-based MUS Computation Input : F — an unsatisfiable CNF formula M ← F M is a superset of some MUS of F // Inv: foreach C ∈ F do if M \ { C } ∈ UNSAT then // is C necessary for M ? // no - delete it M ← M \ { C } // yes - keep it return M // Every C ∈ M is necessary for M A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 5 / 16

  19. Example F = { C 1 , . . . , C 6 } M (an overapproximation of some MUS of F ): C 1 = x ∨ y C 3 = x ∨ ¬ y C 5 = y ∨ z C 2 = ¬ x ∨ y C 4 = ¬ x ∨ ¬ y C 6 = y ∨ ¬ z M = F ∈ UNSAT A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 6 / 16

  20. Example F = { C 1 , . . . , C 6 } M (an overapproximation of some MUS of F ): C 1 = x ∨ y C 3 = x ∨ ¬ y C 5 = y ∨ z C 2 = ¬ x ∨ y C 4 = ¬ x ∨ ¬ y C 6 = y ∨ ¬ z M = F ∈ UNSAT M \ { C 1 } ∈ UNSAT, hence C 1 is not necessary A. Belov, J. Marques-Silva (UCD, Dublin) Recursive Model Rotation FMCAD 2011 6 / 16

Recommend


More recommend