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

visualizing smt based parallel constraint solving
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Visualizing SMT-Based Parallel Constraint Solving

Jelena Budakovic, Amedeo Zucchetti, Matteo Marescotti, Antti E. J. Hyvärinen, and Natasha Sharygina

SMT@CAV2017 Università della Svizzera italiana Switzerland

slide-2
SLIDE 2

Visualizing SMT-Based Parallel Constraint Solving

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 2

slide-3
SLIDE 3

Visualizing SMT-Based Parallel Constraint Solving

Verification Use Case

Matteo Marescotti 3

Source code repository

Model Checker

SMT Solver

SMT Viewer

(PDR)

slide-4
SLIDE 4

Visualizing SMT-Based Parallel Constraint Solving

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 4

slide-5
SLIDE 5

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

slide-6
SLIDE 6

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

Circle: original instance

3 solvers portfolio SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

3

slide-7
SLIDE 7

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

Circle: original instance

3 solvers portfolio

Diamond: partitioning

Each diamond represents a way to partition the parent’s instance. SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

3

slide-8
SLIDE 8

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

… 5 7 …

Circle: original instance

3 solvers portfolio

Diamond: partitioning

Each diamond represents a way to partition the parent’s instance.

Circle: a partition of the parent’s instance

Each node could possibly be the root of a new tree. SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

3

slide-9
SLIDE 9

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

… 5 7 …

Circle: original instance

3 solvers portfolio

Diamond: partitioning

Each diamond represents a way to partition the parent’s instance.

Circle: a partition of the parent’s instance

Each node could possibly be the root of a new tree. SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

… … 3

slide-10
SLIDE 10

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

… 5 7 …

Circle: original instance

3 solvers portfolio

Diamond: partitioning

Each diamond represents a way to partition the parent’s instance.

Circle: a partition of the parent’s instance

Each node could possibly be the root of a new tree. SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

… … 3

slide-11
SLIDE 11

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

… 5 7 …

Circle: original instance

3 solvers portfolio

Diamond: partitioning

Each diamond represents a way to partition the parent’s instance.

Circle: a partition of the parent’s instance

Each node could possibly be the root of a new tree. SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

… … 3

✓ ✓

slide-12
SLIDE 12

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

… 5 7 …

Circle: original instance

3 solvers portfolio

Diamond: partitioning

Each diamond represents a way to partition the parent’s instance.

Circle: a partition of the parent’s instance

Each node could possibly be the root of a new tree. SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

… … 3

slide-13
SLIDE 13

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

… 5 7 …

Circle: original instance

3 solvers portfolio

Diamond: partitioning

Each diamond represents a way to partition the parent’s instance.

Circle: a partition of the parent’s instance

Each node could possibly be the root of a new tree. SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

… … 3

✗ ✗✗ ✗

slide-14
SLIDE 14

Visualizing SMT-Based Parallel Constraint Solving

Parallelization Tree Framework

… 5 7 …

Circle: original instance

3 solvers portfolio

Diamond: partitioning

Each diamond represents a way to partition the parent’s instance.

Circle: a partition of the parent’s instance

Each node could possibly be the root of a new tree. SAT 2015, ATVA 2016, FMCAD 2017 (P3)

Matteo Marescotti 5

… … 3

✗ ✗✗ ✗ ✗

slide-15
SLIDE 15

Visualizing SMT-Based Parallel Constraint Solving

SMT Portfolio & Partitioning

  • Portfolio:
  • Solver random seed
  • Partitioning:
  • Search space partitioning (SAT)
  • Jointly exhaustive assumptions (disjunction is a tautology)

Matteo Marescotti 6

slide-16
SLIDE 16

Visualizing SMT-Based Parallel Constraint Solving

PDR Portfolio & Partitioning

  • Portfolio:
  • PDR strategy
  • Underlying SMT solver’s random seed
  • Partitioning:
  • PDR partitioning

Matteo Marescotti 7

slide-17
SLIDE 17

Visualizing SMT-Based Parallel Constraint Solving

PDR

Matteo Marescotti 8

Init Bad

