A Progressive Approach for Satisfiability Modulo Theories

Slides:



Advertisements
Similar presentations
SMELS: Sat Modulo Equality with Lazy Superposition Christopher Lynch – Clarkson Duc-Khanh Tran - MPI.
Advertisements

Exploiting SAT solvers in unbounded model checking
From Propositional SAT to SMT
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Satisfiability modulo the Theory of Bit Vectors
The Project Problem formulation (one page) Literature review –“Related work" section of final paper, –Go to writing center, –Present paper(s) to class.
50.530: Software Engineering
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
Satisfiability Modulo Theories (An introduction)
SMT Solvers (an extension of SAT) Kenneth Roe. Slide thanks to C. Barrett & S. A. Seshia, ICCAD 2009 Tutorial 2 Boolean Satisfiability (SAT) ⋁ ⋀ ¬ ⋁ ⋀
Introduction to MiniSat v1.14 Presented by Yunho Kim Provable Software Lab, KAIST.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
Panel on Decision Procedures Panel on Decision Procedures Randal E. Bryant Lintao Zhang Nils Klarlund Harald Ruess Sergey Berezin Rajeev Joshi.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
© 2002 Fadi A. Aloul, University of Michigan PBS: A Pseudo-Boolean Solver and Optimizer Fadi A. Aloul, Arathi Ramani, Igor L. Markov, Karem A. Sakallah.
ECE 667 Synthesis & Verification - SAT 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Boolean SAT CNF Representation Slides adopted (with.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 Satisfiability Modulo Theories Sinan Hanay. 2 Boolean Satisfiability (SAT) Is there an assignment to the p 1, p 2, …, p n variables such that  evaluates.
1 Deciding separation formulas with SAT Ofer Strichman Sanjit A. Seshia Randal E. Bryant School of Computer Science, Carnegie Mellon University.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
SAT-Based Decision Procedures for Subsets of First-Order Logic
The Theory of NP-Completeness
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
State-of-the-art in SAT solvers
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
1 A theory-based decision heuristic for DPLL(T) Dan Goldwasser Ofer Strichman Shai Fine Haifa university TechnionIBM-HRL.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Knowledge Representation II (Inference in Propositional Logic) CSE 473 Continued…
ENGG3190 Logic Synthesis “Boolean Satisfiability” Winter 2014 S. Areibi School of Engineering University of Guelph.
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
Boolean Satisfiability and SAT Solvers
CMU, Oct 4 DPLL-based Checkers for Satisfiability Modulo Theories Cesare Tinelli Department of Computer Science The University of Iowa Joint work with.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Introduction to Satisfiability Modulo Theories
Boolean Satisfiability Present and Future
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
REU 2007-ParSat: A Parallel SAT Solver Christopher Earl, Mentor: Dr. Hao Zheng Department of Computer Science & Engineering Introduction Results and Conclusions.
Satisfiability Modulo Theories and DPLL(T) Andrew Reynolds March 18, 2015.
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
Chao Wang, Aarti Gupta, Malay Ganai NEC Laboratories America
Lazy Proofs for DPLL(T)-Based SMT Solvers
A theory-based decision heuristic for DPLL(T)
Introduction to Software Verification
Logic Synthesis CNF Satisfiability.
Satisfiability Modulo Theories
Simple Circuit-Based SAT Solver
LPSAT: A Unified Approach to RTL Satisfiability
SAT-Based Area Recovery in Technology Mapping
ECE 667 Synthesis and Verification of Digital Circuits
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
GRASP-an efficient SAT solver
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ARIO / Sheini & Sakallah Implementation ARIO Satisfiability Modulo Theories (SMT) Solver written in C++ More info at: http://www.eecs.umich.edu/~ario 1/14/2019 ARIO / Sheini & Sakallah

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

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

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

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

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

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

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

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