visualizing smt based parallel constraint solving
play

Visualizing SMT-Based Parallel Constraint Solving Jelena Budakovic, - PowerPoint PPT Presentation

Visualizing SMT-Based Parallel Constraint Solving Jelena Budakovic, Amedeo Zucchetti, Matteo Marescotti, Antti E. J. Hyvrinen, and Natasha Sharygina Universit della Svizzera italiana Switzerland SMT@CAV2017 Motivations SMT Very


  1. Visualizing SMT-Based Parallel Constraint Solving Jelena Budakovic, Amedeo Zucchetti, Matteo Marescotti, Antti E. J. Hyvärinen, and Natasha Sharygina Università della Svizzera italiana Switzerland SMT@CAV2017

  2. Motivations • SMT • Very expressive language • Problem’s intrinsic high complexity (SAT + decision procedures) • SMT solvers: • Widely used for modelling • Highly optimized sequentially • Parallel SMT: • Aims to solve more and faster • Parallel computing is difficult! Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 2

  3. Verification Use Case Source code repository Model Checker SMT Solver (PDR) SMT Viewer Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 3

  4. Parallelize the work • Portfolio: • Many search-independent processes • Partitioning: • The problem is partitioned to several sub-problems such that: • problem is SAT: exists a sub-problem SAT • problem is UNSAT: all sub-problems are UNSAT • Combination of the two above Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 4

  5. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  6. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) Circle: original instance 3 3 solvers portfolio Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  7. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) Circle: original instance 3 3 solvers portfolio … Diamond: partitioning Each diamond represents a way to partition the parent’s instance. Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  8. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) Circle: original instance 3 3 solvers portfolio … Diamond: partitioning Each diamond represents a way to partition the parent’s instance. … Circle: a partition of the parent’s instance 5 7 Each node could possibly be the root of a new tree. Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  9. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) Circle: original instance 3 3 solvers portfolio … Diamond: partitioning Each diamond represents a way to partition the parent’s instance. … Circle: a partition of the parent’s instance 5 7 Each node could possibly be the root of a new tree. … … Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  10. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) Circle: original instance 3 3 solvers portfolio … Diamond: partitioning Each diamond represents a way to partition the parent’s instance. ✓ … Circle: a partition of the parent’s instance 5 7 Each node could possibly be the root of a new tree. … … Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  11. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) ✓ Circle: original instance 3 3 solvers portfolio … Diamond: partitioning Each diamond represents a way to partition the parent’s instance. ✓ … Circle: a partition of the parent’s instance 5 7 Each node could possibly be the root of a new tree. … … Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  12. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) Circle: original instance 3 3 solvers portfolio … Diamond: partitioning Each diamond represents a way to partition the parent’s instance. ✗ … Circle: a partition of the parent’s instance 5 7 Each node could possibly be the root of a new tree. … … Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  13. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) Circle: original instance 3 3 solvers portfolio … Diamond: partitioning Each diamond represents a way to partition the parent’s instance. ✗ ✗ ✗✗ … Circle: a partition of the parent’s instance 5 7 Each node could possibly be the root of a new tree. … … Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  14. Parallelization Tree Framework SAT 2015, ATVA 2016, FMCAD 2017 (P3) ✗ Circle: original instance 3 3 solvers portfolio … Diamond: partitioning Each diamond represents a way to partition the parent’s instance. ✗ ✗ ✗✗ … Circle: a partition of the parent’s instance 5 7 Each node could possibly be the root of a new tree. … … Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 5

  15. SMT Portfolio & Partitioning • Portfolio: • Solver random seed • Partitioning: • Search space partitioning (SAT) • Jointly exhaustive assumptions (disjunction is a tautology) Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 6

  16. PDR Portfolio & Partitioning • Portfolio: • PDR strategy • Underlying SMT solver’s random seed • Partitioning: • PDR partitioning Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 7

  17. PDR Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  18. PDR F 1 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  19. PDR F 2 F 1 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  20. PDR F 3 F 2 F 1 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  21. PDR F 3 F 2 F 1 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  22. PDR F 3 F 2 F 1 Init Bad Tr Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  23. PDR F 3 F 2 F 1 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  24. PDR F 3 F 2 F 1 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  25. PDR F 3 F 2 F 1 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  26. PDR F 2 =F 3 F 1 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 8

  27. PDR Partitioning FMCAD 2017 Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 9

  28. PDR Partitioning FMCAD 2017 Pre-image of Bad Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 9

  29. PDR Partitioning FMCAD 2017 Pre-image of Bad Init Bad Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 9

  30. PDR Partitioning FMCAD 2017 Bad 1 Init Bad 2 Bad 3 Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 9

  31. PDR Partitioning FMCAD 2017 Bad 1 Init Bad 2 Bad 3 Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 9

  32. SMTViewer API • SQLite database of events happened during parallel solving: Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 10

  33. Analysis Demo Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 11

  34. SMTS ervice Architecture • SMTS ervice: • SMT: OpenSMT2 • PDR: Z3 Spacer Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 12

  35. SMTS ervice Architecture • SMTS ervice: • SMT: OpenSMT2 • PDR: Z3 Spacer • SMTV iewer: • Real time mode • Analysis mode SMT Viewer Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 12

  36. Live Demo Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 13

  37. Future work • SMT formula visualization • SMT learned clauses analysis • PDR frame lemmas analysis • SMTS: support for more solvers, reproducibility • Any suggestions? Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 14

  38. 
 Thank you 
 SMTS public repository: 
 $ git clone https://scm.ti-edu.ch/repogit/smts.git 
 Matteo Marescotti Visualizing SMT-Based Parallel Constraint Solving 15

Recommend


More recommend