slide-18
SLIDE 18

Visualizing SMT-Based Parallel Constraint Solving

F1

PDR

Matteo Marescotti 8

Init Bad

slide-19
SLIDE 19

Visualizing SMT-Based Parallel Constraint Solving

F2 F1

PDR

Matteo Marescotti 8

Init Bad

slide-20
SLIDE 20

Visualizing SMT-Based Parallel Constraint Solving

F3 F2 F1

PDR

Matteo Marescotti 8

Init Bad

slide-21
SLIDE 21

Visualizing SMT-Based Parallel Constraint Solving

F3 F2 F1

PDR

Matteo Marescotti 8

Init Bad

slide-22
SLIDE 22

Visualizing SMT-Based Parallel Constraint Solving

F3 F2 F1

PDR

Matteo Marescotti 8

Init Bad Tr

slide-23
SLIDE 23

Visualizing SMT-Based Parallel Constraint Solving

F3 F2 F1

PDR

Matteo Marescotti 8

Init Bad

slide-24
SLIDE 24

Visualizing SMT-Based Parallel Constraint Solving

F3 F2 F1

PDR

Matteo Marescotti 8

Init Bad

slide-25
SLIDE 25

Visualizing SMT-Based Parallel Constraint Solving

F3 F2 F1

PDR

Matteo Marescotti 8

Init Bad

slide-26
SLIDE 26

Visualizing SMT-Based Parallel Constraint Solving

F2 F1

PDR

Matteo Marescotti 8

Init Bad =F3

slide-27
SLIDE 27

Visualizing SMT-Based Parallel Constraint Solving Matteo Marescotti 9

PDR Partitioning

FMCAD 2017

Bad Init

slide-28
SLIDE 28

Visualizing SMT-Based Parallel Constraint Solving Matteo Marescotti 9

PDR Partitioning

FMCAD 2017

Bad

Pre-image of Bad

Init

slide-29
SLIDE 29

Visualizing SMT-Based Parallel Constraint Solving Matteo Marescotti 9

PDR Partitioning

FMCAD 2017

Bad

Pre-image of Bad

Init

slide-30
SLIDE 30

Visualizing SMT-Based Parallel Constraint Solving Matteo Marescotti 9

PDR Partitioning

FMCAD 2017 Bad1 Bad2 Bad3

Init

slide-31
SLIDE 31

Visualizing SMT-Based Parallel Constraint Solving Matteo Marescotti 9

PDR Partitioning

FMCAD 2017 Bad1 Bad2 Bad3

Init

slide-32
SLIDE 32

Visualizing SMT-Based Parallel Constraint Solving

SMTViewer API

Matteo Marescotti 10

  • SQLite database of events happened during parallel solving:
slide-33
SLIDE 33

Visualizing SMT-Based Parallel Constraint Solving

Analysis Demo

Matteo Marescotti 11

slide-34
SLIDE 34

Visualizing SMT-Based Parallel Constraint Solving

Architecture

Matteo Marescotti 12

  • SMTService:
  • SMT: OpenSMT2
  • PDR: Z3 Spacer

SMTService

slide-35
SLIDE 35

Visualizing SMT-Based Parallel Constraint Solving

Architecture

Matteo Marescotti 12

SMTViewer

  • SMTService:
  • SMT: OpenSMT2
  • PDR: Z3 Spacer
  • SMTViewer:
  • Real time mode
  • Analysis mode

SMTService

slide-36
SLIDE 36

Visualizing SMT-Based Parallel Constraint Solving

Live Demo

Matteo Marescotti 13

slide-37
SLIDE 37

Visualizing SMT-Based Parallel Constraint Solving

Future work

  • SMT formula visualization
  • SMT learned clauses analysis
  • PDR frame lemmas analysis
  • SMTS: support for more solvers, reproducibility
  • Any suggestions?

Matteo Marescotti 14

slide-38
SLIDE 38

Visualizing SMT-Based Parallel Constraint Solving

Thank you
 


SMTS public repository:


$ git clone https://scm.ti-edu.ch/repogit/smts.git


Matteo Marescotti 15