1
Benchmarking a Model Checker for Algorithmic Improvements and Tuning for Performance
- G. Cabodi S.Nocco S.Quer
Politecnico di Torino Torino, Italy
Gianpiero Cabodi - HWVW2010
Benchmarking a Model Checker for Algorithmic Improvements and - - PowerPoint PPT Presentation
Benchmarking a Model Checker for Algorithmic Improvements and Tuning for Performance G. Cabodi S.Nocco S.Quer Politecnico di Torino Torino, Italy Gianpiero Cabodi - HWVW2010 1 Outline The PdTRAV tool Motivations &
1
Gianpiero Cabodi - HWVW2010
2
The PdTRAV tool Motivations & contributions Experiments Feedbacks & tuning Conclusions
Gianpiero Cabodi - HWVW2010
3
Set of algorithms/engines oriented to
No effort in input language, compiler, GUI (just flat
Little effort in falsification (we mainly address proofs)
Gianpiero Cabodi - HWVW2010
4
BDDs (CUDD-2.4.1, plus customization) AIGs (our own impl., freely extended from VIS) SAT (Minisat-1.14, no circuit-SAT) ABC (for comb. opt.: rewrite, refactor)
Gianpiero Cabodi - HWVW2010
5
Gianpiero Cabodi - HWVW2010
6
Gianpiero Cabodi - HWVW2010
we mainly target proof vs. falsification engines
better understanding of problems
problemi - enginej / enginei - enginej
Gianpiero Cabodi - HWVW2010 7
Tool benckmarking Engine tuning Pros/cons of BDD- and SAT-based approaches
engine analyzes his performance and
Gianpiero Cabodi - HWVW2010 8
6 BDDs: fwd, bwd, fb x 2 (no cuts, cuts) 24 ITP: 6 base x 4 Tunings/Transformations 2 Inductive 1 BMC
Gianpiero Cabodi - HWVW2010 9
Gianpiero Cabodi - HWVW2010 10
Easy (<10 s) Medium (<2 min) Hard (< 15 min) TO SAT 215 16 7 13 UNSAT 304 33 10 9 ? 38 TOT 585 (238+347) 60
Gianpiero Cabodi - HWVW2010 11
Size (# latches)
Gianpiero Cabodi - HWVW2010 12
Size (# latches)
Gianpiero Cabodi - HWVW2010 13
# completed problems
Gianpiero Cabodi - HWVW2010 14
# completed problems
Gianpiero Cabodi - HWVW2010 15
BDD ITP BMC IND Full set 9 7 8 1 ITP+ excluded 28 4 8 2
high value for engine Mi able to solve problem Bj
Could also (indirectly) relate engines, if they have
Gianpiero Cabodi - HWVW2010 16
Equivalence checking (uncover miters) Multiple properties: P = ∧
i pi
Hidden constraints
Guess (rough) on depth (diameter)
Overall BDD size # cut vars
Gianpiero Cabodi - HWVW2010 17
Select 7 engines Run in sequence for 2 min Stop if solved 569 solved problems !!!
Gianpiero Cabodi - HWVW2010 18
we got 12 more ! Similar experiences on industrial benchmarks
Gianpiero Cabodi - HWVW2010 19
traversal iterations / time Peak BDD / sifting Size increase / traversal iterations
To dynamically change settings (e.g. reclustering,
To extend / reduce time limits
Gianpiero Cabodi - HWVW2010 20
Abstractions Eq-preserving transformations Reductions
Gianpiero Cabodi - HWVW2010 21
No extra constraint required Circuit simplified
Equivalence guaranteed on all reachable states Behavior is changed on UNREACHABLE states. Possible impact on backward reachability !
Gianpiero Cabodi - HWVW2010 22
Uncover hidden constraints:
Equivalences Functional dependencies:
Apply transformation
Gianpiero Cabodi - HWVW2010 23
24
Better understand problem set Build expert system Tune package
Extensive experimentation with different engines/
Classify problems & Correlate engines/problems
Improvement w.r.t. HWMCC08 (40+)
Gianpiero Cabodi - HWVW2010
25
Many easy problems Difference made on few benchmarks Winner(s) (probably) depends on new benchmarks
Good for productivity Low for corner cases & difficult instances Some problems solved in hours
Gianpiero Cabodi - HWVW2010
26
Gianpiero Cabodi - HWVW2010