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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend