1 / 9

Panel on Decision Procedures

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.

forbes
Download Presentation

Panel on Decision Procedures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. An Overview Randal E. Bryant Carnegie Mellon University http://www.cs.cmu.edu/~bryant

  3. 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; …

  4. 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

  5. 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

  6. 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

  7. 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

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

  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?

More Related