Nikolaj Bjørner Microsoft Research Tractability Workshop MSR Cambridge July 5, FSE &
|
|
- Juliana Bradford
- 5 years ago
- Views:
Transcription
1 Nikolaj Bjørner Microsoft Research Tractability Workshop MSR Cambridge July 5, FSE &
2 Z3 An Efficient SMT solver: Overview and Applications. A hands on example of Engineering SMT solvers: Efficient Theory Resolution using DPLL(T).
3 - SDV: The Static Driver Verifier - PREfix: The Static Analysis Engine for C/C++. - Pex: Program EXploration for.net. - SAGE: Scalable Automated Guided Execution - Spec#: C# + contracts - VCC: Verifying C Compiler for the Viridian Hyper-Visor - HAVOC: Heap-Aware Verification of C-code. - SpecExplorer: Model-based testing of protocol specs. - Yogi: Dynamic symbolic Hyper-V execution + abstraction. - FORMULA: Model-based Design - F7: Refinement types for security protocols - M3: Model Program Modeling - VS3: Abstract interpretation and Synthesis - VERVE: Verified operating system - FINE: Proof carrying certified code
4 Slide shamelessly stolen and adapted from [Patrice Godefroid, ISSTA 2010] 100+ CPU-years - largest dedicated fuzz lab in the world 100s apps - fuzzed using SAGE 100s previously unknown bugs found 1,000,000,000+ computers updated with bug fixes Millions of $ saved for Users and Microsoft 10s of related tools (incl. Pex), 100s DART citations 100,000,000+ constraints - largest usage for any SMT solver
5 3(INT_MAX+1)/4 + (INT_MAX+1)/4 int binary_search(int[] arr, int low, int high, = INT_MIN int key) while (low <= high) { // Find middle value int mid = (low + high) / 2; int val = arr[mid]; if (val == key) return mid; if (val < key) low = mid+1; else high = mid-1; } return -1; } Package: java.util.arrays Function: binary_search void itoa(int n, char* s) { if (n < 0) { *s++ = - ; n = -n; } // Add digits to s. Book: Kernighan and Ritchie Function: itoa (integer to ascii) -INT_MIN= INT_MIN
6 ULONG AllocationSize; while (CurrentBuffer!= NULL) { if (NumberOfBuffers > MAX_ULONG / sizeof(mybuffer)) { return NULL; } NumberOfBuffers++; CurrentBuffer = CurrentBuffer->NextBuffer; } AllocationSize = sizeof(mybuffer)*numberofbuffers; UserBuffersHead = malloc(allocationsize); Overflow check Increment and exit from loop Bug is simple and local Overflow((nb+1)*sizeof(MYBUFFER)) within a large program CurrentBuffer == NULL 6/26/2009 nb <= MAX_ULONG/sizeof(MYBUFFER) 6 Possible overflow
7 Building Verve 9 person-months Source file Verification tool Compilation tool Kernel.cs C# compiler Nucleus.bpl (x86) Kernel.obj (x86) Verified Translator/ Assembler Boogie/Z3 TAL checker Linker/ISO generator Safe to the Last Instruction / Jean Yang & Chris Hawbliztl PLDI 2010 Verve.iso
8 x 2 y f ( read( write( a, x,3), y 2)) f ( y x 1) Array Theory Arithmetic Uninterpreted Functions read ( write( a, i, v), i) v i j read ( write( a, i, v), j) read ( a, j) Z3: An Efficient SMT
9 Simplify SMT-LIB Native Bit-Vectors Theory Solvers Arrays Lin-arithmetic Groebner basis Comb. Array Logic Recursive Datatypes Free (uninterpreted) functions OCaml.NET C F# quote SAT core Model Generation: Finite Models Quantifiers: E-matching Quantifiers: Super-position Parallel Z3 Proof objects Cores: Assumption tracking By Leonardo de Moura & Nikolaj Bjørner
10 Constraints from Software Applications are in spite of Constraint language highly intractable Algorithms high worst case complexity Tractable
11 1000 Modification in invariant checking Switch to Z3 v2 100 Z3 v2 update 10 1 Switch to Boogie2 Attempt to improve Boogie/Z3 interaction 0.1
12
13 Constraint languages highly intractable Algorithms high worst case complexity
14 Constraints from Software Applications are Tractable a b b < c c a x y y < z z < u x w x v x 1 x 2 x 3 Unsat a b b c c a x = w x = v x = 1 x 2 x 3 x y y < z z < u a = b = c x, v, w = 1 x = 1 2,3 y,z,u free Proofs are small Models are determined or free
15 What is then important for engineering solvers? Solve tractable parts Strong Simplification Efficient Indexing Avoid getting stuck - efficient theory solvers - reduce the clutter - minimize & reuse work - restarts, parallel search
16 What is then important for engineering solvers? Solve tractable parts Strong Simplification Efficient Indexing Avoid getting stuck - efficient theory solvers [Efficient, Generalized Array Decision Procedures de Moura & B] - reduce the clutter [Z3 An Efficient SMT Solver de Moura & B] - minimize & reuse work [Efficient E-matching de Moura & B] - restarts, parallel search [Parallel Portfolio, Wintersteiger, Hamadi & de Moura]
17 Constraints from Software Applications are Tractable Problem solved, end of talk
18 Constraints from Software Applications are Tractable sometimes quite intractable for existing techniques
19 Poses a challenge to Z3
20 Bit-vector multiplication using SAT a 0 b 3 a 0 b 2 a 0 b 1 a 0 b 0 O(n 2 ) clauses HA a 1 b 2 HA a 1 b 1 HA a 1 b 0 FA a 2 b 1 FA a 2 b 0 SAT solving time increases exponentially. Similar for BDDs. [Bryant, MC25, 08] FA a 3 b 0 Brute-force enumeration + evaluation faster for 20 bits. [Matthews, BPR 08] out 3 out 2 out 1 out 0 out N = a N b N
21 DPLL(T) is Z3 s main core search framework Efficient SAT technologies DPLL + CDCL + Restart = Space Efficient Resolution Efficient integration of incremental theory solvers Theory lemmas (T-Conflicts) Theory propagation (T-Propagation) But we claim Contemporary DPLL(T) < Resolution
22 But DPLL(T) < Resolution Possible remedies: - Forget DPLL(T). Use other core engine. - Adapt DPLL(T). Elaboration here. We call it: Conflict Directed Theory Resolution
23 Conflict Resolve Learn q Conflict p q, p q, p q, p q Propagate p q Backjump q Guess q Propagate q
24 Builds resolution proof General Resolution DPLL + CDCL + Restart (CDCL: Conflict Directed Clause Learning) Space Efficient DPLL does not create intermediary clauses Efficient indexing and heuristics 2-watch literals, Restarts, phase selection, clause minimization
25 Initialize ε F F is a set of clauses Decide M F M, l F l is unassigned Propagate M F, C l M, l C l F, C l C is false under M Conflict M F, C M F, C C C is false under M Resolve M F C l M F C C l C l M Learn M F C M F, C C Backjump M lm F C l Ml C l F C as no literals in M Unsat M F Unsat Sat M F M F true under M Restart M F ε F Adapted and modified from [Nieuwenhuis, Oliveras, Tinelli J.ACM 06]
26 T- Propagate M F, C l M, l C l F, C l C is false under T + M T- Conflict M F M F M M M and M is false under T T- Propagate a > b, b > c F, a c b d a > b, b > c, b d a c b d F, a c b d T- Conflict M F M F, a b b c c < a were a > b, b > c, a c M Introduces no new literals - terminates
27 The Black Diamonds of DPLL(T) 49 (a 1 a 50 ) [ a i b i b i a i+1 (a i c i c i a i+1 )] i=1 Has no short DPLL(T) proof. Has short DPLL(T) proof when using a 1 a 2, a 2 a 3, a 3 a 4,, a 49 a 50 Example from [Rozanov, Strichman, SMT 07]
28 Idea: DPLL( ) [B, Dutertre, de Moura 08] Try branch a 1 b 1 b 1 a 2 Try branch (a 1 b 1 b 1 a 2 ) Implies a 1 b 1 a 2 Implies a 1 c 1 a 2 Collect implied equalities Collect implied equalities Compute the join of the two equalities common equalities are learned Still potentially O(n 2 ) rounds just at base level of search.
29 Single case splits don t suffice Requires 2 case splits to collect implied equalities
30 We now describe an approach we call: Conflict Directed Theory Resolution resolve literals from conflicts simulates resolution proofs. Engineering: Throttle resolution dynamically based on activity.
31 49 (a 1 a 50 ) [ a i b i b i a i+1 (a i c i c i a i+1 )] i=1 Eventually, many conflicts contain: a 1 b 1 b 1 a 2 Use E-resolution, add clause: a 1 b 1 b 1 a 2 a 1 a 2 Then DPLL(T) learns by itself: a 1 a 2
32 N i=1 p i x i v 0 p i x i v 1 p i y i v 0 p i y i v 1 (f x N,, f x 2, x 1 f y N,, f y 2, y 1 ) Eventually, many conflicts contain: Add: N x i u i y i u i u i = v 0 or u i = v 1 for i = 1.. N (f x N,, f x 2, x 1 f y N,, f y 2, y 1 ) ( x i y i ) f x N,, f x 2, x 1 f y N,, f y 2, y 1 i=1
33 a = f(f(a)), a = f(f(f(a))), a f(a) First Step: Naming subterms
34 a = v 2, a = v 3, a v 1, v 1 f a, v 2 f v 1, v 3 f(v 2 ) and merge equalities a, v 2, v 3 v 1
35 a = v 2, a = v 3, a v 1, v 1 f a, v 2 f v 1, v 3 f(v 2 ) Second step. Apply Congruence Rule: x 1 = y 1,, x n = y n implies f(x 1,, x n ) = f(y 1,, y n ) a, v 2, v 3 v 1
36 a = v 2, a = v 3, a v 1, v 1 f a, v 2 f v 1, v 3 f(v 2 ) Second step. Apply Congruence Rule: a v 2 implies f a f v 2 : v 1 v 3 a, v 2, v 3, v 1
37 Dynamic Ackermann Reduction If Congruence Rule repeatedly learns f v, v f w, w Then add clause for SAT core to use v w v w f v, v f w, w Used in Yices and Z3 to find short congruence closure proofs [Yices Tool 06, Dutertre, de Moura] [Model-based Theory Combination 07, de Moura, B]
38 Dynamic Ackermann Reduction If Congruence Rule repeatedly learns f v, v f w, w for literal f v, v f w, w Then add clause for SAT core to use v w v w f v, v f w, w Leo identified the following useful optimization filter heuristic used in Z3 Peel the onion from outside
39 Dynamic Ackermann Reduction If Congruence Rule repeatedly learns f v, v f w, w Then add clause for SAT core to use v w v w f v, v f w, w Dynamic Ackermann Reduction with Transitivity If Equality Transitivity repeatedly learns u w from u v and v w Then add clause for SAT core to use u v v w v w
40 Claim: Ground E-Resolution DPLL(E) + Dynamic Ackermann Reduction with Transitivity Alternative: Static Ackermann Reduction [Singerman, Pnueli, Velev, Bryant, Strichman, Lahiri, Seisha, Bruttomesso,Cimatti, Franzen, Griggio, Santuari, Sebastiani], P-simulates ground E-Resolution. But it has high up-front space overhead Effect on the Diamond Example:. sec
41 a < x 1 a < x 2 x 1 < b x 2 < b b < y 1 b < y 2 y 1 < c y 2 < c c < z 1 c < z 2 z 1 < a z 2 < a x 1 y 1 z 1 a b c a x 2 y 2 z 2
42 x 1 a b c a y 2 z 2
43 x 1 b c a y 2 z 2
44 x 1 b a y 2 z 2 c
45 Top Two Most Active vertices x 1 Add clause a < x 1 < b a < b b y 2 < z 2 a c
46 Z3 supported theories all reduce to one of CDTR Arithmetic Equality Booleans Th(Equalities): Extended Dynamic Ackermann Th(Differences): Cutting loops Th(LRA): Fourier-Motzkin resolution Th(LIA): Perhaps: Integer FM [B. IJCAR 10] CDTR and theory combinations: Theories communicate equalities between shared variables. Build clauses using these equalities.
47 Modern SMT solvers are tuned to but limitations of basic proof calculus shows up. Presented a technique to close the gap Dynamic - to make it practical. Based on applying Resolution to conflicts. Just one of many possible optimizations. The quest for improving search continues e.g. cutting plane proofs, arbitrary cuts (Frege)
Topics in Model-Based Reasoning
Towards Integration of Proving and Solving Dipartimento di Informatica Università degli Studi di Verona Verona, Italy March, 2014 Automated reasoning Artificial Intelligence Automated Reasoning Computational
More informationSatisfiability Modulo Theories
Satisfiability Modulo Theories Bruno Dutertre SRI International Leonardo de Moura Microsoft Research Satisfiability a > b + 2, a = 2c + 10, c + b 1000 SAT a = 0, b = 3, c = 5 Model 0 > 3 + 2, 0 = 2 5 +
More informationInternals of SMT Solvers. Leonardo de Moura Microsoft Research
Internals of SMT Solvers Leonardo de Moura Microsoft Research Acknowledgements Dejan Jovanovic (SRI International, NYU) Grant Passmore (Univ. Edinburgh) Herbrand Award 2013 Greg Nelson What is a SMT Solver?
More informationRewriting for Satisfiability Modulo Theories
1 Dipartimento di Informatica Università degli Studi di Verona Verona, Italy July 10, 2010 1 Joint work with Chris Lynch (Department of Mathematics and Computer Science, Clarkson University, NY, USA) and
More informationEfficient E-matching for SMT Solvers. Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond
Efficient E-matching for SMT Solvers Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond The Z3tting Z3 is an inference engine tailored towards formulas arising from program verification tools
More informationLeonardo de Moura Microsoft Research
Leonardo de Moura Microsoft Research Logic is The Calculus of Computer Science (Z. Manna). High computational complexity Naïve solutions will not scale Is formula F satisfiable modulo theory T? SMT solvers
More informationSolving Quantified Verification Conditions using Satisfiability Modulo Theories
Solving Quantified Verification Conditions using Satisfiability Modulo Theories Yeting Ge, Clark Barrett, Cesare Tinelli Solving Quantified Verification Conditions using Satisfiability Modulo Theories
More informationSatisfiability Modulo Theories
Satisfiability Modulo Theories Summer School on Formal Methods Menlo College, 2011 Bruno Dutertre and Leonardo de Moura bruno@csl.sri.com, leonardo@microsoft.com SRI International, Microsoft Research SAT/SMT
More informationLeonardo de Moura Microsoft Research
Leonardo de Moura Microsoft Research Is formula F satisfiable modulo theory T? SMT solvers have specialized algorithms for T b + 2 = c and f(read(write(a,b,3), c-2)) f(c-b+1) b + 2 = c and f(read(write(a,b,3),
More informationSMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz
LOGIC SATISFIABILITY MODULO THEORIES SMT BASICS WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität
More informationAutomated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving
Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson SAT Solving 1 / 36 Review: Propositional
More informationSolving SAT Modulo Theories
Solving SAT Modulo Theories R. Nieuwenhuis, A. Oliveras, and C.Tinelli. Solving SAT and SAT Modulo Theories: from an Abstract Davis-Putnam-Logemann-Loveland Procedure to DPLL(T) Mooly Sagiv Motivation
More informationFoundations of Lazy SMT and DPLL(T)
Foundations of Lazy SMT and DPLL(T) Cesare Tinelli The University of Iowa Foundations of Lazy SMT and DPLL(T) p.1/86 Acknowledgments: Many thanks to Albert Oliveras for contributing some of the material
More informationThe Eager Approach to SMT. Eager Approach to SMT
The Eager Approach to SMT Sanjit A. Seshia UC Berkeley Slides based on ICCAD 09 Tutorial Eager Approach to SMT Input Formula Satisfiability-preserving Boolean Encoder Boolean Formula SAT Solver SAT Solver
More informationSatisfiability Modulo Theories (SMT)
Satisfiability Modulo Theories (SMT) Sylvain Conchon Cours 7 / 9 avril 2014 1 Road map The SMT problem Modern efficient SAT solvers CDCL(T) Examples of decision procedures: equality (CC) and difference
More informationTutorial 1: Modern SMT Solvers and Verification
University of Illinois at Urbana-Champaign Tutorial 1: Modern SMT Solvers and Verification Sayan Mitra Electrical & Computer Engineering Coordinated Science Laboratory University of Illinois at Urbana
More informationConstraint Logic Programming and Integrating Simplex with DPLL(T )
Constraint Logic Programming and Integrating Simplex with DPLL(T ) Ali Sinan Köksal December 3, 2010 Constraint Logic Programming Underlying concepts The CLP(X ) framework Comparison of CLP with LP Integrating
More informationA Concurrency Problem with Exponential DPLL(T ) Proofs
A Concurrency Problem with Exponential DPLL(T ) Proofs Liana Hadarean 1 Alex Horn 1 Tim King 2 1 University of Oxford 2 Verimag June 5, 2015 2 / 27 Outline SAT/SMT-based Verification Techniques for Concurrency
More informationQuantifiers. Leonardo de Moura Microsoft Research
Quantifiers Leonardo de Moura Microsoft Research Satisfiability a > b + 2, a = 2c + 10, c + b 1000 SAT a = 0, b = 3, c = 5 Model 0 > 3 + 2, 0 = 2 5 + 10, 5 + ( 3) 1000 Quantifiers x y x > 0 f x, y = 0
More informationSatisfiability Modulo Theories (SMT)
CS510 Software Engineering Satisfiability Modulo Theories (SMT) Slides modified from those by Aarti Gupta Textbook: The Calculus of Computation by A. Bradley and Z. Manna 1 Satisfiability Modulo Theory
More informationAn Introduction to Satisfiability Modulo Theories
ICCAD 2009 Tutorial p. 1/78 An Introduction to Satisfiability Modulo Theories Clark Barrett and Sanjit Seshia ICCAD 2009 Tutorial p. 2/78 Roadmap Theory Solvers Examples of Theory Solvers Combining Theory
More informationConstraint Solving for Finite Model Finding in SMT Solvers
myjournal manuscript No. (will be inserted by the editor) Constraint Solving for Finite Model Finding in SMT Solvers Andrew Reynolds Cesare Tinelli Clark Barrett Received: date / Accepted: date Abstract
More informationa > 3, (a = b a = b + 1), f(a) = 0, f(b) = 1
Yeting Ge New York University Leonardo de Moura Microsoft Research a > 3, (a = b a = b + 1), f(a) = 0, f(b) = 1 Dynamic symbolic execution (DART) Extended static checking Test-case generation Bounded model
More informationSAT/SMT/AR Introduction and Applications
SAT/SMT/AR Introduction and Applications Ákos Hajdu Budapest University of Technology and Economics Department of Measurement and Information Systems 1 Ákos Hajdu About me o PhD student at BME MIT (2016
More informationTowards Lightweight Integration of SMT Solvers
Towards Lightweight Integration of SMT Solvers Andrei Lapets Boston University Boston, USA lapets@bu.edu Saber Mirzaei Boston University Boston, USA smirzaei@bu.edu 1 Introduction A large variety of SMT
More informationClassical Propositional Logic
Classical Propositional Logic Peter Baumgartner http://users.cecs.anu.edu.au/~baumgart/ Ph: 02 6218 3717 Data61/CSIRO and ANU July 2017 1 / 71 Classical Logic and Reasoning Problems A 1 : Socrates is a
More informationFrom SAT To SMT: Part 1. Vijay Ganesh MIT
From SAT To SMT: Part 1 Vijay Ganesh MIT Software Engineering & SMT Solvers An Indispensable Tactic for Any Strategy Formal Methods Program Analysis SE Goal: Reliable/Secure Software Automatic Testing
More informationAutomated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1
Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1 Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson Theory Procedures
More informationFinding Conflicting Instances of Quantified Formulas in SMT. Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014
Finding Conflicting Instances of Quantified Formulas in SMT Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014 Outline of Talk SMT solvers: Efficient methods for ground constraints Heuristic
More informationIntSat: From SAT to Integer Linear Programming
IntSat: From SAT to Integer Linear Programming CPAIOR 2015 (invited talk) Robert Nieuwenhuis Barcelogic.com - Computer Science Department BarcelonaTech (UPC) 1 Proposed travel arrangements (next time):
More informationMachine Learning and Logic: Fast and Slow Thinking
Machine Learning and Logic: Fast and Slow Thinking Moshe Y. Vardi Rice University Is Computer Science Fundamentally Changing? Formal Science vs Data Science We are at peak hype about machine learning and
More informationLOGIC PROPOSITIONAL REASONING
LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1
More informationLogic and Complexity
Logic and Complexity Undecidable (FOL + LIA) Semi Decidable (FOL) NEXPTIME (EPR) PSPACE (QBF) NP (SAT) Logic and Complexity Logic is The Calculus of Computer Science Zohar Manna Practical problems
More informationModel Based Theory Combination
Model Based Theory Combination SMT 2007 Leonardo de Moura and Nikolaj Bjørner {leonardo, nbjorner}@microsoft.com. Microsoft Research Model Based Theory Combination p.1/20 Combination of Theories In practice,
More informationSatisfiability Modulo Theories Applications and Challenges
Satisfiability Modulo Theories Applications and Challenges Summer School on Formal Techniques Menlo Park, May 2012 Bruno Dutertre SRI International Leonardo de Moura Microsoft Research Applications of
More informationSMT Unsat Core Minimization
SMT Unsat Core Minimization O F E R G U T H M A N N, O F E R S T R I C H M A N, A N N A T R O S TA N E T S K I F M C A D 2 0 1 6 1 Satisfiability Modulo Theories Satisfiability Modulo Theories (SMT): decides
More informationModel-based Theory Combination
Electronic Notes in Theoretical Computer Science 198 (2008) 37 49 www.elsevier.com/locate/entcs Model-based Theory Combination Leonardo de Moura 1 Nikolaj Bjørner 2 Microsoft Research, One Microsoft Way,
More informationWHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008
WHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008 WHAT I LL TALK ABOUT Propositional Logic Terminology, Satisfiability, Decision Procedure First-Order Logic Terminology, Background Theories Satisfiability
More informationLRA Interpolants from No Man s Land. Leonardo Alt, Antti E. J. Hyvärinen, and Natasha Sharygina University of Lugano, Switzerland
LR Interpolants from No Man s Land Leonardo lt, ntti E. J. Hyvärinen, and Natasha Sharygina University of Lugano, Switzerland Motivation The goal: Finding the right proof The tool: Make interpolation
More informationIntegrating Simplex with DPLL(T )
CSL Technical Report SRI-CSL-06-01 May 23, 2006 Integrating Simplex with DPLL(T ) Bruno Dutertre and Leonardo de Moura This report is based upon work supported by the Defense Advanced Research Projects
More informationIntroduction to SAT (constraint) solving. Justyna Petke
Introduction to SAT (constraint) solving Justyna Petke SAT, SMT and CSP solvers are used for solving problems involving constraints. The term constraint solver, however, usually refers to a CSP solver.
More informationFormal methods in analysis
Formal methods in analysis Jeremy Avigad Department of Philosophy and Department of Mathematical Sciences Carnegie Mellon University May 2015 Sequence of lectures 1. Formal methods in mathematics 2. Automated
More informationCSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/
Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/17wi/ Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review of
More informationPropositional Logic: Evaluating the Formulas
Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere
More informationRound 9: Satisfiability Modulo Theories, Part II
Round 9: Satisfiability Modulo Theories, Part II Tommi Junttila Aalto University School of Science Department of Computer Science CS-E322 Declarative Programming Spring 218 Tommi Junttila (Aalto University)
More informationAn instance of SAT is defined as (X, S)
SAT: Propositional Satisfiability 22c:45 Artificial Intelligence Russell & Norvig, Ch. 7.6 Validity vs. Satisfiability Validity: A sentence is valid if it is true in every interpretation (every interpretation
More informationIntegrating Answer Set Programming and Satisfiability Modulo Theories
Integrating Answer Set Programming and Satisfiability Modulo Theories Ilkka Niemelä Helsinki University of Technology (TKK) Department of Information and Computer Science http://www.tcs.tkk.fi/ ini/ References:
More informationAn Introduction to Z3
An Introduction to Z3 Huixing Fang National Trusted Embedded Software Engineering Technology Research Center April 12, 2017 Outline 1 SMT 2 Z3 Huixing Fang (ECNU) An Introduction to Z3 April 12, 2017 2
More informationSatisfiability Modulo Theories
Satisfiability Modulo Theories Summer School on Formal Methods Menlo College, 2011 Bruno Dutertre and Leonardo de Moura bruno@csl.sri.com, leonardo@microsoft.com SRI International, Microsoft Research SAT/SMT
More informationSatisifiability and Probabilistic Satisifiability
Satisifiability and Probabilistic Satisifiability Department of Computer Science Instituto de Matemática e Estatística Universidade de São Paulo 2010 Topics Next Issue The SAT Problem The Centrality of
More informationInterpolation. Seminar Slides. Betim Musa. 27 th June Albert-Ludwigs-Universität Freiburg
Interpolation Seminar Slides Albert-Ludwigs-Universität Freiburg Betim Musa 27 th June 2015 Motivation program add(int a, int b) { var x,i : int; l 0 assume(b 0); l 1 x := a; l 2 i := 0; while(i < b) {
More informationAbstract DPLL and Abstract DPLL Modulo Theories
Abstract DPLL and Abstract DPLL Modulo Theories Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli Abstract. We introduce Abstract DPLL, a general and simple abstract rule-based formulation of the
More informationOverview, cont. Overview, cont. Logistics. Optional Reference #1. Optional Reference #2. Workload and Grading
Course staff CS389L: Automated Logical Reasoning Lecture 1: ntroduction and Review of Basics şıl Dillig nstructor: şil Dillig E-mail: isil@cs.utexas.edu Office hours: Thursday after class until 6:30 pm
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationUSING FOURIER-MOTZKIN VARIABLE ELIMINATION FOR MCSAT EXPLANATIONS IN SMT-RAT
The present work was submitted to the LuFG Theory of Hybrid Systems BACHELOR OF COMPUTER SCIENCE USING FOURIER-MOTZKIN VARIABLE ELIMINATION FOR MCSAT EXPLANATIONS IN SMT-RAT Lorena Calvo Bartolomé Prüfer:
More informationCourse An Introduction to SAT and SMT. Cap. 2: Satisfiability Modulo Theories
Course An Introduction to SAT and SMT Chapter 2: Satisfiability Modulo Theories Roberto Sebastiani DISI, Università di Trento, Italy roberto.sebastiani@unitn.it URL: http://disi.unitn.it/rseba/didattica/sat_based18/
More informationEqualities and Uninterpreted Functions. Chapter 3. Decision Procedures. An Algorithmic Point of View. Revision 1.0
Equalities and Uninterpreted Functions Chapter 3 Decision Procedures An Algorithmic Point of View D.Kroening O.Strichman Revision 1.0 Outline Decision Procedures Equalities and Uninterpreted Functions
More informationSolvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber 15-414 Aug 31, 2011 Why study SAT solvers? Many problems reduce to SAT. Formal verification CAD, VLSI Optimization AI, planning, automated
More informationPredicate Abstraction: A Tutorial
Predicate Abstraction: A Tutorial Predicate Abstraction Daniel Kroening May 28 2012 Outline Introduction Existential Abstraction Predicate Abstraction for Software Counterexample-Guided Abstraction Refinement
More information38050 Povo Trento (Italy), Via Sommarive 14
UNIVERSITY OF TRENTO DEPARTMENT OF INFORMATION AND COMMUNICATION TECHNOLOGY 8050 Povo Trento (Italy), Via Sommarive 4 http://www.dit.unitn.it A Simple and Flexible Way of Computing Small Unsatisfiable
More informationCSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak
Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/14au/ Course Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review
More informationFormalizing Simplex within Isabelle/HOL
Formalizing Simplex within Isabelle/HOL Mirko Spasić Filip Marić {mirko filip}@matf.bg.ac.rs Department of Computer Science Faculty of Mathematics University of Belgrade Formal and Automated Theorem Proving
More informationHandbook of Satisfiability
Handbook of Satisfiability Clark Barrett 1 Roberto Sebastiani 2 Sanjit A. Seshia 3 Cesare Tinelli 4 1 New York University, barrett@cs.nyu.edu 2 Università di Trento, rseba@disi.unitn.it 3 University of
More informationDeductive Verification
Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant
More informationLecture Notes on SAT Solvers & DPLL
15-414: Bug Catching: Automated Program Verification Lecture Notes on SAT Solvers & DPLL Matt Fredrikson André Platzer Carnegie Mellon University Lecture 10 1 Introduction In this lecture we will switch
More informationSatisfiability Modulo Theories
Satisfiability Modulo Theories Tjark Weber webertj@in.tum.de Oberseminar Statische Analyse November 11, 2004 Satisfiability Modulo Theories p.1/16 Goal To decide the satisfiability of formulas with respect
More informationProving Unsatisfiability in Non-linear Arithmetic by Duality
Proving Unsatisfiability in Non-linear Arithmetic by Duality [work in progress] Daniel Larraz, Albert Oliveras, Enric Rodríguez-Carbonell and Albert Rubio Universitat Politècnica de Catalunya, Barcelona,
More informationAbstract Answer Set Solvers with Backjumping and Learning
Under consideration for publication in Theory and Practice of Logic Programming 1 Abstract Answer Set Solvers with Backjumping and Learning YULIYA LIERLER Department of Computer Science University of Texas
More informationThe SAT Revolution: Solving, Sampling, and Counting
The SAT Revolution: Solving, Sampling, and Counting Moshe Y. Vardi Rice University Boolean Satisfiability Boolean Satisfiability (SAT); Given a Boolean expression, using and ( ) or, ( ) and not ( ), is
More information20.1 2SAT. CS125 Lecture 20 Fall 2016
CS125 Lecture 20 Fall 2016 20.1 2SAT We show yet another possible way to solve the 2SAT problem. Recall that the input to 2SAT is a logical expression that is the conunction (AND) of a set of clauses,
More informationPredicate Abstraction via Symbolic Decision Procedures
Predicate Abstraction via Symbolic Decision Procedures Shuvendu K. Lahiri Thomas Ball Byron Cook May 26, 2005 Technical Report MSR-TR-2005-53 Microsoft Research Microsoft Corporation One Microsoft Way
More informationMiniMaxSat: : A new Weighted Solver. Federico Heras Javier Larrosa Albert Oliveras
MiniMaxSat: : A new Weighted Max-SAT Solver Federico Heras Javier Larrosa Albert Oliveras SAT (x v y), ( y v z), ( z v w) SAT (x v y), ( y v z), ( z v w) x=y=z=w=true Satisfiable SAT (x), ( x v y), ( x
More informationAn Introduction to SAT Solving
An Introduction to SAT Solving Applied Logic for Computer Science UWO December 3, 2017 Applied Logic for Computer Science An Introduction to SAT Solving UWO December 3, 2017 1 / 46 Plan 1 The Boolean satisfiability
More informationIntroduction to SMT Solving And Infinite Bounded Model Checking
Introduction to SMT Solving And Infinite Bounded Model Checking John Rushby Computer Science Laboratory SRI International Menlo Park, California, USA John Rushby, SR I Introduction to SMT and Infinite
More informationCS156: The Calculus of Computation
CS156: The Calculus of Computation Zohar Manna Winter 2010 It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between
More informationUCLID: Deciding Combinations of Theories via Eager Translation to SAT. SAT-based Decision Procedures
UCLID: Deciding Combinations of Theories via Eager Translation to SAT Sanjit A. Seshia SAT-based Decision Procedures Input Formula Input Formula Satisfiability-preserving Boolean Encoder Boolean Formula
More informationSAT in Formal Hardware Verification
SAT in Formal Hardware Verification Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Invited Talk SAT 05 St. Andrews, Scotland 20. June 2005 Overview Hardware
More informationVLSI CAD: Lecture 4.1. Logic to Layout. Computational Boolean Algebra Representations: Satisfiability (SAT), Part 1
VLSI CAD: Logic to Layout Rob A. Rutenbar University of Illinois Lecture 4.1 Computational Boolean Algebra Representations: Satisfiability (SAT), Part 1 Some Terminology Satisfiability (called SAT for
More informationVerification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK
Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation Himanshu Jain THESIS ORAL TALK 1 Computer Systems are Pervasive Computer Systems = Software + Hardware Software/Hardware
More informationQuantifier Instantiation Techniques for Finite Model Finding in SMT
Quantifier Instantiation Techniques for Finite Model Finding in SMT Andrew Reynolds, Cesare Tinelli Amit Goel, Sava Krstic Morgan Deters, Clark Barrett Satisfiability Modulo Theories (SMT) SMT solvers
More informationEFFICIENT PREDICATE ABSTRACTION OF PROGRAM SUMMARIES
EFFICIENT PREDICATE ABSTRACTION OF PROGRAM SUMMARIES Arie Gurfinkel, Sagar Chaki and Samir Sapra Carnegie Mellon Uni In NFM11 Presented by Nimrod Partush OUTLINE Introduction Predicate Abstraction CEGAR
More informationChapter 7 R&N ICS 271 Fall 2017 Kalev Kask
Set 6: Knowledge Representation: The Propositional Calculus Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Outline Representing knowledge using logic Agent that reason logically A knowledge based agent Representing
More informationPropositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel
Propositional Logic Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/
More informationIntroduction Algorithms Applications MINISAT. Niklas Sörensson Chalmers University of Technology and Göteborg University
SAT ALGORITHMS AND APPLICATIONS nik@cschalmersse Chalmers University of Technology and Göteborg University Empirically Successful Classical Automated Reasoning a CADE-20 Workshop 22nd - 23th July, 2005
More informationFinite model finding in satisfiability modulo theories
University of Iowa Iowa Research Online Theses and Dissertations Fall 2013 Finite model finding in satisfiability modulo theories Andrew Joseph Reynolds University of Iowa Copyright 2013 Andrew J. Reynolds
More informationGeneralized Property Directed Reachability
Generalized Property Directed Reachability Kryštof Hoder (1) and Nikolaj Bjørner (2) (1) The University of Manchester (2) Microsoft Research, Redmond Abstract. The IC3 algorithm was recently introduced
More informationInterpolation and Symbol Elimination in Vampire
Interpolation and Symbol Elimination in Vampire Kryštof Hoder 1, Laura Kovács 2, and Andrei Voronkov 1 1 University of Manchester 2 TU Vienna Abstract. It has recently been shown that proofs in which some
More informationSoftware Verification using Predicate Abstraction and Iterative Refinement: Part 1
using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models
More informationEECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: State-Space Exploration Stavros Tripakis University of California, Berkeley Stavros Tripakis:
More informationSMT and Z3. Nikolaj Bjørner Microsoft Research ReRISE Winter School, Linz, Austria February 5, 2014
SMT and Z3 Nikolaj Bjørner Microsoft Research ReRISE Winter School, Linz, Austria February 5, 2014 Plan Mon An invitation to SMT with Z3 Tue Equalities and Theory Combination Wed Theories: Arithmetic,
More informationSAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang
SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments Requirements for SAT solvers in the Real World Fast & Robust Given a problem instance, we want to solve it quickly Reliable
More informationSMT: Satisfiability Modulo Theories
SMT: Satisfiability Modulo Theories Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures Last Time Propositional Logic Today 1. Combining SAT and Theory Solvers 2. Theory Solvers Theory of Equality
More informationLecture 2 Propositional Logic & SAT
CS 5110/6110 Rigorous System Design Spring 2017 Jan-17 Lecture 2 Propositional Logic & SAT Zvonimir Rakamarić University of Utah Announcements Homework 1 will be posted soon Propositional logic: Chapter
More informationLazy Satisfiability Modulo Theories
Journal on Satisfiability, Boolean Modeling and Computation 3 (2007) 141 224 Lazy Satisfiability Modulo Theories Roberto Sebastiani roberto.sebastiani@disi.unitn.it Dipartimento di Ingegneria e Scienza
More informationSolving SAT and SAT Modulo Theories: From an Abstract Davis Putnam Logemann Loveland Procedure to DPLL(T)
Solving SAT and SAT Modulo Theories: From an Abstract Davis Putnam Logemann Loveland Procedure to DPLL(T) ROBERT NIEUWENHUIS AND ALBERT OLIVERAS Technical University of Catalonia, Barcelona, Spain AND
More informationChapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013
Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of
More informationBounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39
Bounded Model Checking with SAT/SMT Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Recap: Symbolic Model Checking with BDDs Method used by most industrial strength model checkers:
More informationSatisfiability and SAT Solvers. CS 270 Math Foundations of CS Jeremy Johnson
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson Conjunctive Normal Form Conjunctive normal form (products of sums) Conjunction of clauses (disjunction of literals) For each
More informationOn Solving Boolean Combinations of UTVPI Constraints
Journal on Satisfiability, Boolean Modeling and Computation N (007) xx-yy On Solving Boolean Combinations of UTVPI Constraints Sanjit A. Seshia Department of Electrical Engineering and Computer Sciences
More informationVinter: A Vampire-Based Tool for Interpolation
Vinter: A Vampire-Based Tool for Interpolation Kryštof Hoder 1, Andreas Holzer 2, Laura Kovács 2, and Andrei Voronkov 1 1 University of Manchester 2 TU Vienna Abstract. This paper describes the Vinter
More information