90 likes | 181 Views
Panel on Decision Procedures. Randal E. Bryant Lintao Zhang Nils Klarlund Harald Ruess Sergey Berezin Rajeev Joshi. An Overview. Randal E. Bryant. Carnegie Mellon University. http://www.cs.cmu.edu/~bryant. OK. Verification . Error.
E N D
Panel on Decision Procedures Randal E. Bryant Lintao Zhang Nils Klarlund Harald Ruess Sergey Berezin Rajeev Joshi
An Overview Randal E. Bryant Carnegie Mellon University http://www.cs.cmu.edu/~bryant
OK Verification Error Decision Procedure for Decidable Fragment of First-Order Logic Decision Procedure for Decidable Fragment of First-Order Logic Decision Procedures in Formal Verification RTL/ Source Code + Specifi-cation Formal Model + Specifi-cation Abstraction Applications: Out-of-order, Pipelined Microprocessors; Cache Coherence Protocols; Device Drivers; Compiler Validation; …
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 Lists Domains Reals Conjunction of linear constraints = LP Polynomial Time Integers Conjunction of linear constraints = ILP NP-complete Added Features Quantifier elimination Proof generation Counterexample generation Expressive Power
Input Formula Input Formula additional clause unsatisfiable Approximate Boolean Encoder Satisfiability-preserving Boolean Encoder First-order Conjunctions SAT Checker Boolean Formula Boolean Formula satisfiable SAT Solver SAT Solver satisfying assignment satisfiable unsatisfiable satisfiable unsatisfiable LAZY ENCODING EAGER ENCODING SAT-based Decision Procedures
Uninterpreted Functions Linear Arithmetic Theory Combiner Bit Vectors • • • First-order Conjunctions SAT Checker Theory N 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
Input Formula Satisfiability-preserving Boolean Encoder Boolean Formula SAT Solver unsatisfiable satisfiable 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
Code Validation Benchmarks UCLID 2—3 orders of magnitude faster than CVC
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?