Download presentation

Presentation is loading. Please wait.

Published byTheodore Simpson Modified about 1 year ago

1
Panel on Decision Procedures Panel on Decision Procedures Randal E. Bryant Lintao Zhang Nils Klarlund Harald Ruess Sergey Berezin Rajeev Joshi

2
Carnegie Mellon University An Overview Randal E. Bryant

3
– 3 – Decision Procedures in Formal Verification RTL/ Source Code + Specifi- cation Abstraction Verification OK Error Formal Model + Specifi- cation Decision Procedure for Decidable Fragment of First-Order Logic Applications: Out-of-order, Pipelined Microprocessors; Cache Coherence Protocols; Device Drivers; Compiler Validation; …

4
– 4 – Expressive Power Theories What forms of predicates are supported? Uninterpreted functions x = f(x) x = f(f(f(f(x)))) Difference constraints y < x y ≤ x+1 Linear constraints x > 0 & y > 0 2x + 3y > 0 Arrays Bit Vectors ListsDomains Reals Conjunction of linear constraints = LP »Polynomial Time Integers Conjunction of linear constraints = ILP »NP-complete Added Features Quantifier elimination Proof generation Counterexample generation

5
– 5 – SAT-based Decision Procedures Input Formula Boolean Formula satisfiable unsatisfiable Satisfiability-preserving Boolean Encoder SAT Solver EAGER ENCODING Input Formula Boolean Formula satisfiable unsatisfiable Approximate Boolean Encoder SAT Solver satisfying assignment satisfiable First-order Conjunctions SAT Checker unsatisfiable additional clause LAZY ENCODING

6
– 6 – Lazy Encoding Characteristics +Can be extended to handle wide variety of theories +Clean & modular design –Current ones do not scale well Number of calls to conjunction checker often exponential in formula size Each call independent: nothing learned in one call can be exploited by another First-order Conjunctions SAT Checker Uninterpreted Functions Linear Arithmetic Bit Vectors Theory N Theory Combiner

7
– 7 – Eager Encoding Characteristics –Must encode all information about domain properties into Boolean formula –May be impractical or impossible +Lets SAT solver do all of the work Good Approach for Some Domains Modern SAT solvers have remarkable capacity Good at extracting relevant portions out of very large formulas Learns about formula properties as search proceeds E.g., UCLID supports Uninterpreted functions Difference constraints Sparse linear constraints Input Formula Boolean Formula satisfiable unsatisfiable Satisfiability-preserving Boolean Encoder SAT Solver

8
– 8 – Code Validation Benchmarks UCLID 2—3 orders of magnitude faster than CVC

9
– 9 – Issues SAT Engine Higher performance Features to support decision procedure Expressive Power What (combinations of theories) are supported?Performance Can it handle very large formulas? With complex Boolean structure? Program Architecture Lazy vs. eager? How are theories combined? Is SAT solver tightly integrated? Is code reliable & maintainable?

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google