Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Progressive Approach for Satisfiability Modulo Theories

Similar presentations


Presentation on theme: "A Progressive Approach for Satisfiability Modulo Theories"— Presentation transcript:

1 A Progressive Approach for Satisfiability Modulo Theories
Hossein M. Sheini Karem A. Sakallah Electrical Engineering and Computer Science University of Michigan, Ann Arbor, Michigan, USA Constraints and Verification 2006 Isaac Newton Institute for Mathematical Sciences

2 ARIO / Sheini & Sakallah
Outline Problem formulation; applications Algorithmic components Boolean solver Unit 2-variable-per-inequality integer solver General-purpose ILP solver Solution strategies Related approaches Experimental evaluation Conclusions and future work 1/14/2019 ARIO / Sheini & Sakallah

3 Satisfiability Modulo Theories Conjunctive Normal Form (SMT-CNF)
Variables: Boolean: Integer: Atoms: Boolean variable Integer UTVPI Integer constraint Literal: atom or negation of atom Clause: disjunction of literals Formula: conjunction of clauses 1/14/2019 ARIO / Sheini & Sakallah

4 ARIO / Sheini & Sakallah
SMT-CNF Given a SMT-CNF formula Find an assignment to all Boolean (and integer) variables such that OR prove that no such solution exists 1/14/2019 ARIO / Sheini & Sakallah

5 Satisfiability Modulo Theories (SMT)
SMT is the problem of deciding the satisfiability of a quantifier-free formula in one or more first-order theories. Theories of interest are logics of: Equality (E) Integer Unit-Two-Variable-Per-Inequality (UTVPI) (U) Integer Linear Arithmetic (C) 1/14/2019 ARIO / Sheini & Sakallah

6 Satisfiability Modulo Theories (SMT)
SMT formula 1/14/2019 ARIO / Sheini & Sakallah

7 Example SMT-CNF Instance
1/14/2019 ARIO / Sheini & Sakallah

8 ARIO / Sheini & Sakallah
Applications of SMT Verification (SW, HW) Model checking of timed automata Microprocessor verification Program verification Buffer over-run vulnerabilities Scheduling Temporal reasoning Job-shop scheduling 1/14/2019 ARIO / Sheini & Sakallah

9 Solution Algorithm: Version 1
Invoke Solvers Sequentially Enumerate Boolean solutions Check consistency of implied integer constraints Boolean Solver ILP SAT UNSAT MIB-CNF Instance 1/14/2019 ARIO / Sheini & Sakallah

10 Problem Decomposition: Indicator Variables
1/14/2019 ARIO / Sheini & Sakallah

11 Boolean Satisfiability
DPLL-style search to find a solution to a Boolean CNF formula or to prove no such solution exists Major algorithmic advances in last decade Conflict analysis Clause recording (learning) Non-chronological backtracking Efficient BCP using watched literals Random restarts Adaptive decision heuristics (VSIDS, etc.) MiniSAT [N. Eén, N. Sörensson, “An Extensible SAT-solver” SAT’03] 1/14/2019 ARIO / Sheini & Sakallah

12 UTVPI Integer Constraint Solver
Jaffar et al’s polynomial-time incremental algorithm Maintain a transitively-closed and tightened set of UTVPI constraints Generate and add all implied UTVPI constraints every time a new constraint is added 1/14/2019 ARIO / Sheini & Sakallah

13 UTVPI Algorithm Example
1/14/2019 ARIO / Sheini & Sakallah

14 ARIO / Sheini & Sakallah
Algorithm Version 1 Boolean Solver Formula Decision Tree Implication Graph 1/14/2019 ARIO / Sheini & Sakallah

15 ARIO / Sheini & Sakallah
Algorithm Version 1 UTVPI Solver Boolean Solution Formula Add conflict clause and return to Boolean solver 1/14/2019 ARIO / Sheini & Sakallah

16 Pros/Cons of Version 1 Algorithm
Loose integration of Boolean and UTVPI/ILP solvers Cons Late detection of conflicts Inability to analyze UTVPI/ILP conflicts Possibility of enumerating several solutions that are inconsistent for the same reason Extra work if unsatisfiability is due to “logical constraints” 1/14/2019 ARIO / Sheini & Sakallah

17 Solution Algorithm: Version 2
Integrate UTVPI solver into the Boolean solver Check consistency of relevant integer constraints off-line with a generic ILP solver 1/14/2019 ARIO / Sheini & Sakallah

18 ARIO / Sheini & Sakallah
Algorithm Version 2 1/14/2019 ARIO / Sheini & Sakallah

19 ARIO / Sheini & Sakallah
Algorithm Version 2 1/14/2019 ARIO / Sheini & Sakallah

20 Solution Algorithm: Version 3
Conservatively abstract formula Replace equality with one-way implication Positive unate in all B variables 1/14/2019 ARIO / Sheini & Sakallah

21 ARIO / Sheini & Sakallah
Algorithm Version 3 1/14/2019 ARIO / Sheini & Sakallah

22 Final Version of Combined Algorithm
Always: Enforce only one-way implication from indicator variable to its UTVPI constraint Sometimes: Enforce equality between indicator variable and its UTVPI constraint when computationally cheap 1/14/2019 ARIO / Sheini & Sakallah

23 Final Version on Example Formula
1/14/2019 ARIO / Sheini & Sakallah

24 Handling non-UTVPI Constraints
Solution So far: UTVPI constraints sharing both variables with non-UTVPI constraints to Integer Programming Solver UNSAT 1/14/2019 ARIO / Sheini & Sakallah

25 Offline Learning: Cutting Planes
NEW 1/14/2019 ARIO / Sheini & Sakallah

26 Learning on Example Formula
1/14/2019 ARIO / Sheini & Sakallah

27 Progressive Solving Scheme
Gradual Concretization of the Formula = Gradual Activation of Theory Solvers 1/14/2019 ARIO / Sheini & Sakallah

28 ARIO / Sheini & Sakallah
Implementation ARIO Satisfiability Modulo Theories (SMT) Solver written in C++ More info at: 1/14/2019 ARIO / Sheini & Sakallah

29 Comparison to Other Methods
DPLL(T) - Ario Version 2 Ario Version 1 MathSAT Strategy for Linking Theories UCLID equality X X X X X Ario Final X Ario Version 3 MLLP conditional X X X X Branch-and-Check Big-M Simplex/B&B Lazy Tight Eager Strategy for Solving Theories 1/14/2019 ARIO / Sheini & Sakallah

30 Experimental Evaluation
Wisconsin Safety Analysis (WiSA) Fischer's mutual exclusion protocol MathSAT CIRC CIRC – Safety Checking of RTL Circuits 1/14/2019 ARIO / Sheini & Sakallah

31 Wisconsin Safety Analysis (WiSA)
benchmark number of conflicts Number of iterations total in UTVPI in Cutting Planes with Cutting no Cutting s-20-20 1111 1057 6 10 84 s-20-30 3172 3009 12 8 2066 s-20-40 30611 30418 3 1 time-out s-30-30 1500 1436 2 447 s-30-40 7631 7281 29 11 273 xs-20-20 877 811 17 160 xs-20-30 396 388 318 xs-20-40 748710 746239 xs-30-40 3739 3596 18 16 255 1/14/2019 ARIO / Sheini & Sakallah

32 Wisconsin Safety Analysis (WiSA)
benchmark UCLID time ICS ARIO time UTVPI non-UTVPI total s-20-20 8.78 0.25 0.17 0.01 0.26 s-20-30 9.50 0.37 0.32 0.61 s-20-40 4.50 286.84 2.77 5.05 s-30-30 20.89 1.64 0.28 0.45 s-30-40 19.21 7.41 1.21 2.06 xs-20-20 26.03 17.77 0.35 0.02 0.57 xs-20-30 21.42 0.1 0.23 xs-20-40 14.18 >3600 173.9 276.43 xs-30-40 33.22 1.88 0.06 3.01 1/14/2019 ARIO / Sheini & Sakallah

33 Fischer's Mutual Exclusion Protocol (Encoded for MathSAT)
These are benchmarks encoded by MathSAT developers and probably very adaptable to MathSAT. Below the diagonal line means that ARIO is faster and above that means the other solver is faster. ARIO is faster than CVC Lite (the latest version from Stanford) similar to SVC ARIO is comparable to MathSAT but slower in some large instances. (possibly due to that the are not as many conflicts amonf DL constraints which makes online processing of them slower than off-line processing) Timeout = 600 sec. 1/14/2019 ARIO / Sheini & Sakallah

34 ARIO / Sheini & Sakallah
MathSAT CIRC Suite Generated for MathSAT, verifying properties for some simple circuits. *Copied from MathSAT TACAS 2005 paper comparing accumulated time of CIRC benchmarks for MathSAT, CVC and ICS 1/14/2019 ARIO / Sheini & Sakallah

35 RTCL - Safety Properties for RTL Circuits
1/14/2019 ARIO / Sheini & Sakallah

36 Conclusions and Future Work
Judicious integration/”use” of solvers Boolean reasoning (constraint propagation, conflict analysis, non-chronological backtracking, etc.) is key to scalability Incrementality is essential for performance Further benchmarking, tuning, competition? 1/14/2019 ARIO / Sheini & Sakallah


Download ppt "A Progressive Approach for Satisfiability Modulo Theories"

Similar presentations


Ads by Google