Efficient Sampling of SAT Solutions for Testing

Size: px
Start display at page:

Download "Efficient Sampling of SAT Solutions for Testing"

Transcription

1 Efficient Sampling of SAT Solutions for Testing Rafael Dutra, Kevin Laeufer, Jonathan Bachrach, Koushik Sen EECS Department UC Berkeley International Conference in Software Engineering May 31,

2 Problem definition Input: Boolean constraint (SAT formula) (x1 x4) (x1 x3 x8) (x1 x8 x6) (x2 x5) ( x7 x3 x9) ( x7 x8 x9) (x7 x8 x10) (x7 x10 x6) Goal: Quickly generate lots of solutions that satisfy the constraint σ 1 σ 2 σ 3 σ 4 x1 x2 x3 x4 x5 x6 x7 x8 x9 x σ

3 Motivation Thoroughly exercising some target functionality Constrained-Random Verification Symbolic execution void main(int4 x, int4 y) { if ((x & y) == 4) { if (x < y) { interesting(x, y); } } } (x & y) == 4 x < y 3

4 Example void main(int4 x, int4 y) { if ((x & y) == 4) { if (x < y) { interesting(x, y); } } } 4

5 Example void main(int4 x, int4 y) { if ((x & y) == 4) { if (x < y) { interesting(x, y); } } } Path Constraint ((x & y) == 4) (x < y) 5

6 Example void main(int4 x, int4 y) { if ((x & y) == 4) { if (x < y) { interesting(x, y); } } } int4 x; x3 x2 x1 x0 int4 y; y3 y2 y1 y0 Path Constraint ((x & y) == 4) (x < y) Bit-blast 6

7 Example void main(int4 x, int4 y) { if ((x & y) == 4) { if (x < y) { interesting(x, y); } } } int4 x; x3 x2 x1 x0 int4 y; y3 y2 y1 y0 Path Constraint ((x & y) == 4) (x < y) Bit-blast Boolean formula φ(x0,x1,x2,x3,y0,y1,y2,y3) ( x0 y0) ( x1 y1) x2 y2 ( x3 y3) ( (x3 y3) ( (x3=y3 x2 y2) ( (x3=y3 x2=y2 x1 y1) ( (x3=y3 x2=y2 x1=y1 x0 y0) ) 7

8 QuickSampler 8

9 QuickSampler Our goals: Samples should satisfy the formula >50% of the times Generate samples >100x faster than other techniques Sampling should be close to uniform Our approach: Compute patterns of bit flips which preserve satisfiability Combine those bit flip patterns to generate lots of samples 9

10 QuickSampler Algorithm Random assignment Start by generating a random assignment σ σ 10

11 QuickSampler Algorithm Random assignment Base solution Start by generating a random assignment σ Use to find the closest solution σ to σ σ σ 11

12 QuickSampler Algorithm Random assignment Base solution Closest solutions Start by generating a random assignment σ Use to find the closest solution σ to σ From σ, use to find the closest solutions that flip some bits (such as and σ 1 ) σ σ σ 1 12

13 QuickSampler Algorithm Start by generating a random assignment σ Use to find the closest solution σ to σ From σ, use to find the closest solutions that flip some bits (such as and σ 1 ) Combine those mutation to generate new samples (such as 1 ) Random assignment Base solution Closest solutions Generated samples σ σ σ

14 14

15 Random assignment σ

16 Random assignment σ Solution

17 Random assignment σ Solution

18 Random assignment σ Solution σ

19 Random assignment σ Solution σ

20 Random assignment σ Solution σ σ 1 20

21 Random assignment σ Solution σ σ 1 21

22 Random assignment σ Solution σ σ 1 22

23 Random assignment σ Solution σ UNSAT σ

24 Random assignment σ Solution σ UNSAT σ

25 Random assignment σ Solution σ UNSAT σ 3 25

26 Random assignment σ Solution UNSAT σ 3 26

27 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 = σ = σ σ 1 = σ σ 3 27

28 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ = δ 0 δ 1 28

29 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ = σ δ 01 29

30 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ = δ 0 δ 3 30

31 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ = σ δ 03 31

32 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ δ = δ 1 δ 3 32

33 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ δ = δ 1 δ 3 33

34 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ δ = δ 0 δ 1 δ 3 34

35 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ δ = δ 0 δ 1 δ 3 35

36 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ

37 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ At most n calls to generate atomic mutations ( ) n 6 =O(n 6 ) samples by combining mutations: NO 37

38 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ At most 50 calls to generate atomic mutations samples by combining mutations: NO 38

39 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ

40 Random assignment σ Solution UNSAT σ 3 δ δ δ 3 δ δ

41 Implementation Implemented in C++ using Z3 as the constraint solver Optimizations: Eager generation of samples Independent support Unsatisfiable variables 41

42 Experiments We evaluated QuickSampler on 163 industrial benchmarks. Largest 6 Benchmarks # Variables # Clauses tutorial3.sk_4_ diagstencilclean.sk_41_ karatsuba.sk_7_ enqueueseqsk.sk_10_ sk_1_ sk_3_

43 Experiments We compared QuickSampler against two state-of-the-art samplers: UniGen2 [1] Uses universal hashing to partition the solution space and produce provably uniform samples SearchTreeSampler [2] Generates pseudo-solutions: partial assignments that can be completed to full solutions [1] Supratik Chakraborty, Daniel J Fremont, Kuldeep S Meel, Sanjit A Seshia, and Moshe Y Vardi On Parallel Scalable Uniform SAT Witness Generation. In TACAS [2] Stefano Ermon, Carla P Gomes, and Bart Selman Uniform solution sampling using a constraint solver as an oracle. In UAI

44 Experiments: Correctness # of Atomic Mutations combined Average Samples generated % of Valid Samples % % % % % % % Total % 44

45 QuickSampler generates valid solutions ±0.8 times faster than SearchTreeSampler ±1.0 times faster than UniGen2 QuickSampler generates unique valid solutions ±0.7 times faster than SearchTreeSampler ±1.1 times faster than UniGen2 45

46 Experiments: Speed Number of valid solutions per time Higher is better 46

47 Experiments: Unique Solutions Number of unique valid solutions per time Higher is better 47

48 Experiments: Unique Solutions Higher is better 48

49 Experiments: Uniformity 49

50 Conclusion Generating lots of solutions efficiently given a SAT formula QuickSampler can generate millions of samples with tens of solver calls The samples satisfy the formula with high probability and are reasonably uniform δ 0 Solution δ δ 0 δ 1 = δ σ δ 01 = σ 1 50

Machine Learning and Logic: Fast and Slow Thinking

Machine 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 information

The SAT Revolution: Solving, Sampling, and Counting

The 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 information

Approximating Probabilistic Inference

Approximating Probabilistic Inference Approximating Probabilistic Inference Kuldeep S. Meel PhD Student CAVR Group Joint work with Supratik Chakraborty (IITB), Daniel J. Fremont (UCB), Sanjit A. Seshia (UCB), Moshe Y. Vardi (Rice) 1 IoT: Internet

More information

Constrained Counting and Sampling Bridging Theory and Practice

Constrained Counting and Sampling Bridging Theory and Practice Constrained Counting and Sampling Bridging Theory and Practice Supratik Chakraborty, IIT Bombay [ Joint work with Kuldeep S. Meel (NUS, Singapore), Moshe Y. Vardi (Rice University), Rakesh Mistry (currently

More information

Constrained Sampling and Counting

Constrained Sampling and Counting Constrained Sampling and Counting Moshe Y. Vardi Rice University Joint work with Kuldeep S. Meel, Supratik Chakraborty, Daniel Fremont, Rakesh Mistry, Sanjit Seshia. Boolean Satisfiability Boolean Satisfiability

More information

UCLID: Deciding Combinations of Theories via Eager Translation to SAT. SAT-based Decision Procedures

UCLID: 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 information

The Eager Approach to SMT. Eager Approach to SMT

The 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 information

Hashing-Based Approximate Probabilistic Inference in Hybrid Domains: An Abridged Report

Hashing-Based Approximate Probabilistic Inference in Hybrid Domains: An Abridged Report Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (IJCAI-16) Hashing-Based Approximate Probabilistic Inference in Hybrid Domains: An Abridged Report Vaishak Belle

More information

Approximate Probabilistic Inference via Word-Level Counting

Approximate Probabilistic Inference via Word-Level Counting Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence (AAAI-16 Approximate Probabilistic Inference via Word-Level Counting Supratik Chakraborty Indian Institute of Technology, Bombay

More information

Weighted Model Integration with Orthogonal Transformations

Weighted Model Integration with Orthogonal Transformations Weighted Model Integration with Orthogonal Transformations David Merrell and Aws Albarghouthi and Loris D Antoni University of Wisconsin Madison Department of Computer Sciences {dmerrell, aws, loris}@cs.wisc.edu

More information

arxiv: v3 [cs.ai] 9 Feb 2016

arxiv: v3 [cs.ai] 9 Feb 2016 Approximate Probabilistic Inference via Word-Level Counting Supratik Chakraborty Indian Institute of Technology, Bombay Kuldeep S. Meel Department of Computer Science, Rice University Moshe Y. Vardi Department

More information

The Automated-Reasoning Revolution: from Theory to Practice and Back

The Automated-Reasoning Revolution: from Theory to Practice and Back The Automated-Reasoning Revolution: from Theory to Practice and Back Moshe Y. Vardi Rice University Is This Time Different? The Opportunities and Challenges of Artificial Intelligence Jason Furman, Chair,

More information

Interpolation. Seminar Slides. Betim Musa. 27 th June Albert-Ludwigs-Universität Freiburg

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

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Lintao Zhang Announcement Project proposals due

More information

Maximum Model Counting

Maximum Model Counting Maximum Model Counting Daniel J. Fremont and Markus N. Rabe and Sanjit A. Seshia University of California, Berkeley Email: {dfremont,rabe,sseshia}@berkeley.edu Abstract We introduce the problem Max#SAT,

More information

From Weighted to Unweighted Model Counting

From Weighted to Unweighted Model Counting From Weighted to Unweighted Model Counting Supratik Chakraborty Indian Institute of Technology, Bombay Dror Fried, Kuldeep S. Meel, Moshe Y. Vardi Department of Computer Science, Rice University Abstract

More information

Introduction to SAT (constraint) solving. Justyna Petke

Introduction 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 information

A Scalable Approximate Model Counter

A Scalable Approximate Model Counter A Scalable Approximate Model Counter Supratik Chakraborty 1, Kuldeep S. Meel 2, and Moshe Y. Vardi 2 1 Indian Institute of Technology Bombay, India 2 Department of Computer Science, Rice University Abstract.

More information

Synthesis and Inductive Learning Part 3

Synthesis and Inductive Learning Part 3 Synthesis and Inductive Learning Part 3 Sanjit A. Seshia EECS Department UC Berkeley Acknowledgments: Susmit Jha, Alexandre Donze, Edward Lee NSF ExCAPE Summer School June 23-25, 2015 Questions of Interest

More information

A Scalable Scheme for Counting Linear Extensions

A Scalable Scheme for Counting Linear Extensions A Scalable Scheme for Counting Linear Extensions Topi Talvitie 1, Kustaa Kangas 2, Teppo Niinimäki 2, Mikko Koivisto 1 1 University of Helsinki 2 Aalto University totalvit@cs.helsinki.fi, juho-kustaa.kangas@aalto.fi,

More information

On Parallel Scalable Uniform SAT Witness Generation???

On Parallel Scalable Uniform SAT Witness Generation??? On Parallel Scalable Uniform SAT Witness Generation??? Supratik Chakraborty, Daniel J. Fremont,KuldeepS.Meel 3, Sanjit A. Seshia, and Moshe Y. Vardi 3 Indian Institute of Technology, Bombay University

More information

Maximum Model Counting

Maximum Model Counting Maximum Model Counting Daniel J. Fremont Markus N. Rabe Sanjit A. Seshia Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2016-169 http://www2.eecs.berkeley.edu/pubs/techrpts/2016/eecs-2016-169.html

More information

State-Space Exploration. Stavros Tripakis University of California, Berkeley

State-Space Exploration. Stavros Tripakis University of California, Berkeley EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2014 State-Space Exploration Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE

More information

Solving Quantified Verification Conditions using Satisfiability Modulo Theories

Solving 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 information

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

On Hashing-Based Approaches to Approximate DNF-Counting

On Hashing-Based Approaches to Approximate DNF-Counting On Hashing-Based Approaches to Approximate DNF-Counting Kuldeep S. Meel 1, Aditya A. Shrotri 2, and Moshe Y. Vardi 3 1 National University of Singapore, Singapore, Singapore meel@comp.nus.edu.sg 2 Rice

More information

Hashing-Based Approximate Probabilistic Inference in Hybrid Domains: An Abridged Report

Hashing-Based Approximate Probabilistic Inference in Hybrid Domains: An Abridged Report Hashing-Based Approximate Probabilistic Inference in Hybrid Domains: An Abridged Report Vaishak Belle KU Leuven vaishak@cs.kuleuven.be Guy Van den Broeck University of California, Los Angeles guyvdb@cs.ucla.edu

More information

Integrating a SAT Solver with an LCF-style Theorem Prover

Integrating a SAT Solver with an LCF-style Theorem Prover Integrating a SAT Solver with an LCF-style Theorem Prover A Fast Decision Procedure for Propositional Logic for the System Tjark Weber webertj@in.tum.de PDPAR 05, July 12, 2005 Integrating a SAT Solver

More information

Sanjit A. Seshia EECS, UC Berkeley

Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi

More information

Teaching vs. Learning, and Course Wrap-Up

Teaching vs. Learning, and Course Wrap-Up Teaching vs. Learning, and Course Wrap-Up Sanjit A. Seshia EECS 219C EECS Department UC Berkeley Teaching vs. Learning Learning: Examples Concept Teaching: Concept Examples Given a concept, give a good

More information

Control Improvisation

Control Improvisation Control Improvisation Daniel J. Fremont, Alexandre Donzé, Sanjit A. Seshia, and David Wessel University of California, Berkeley Abstract We formalize and analyze a new automata-theoretic problem termed

More information

Counting-Based Reliability Estimation for Power-Transmission Grids

Counting-Based Reliability Estimation for Power-Transmission Grids Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence (AAAI-17) Counting-Based Reliability Estimation for Power-Transmission Grids Leonardo Duenas-Osorio Department of Civil and Environmental

More information

Motion Planning for LTL Specifications: A Satisfiability Modulo Convex Optimization Approach

Motion Planning for LTL Specifications: A Satisfiability Modulo Convex Optimization Approach Motion Planning for LTL Specifications: A Satisfiability Modulo Convex Optimization Approach Yasser Shoukry UC Berkeley, UCLA, and UPenn Joint work with Pierluigi Nuzzo (UC Berkeley), Indranil Saha (IIT

More information

Information Flow Analysis via Path Condition Refinement

Information Flow Analysis via Path Condition Refinement Information Flow Analysis via Path Condition Refinement Mana Taghdiri, Gregor Snelting, Carsten Sinz Karlsruhe Institute of Technology, Germany FAST September 16, 2010 KIT University of the State of Baden-Wuerttemberg

More information

Beyond Parity Constraints: Fourier Analysis of Hash Functions for Inference

Beyond Parity Constraints: Fourier Analysis of Hash Functions for Inference Tudor Achim Stanford University, 353 Serra Mall, Stanford, CA 94305 Ashish Sabharal Allen Institute for Artificial Intelligence, 257 N Northlake Way, Seattle, WA 9803 Stefano Ermon Stanford University,

More information

Quantum Annealing and the Satisfiability Problem

Quantum Annealing and the Satisfiability Problem arxiv:1612.7258v1 [quant-ph] 21 Dec 216 Quantum Annealing and the Satisfiability Problem 1. Introduction Kristen L PUDENZ 1, Gregory S TALLANT, Todd R BELOTE, and Steven H ADACHI Lockheed Martin, United

More information

Implan: Scalable Incremental Motion Planning for Multi-Robot Systems

Implan: Scalable Incremental Motion Planning for Multi-Robot Systems Implan: Scalable Incremental Motion Planning for Multi-Robot Systems Indranil Saha UC Berkeley and UPenn Joint work with Rattanachai Ramaithitima (UPenn), Vijay Kumar (UPenn), George Pappas (UPenn) and

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 149/249A Fall 2015 2008-2015: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter 13: Specification and

More information

Tutorial 1: Modern SMT Solvers and Verification

Tutorial 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 information

Proving Unsatisfiability in Non-linear Arithmetic by Duality

Proving 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 information

Verification 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 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 information

Heuristics for Efficient SAT Solving. As implemented in GRASP, Chaff and GSAT.

Heuristics for Efficient SAT Solving. As implemented in GRASP, Chaff and GSAT. Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT. Formulation of famous problems as SAT: k-coloring (1/2) The K-Coloring problem: Given an undirected graph G(V,E) and a natural

More information

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/

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

CSE507. Satisfiability Modulo Theories. Computer-Aided Reasoning for Software. Emina Torlak

CSE507. Satisfiability Modulo Theories. Computer-Aided Reasoning for Software. Emina Torlak Computer-Aided Reasoning for Software CSE507 Satisfiability Modulo Theories courses.cs.washington.edu/courses/cse507/18sp/ Emina Torlak emina@cs.washington.edu Today Last lecture Practical applications

More information

Compositional Reasoning

Compositional Reasoning EECS 219C: Computer-Aided Verification Compositional Reasoning and Learning for Model Generation Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Avrim Blum Compositional Reasoning S. A. Seshia 2 1

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 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 information

A Scalable and Nearly Uniform Generator of SAT Witnesses

A Scalable and Nearly Uniform Generator of SAT Witnesses A Scalable and Nearly Uniform Generator of SAT Witnesses Supratik Chakraborty 1, Kuldeep S. Meel 2, and Moshe Y. Vardi 2 1 Indian Institute of Technology Bombay, India 2 Department of Computer Science,

More information

1 Classical Propositional Logic [20 points]

1 Classical Propositional Logic [20 points] Homework 1 Solutions 15-414/614 : Bug Catching, Spring 2014 1 Classical Propositional Logic [20 points] Let x, y and z be three propositions. (a) (8 points) Show that the two propositional formulas, (x

More information

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz

SMT 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 information

Solving and Verifying Hard Problems using SAT

Solving and Verifying Hard Problems using SAT Solving and Verifying Hard Problems using SAT Marijn J.H. Heule 1/22 SAT Solving and Verification Solving Framework for Hard Problems The Future: Verified SAT via Proofs 2/22 SAT Solving and Verification

More information

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel

Propositional 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 information

Improving Unsatisfiability-based Algorithms for Boolean Optimization

Improving Unsatisfiability-based Algorithms for Boolean Optimization Improving Unsatisfiability-based Algorithms for Boolean Optimization Vasco Manquinho Ruben Martins Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal SAT 2010, Edinburgh 1 / 27 Motivation

More information

Equivalence of DFAs and NFAs

Equivalence of DFAs and NFAs CS 172: Computability and Complexity Equivalence of DFAs and NFAs It s a tie! DFA NFA Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: L.von Ahn, L. Blum, M. Blum What we ll do today Prove that DFAs

More information

Notes. Corneliu Popeea. May 3, 2013

Notes. Corneliu Popeea. May 3, 2013 Notes Corneliu Popeea May 3, 2013 1 Propositional logic Syntax We rely on a set of atomic propositions, AP, containing atoms like p, q. A propositional logic formula φ Formula is then defined by the following

More information

SMT Unsat Core Minimization

SMT 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 information

Generating SAT Instances with Community Structure

Generating SAT Instances with Community Structure Generating SAT Instances with Community Structure Jesús Giráldez-Cru Artificial Intelligence Research Institute (IIIA-CSIC), Campus UAB, Bellaterra, Spain Jordi Levy Artificial Intelligence Research Institute

More information

Model Counting for Probabilistic Reasoning

Model Counting for Probabilistic Reasoning Model Counting for Probabilistic Reasoning Beyond NP Workshop Stefano Ermon CS Department, Stanford Combinatorial Search and Optimization Progress in combinatorial search since the 1990s (SAT, SMT, MIP,

More information

Equivalence Checking of Sequential Circuits

Equivalence Checking of Sequential Circuits Equivalence Checking of Sequential Circuits Sanjit Seshia EECS UC Berkeley With thanks to K. Keutzer, R. Rutenbar 1 Today s Lecture What we know: How to check two combinational circuits for equivalence

More information

Notes for Lecture 9. 1 Combining Encryption and Authentication

Notes for Lecture 9. 1 Combining Encryption and Authentication U.C. Berkeley CS276: Cryptography Handout N9 Luca Trevisan February 17, 2009 Notes for Lecture 9 Notes scribed by Joel Weinberger, posted March 1, 2009 Summary Last time, we showed that combining a CPA-secure

More information

A Concurrency Problem with Exponential DPLL(T ) Proofs

A 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 information

Motion planning applications of Satisfiability Modulo Convex Optimization

Motion planning applications of Satisfiability Modulo Convex Optimization Motion planning applications of Satisfiability Modulo Convex Optimization Yasser Shoukry (1) and Paulo Tabuada (2) (1) Department of Electrical and Computer Engineering, UMD (2) Electrical and Computer

More information

Notes for Lecture 2. Statement of the PCP Theorem and Constraint Satisfaction

Notes for Lecture 2. Statement of the PCP Theorem and Constraint Satisfaction U.C. Berkeley Handout N2 CS294: PCP and Hardness of Approximation January 23, 2006 Professor Luca Trevisan Scribe: Luca Trevisan Notes for Lecture 2 These notes are based on my survey paper [5]. L.T. Statement

More information

Analysis of a Randomized Local Search Algorithm for LDPCC Decoding Problem

Analysis of a Randomized Local Search Algorithm for LDPCC Decoding Problem Analysis of a Randomized Local Search Algorithm for LDPCC Decoding Problem Osamu Watanabe, Takeshi Sawai, and Hayato Takahashi Dept. of Mathematical and Computing Sciences, Tokyo Institute of Technology

More information

Today. Few Comments. PCP Theorem, Simple proof due to Irit Dinur [ECCC, TR05-046]! Based on some ideas promoted in [Dinur- Reingold 04].

Today. Few Comments. PCP Theorem, Simple proof due to Irit Dinur [ECCC, TR05-046]! Based on some ideas promoted in [Dinur- Reingold 04]. Today Few Comments PCP Theorem, Simple proof due to Irit Dinur [ECCC, TR05-046]! Based on some ideas promoted in [Dinur- Reingold 04]. Remarkably simple novel proof. Leads to new quantitative results too!

More information

Lecture Notes Each circuit agrees with M on inputs of length equal to its index, i.e. n, x {0, 1} n, C n (x) = M(x).

Lecture Notes Each circuit agrees with M on inputs of length equal to its index, i.e. n, x {0, 1} n, C n (x) = M(x). CS 221: Computational Complexity Prof. Salil Vadhan Lecture Notes 4 February 3, 2010 Scribe: Jonathan Pines 1 Agenda P-/NP- Completeness NP-intermediate problems NP vs. co-np L, NL 2 Recap Last time, we

More information

Fast DQBF Refutation

Fast DQBF Refutation Fast DQBF Refutation Bernd Finkbeiner and Leander Tentrup Saarland University Abstract. Dependency Quantified Boolean Formulas (DQBF) extend QBF with Henkin quantifiers, which allow for non-linear dependencies

More information

Confirmation of Exponential Speed-up Using MemComputing to Solve Hard Optimization Problems

Confirmation of Exponential Speed-up Using MemComputing to Solve Hard Optimization Problems Confirmation of Exponential Speed-up Using MemComputing to Solve Hard Optimization Problems MemComputing, Inc. Table of contents 1 Executive Summary 2 Introduction 3 MemComputing Advantage - Self-Organizing

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

Solving SAT Modulo Theories

Solving 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 information

Pushing The Envelope for Boolean Functional Synthesis

Pushing The Envelope for Boolean Functional Synthesis An extended version of this article is in the process of being submitted for peer review Pushing The Envelope for Boolean Functional Synthesis S. Akshay 1, Supratik Chakraborty 1, Shubham Goel 1, Sumith

More information

Artificial Intelligence

Artificial Intelligence Torralba and Wahlster Artificial Intelligence Chapter 11: Propositional Reasoning, Part II 1/69 Artificial Intelligence 11. Propositional Reasoning, Part II: SAT Solvers How to Efficiently Think About

More information

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Software 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 information

Computing the Density of States of Boolean Formulas

Computing the Density of States of Boolean Formulas Computing the Density of States of Boolean Formulas Stefano rmon, Carla P. Gomes, and Bart Selman Cornell University, Ithaca NY 1480, USA {ermonste,gomes,selman}@cs.cornell.edu Abstract. In this paper

More information

Topics in Model-Based Reasoning

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 information

Chapter 7 Propositional Satisfiability Techniques

Chapter 7 Propositional Satisfiability Techniques Lecture slides for Automated Planning: Theory and Practice Chapter 7 Propositional Satisfiability Techniques Dana S. Nau CMSC 722, AI Planning University of Maryland, Spring 2008 1 Motivation Propositional

More information

Embed and Project: Discrete Sampling with Universal Hashing

Embed and Project: Discrete Sampling with Universal Hashing Embed and Project: Discrete Sampling with Universal Hashing Stefano Ermon, Carla P. Gomes Dept. of Computer Science Cornell University Ithaca NY 4853, U.S.A. Ashish Sabharwal IBM Watson Research Ctr. Yorktown

More information

An Incremental Approach to Model Checking Progress Properties

An Incremental Approach to Model Checking Progress Properties An Incremental Approach to Model Checking Progress Properties Aaron Bradley Fabio Somenzi Zyad Hassan Yan Zhang Department of Electrical, Computer, and Energy Engineering University of Colorado at Boulder

More information

Finding small unsatisfiable cores to prove unsatisfiability of QBFs

Finding small unsatisfiable cores to prove unsatisfiability of QBFs Finding small unsatisfiable cores to prove unsatisfiability of QBFs Yannet Interian 1 Gabriel Corvera 2 Bart Selman 3 Ryan Williams 4 1 Center for Applied Mathematics. Cornell University, Ithaca, NY 14853

More information

Algebraic Methods. Motivation: Systems like this: v 1 v 2 v 3 v 4 = 1 v 1 v 2 v 3 v 4 = 0 v 2 v 4 = 0

Algebraic Methods. Motivation: Systems like this: v 1 v 2 v 3 v 4 = 1 v 1 v 2 v 3 v 4 = 0 v 2 v 4 = 0 Motivation: Systems like this: v v 2 v 3 v 4 = v v 2 v 3 v 4 = 0 v 2 v 4 = 0 are very difficult for CNF SAT solvers although they can be solved using simple algebraic manipulations Let c 0, c,...,c 2 n

More information

Undergraduate work. Symbolic Model Checking Using Additive Decomposition by. Himanshu Jain. Joint work with Supratik Chakraborty

Undergraduate work. Symbolic Model Checking Using Additive Decomposition by. Himanshu Jain. Joint work with Supratik Chakraborty Undergraduate work Symbolic Model Checking Using Additive Decomposition by Himanshu Jain Joint work with Supratik Chakraborty Organization of the Talk Basics Motivation Related work Decomposition scheme

More information

Probabilistically Checkable Proofs and Approximating Solutions to Hard Problems

Probabilistically Checkable Proofs and Approximating Solutions to Hard Problems Probabilistically Checkable Proofs and Approximating Solutions to Hard Problems Kyle Littlefield June 8, 2005 Contents 1 Introduction 2 2 A Brief Introduction to Theory of Computation 3 2.1 Some Notation...........................

More information

SAT, CSP, and proofs. Ofer Strichman Technion, Haifa. Tutorial HVC 13

SAT, CSP, and proofs. Ofer Strichman Technion, Haifa. Tutorial HVC 13 SAT, CSP, and proofs Ofer Strichman Technion, Haifa Tutorial HVC 13 1 The grand plan for today Intro: the role of SAT, CSP and proofs in verification SAT how it works, and how it produces proofs CSP -

More information

IC3 and Beyond: Incremental, Inductive Verification

IC3 and Beyond: Incremental, Inductive Verification IC3 and Beyond: Incremental, Inductive Verification Aaron R. Bradley ECEE, CU Boulder & Summit Middle School IC3 and Beyond: Incremental, Inductive Verification 1/62 Induction Foundation of verification

More information

Random Stimulus Generation using Entropy and XOR Constraints

Random Stimulus Generation using Entropy and XOR Constraints Random Stimulus Generation using Entropy and XOR Constraints Stephen M. Plaza, Igor L. Markov, Valeria Bertacco EECS Department, University of Michigan, Ann Arbor, MI 48109-2121 Abstract {splaza, imarkov,

More information

SMT: Satisfiability Modulo Theories

SMT: 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 information

Satisfiability Modulo Theories (SMT)

Satisfiability 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 information

SAT/SMT/AR Introduction and Applications

SAT/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 information

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak

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

Multi-Level Logic Optimization. Technology Independent. Thanks to R. Rudell, S. Malik, R. Rutenbar. University of California, Berkeley, CA

Multi-Level Logic Optimization. Technology Independent. Thanks to R. Rudell, S. Malik, R. Rutenbar. University of California, Berkeley, CA Technology Independent Multi-Level Logic Optimization Prof. Kurt Keutzer Prof. Sanjit Seshia EECS University of California, Berkeley, CA Thanks to R. Rudell, S. Malik, R. Rutenbar 1 Logic Optimization

More information

Foundations of Lazy SMT and DPLL(T)

Foundations 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 information

Comp487/587 - Boolean Formulas

Comp487/587 - Boolean Formulas Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested

More information

MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures

MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures Curtis Bright University of Waterloo May 13, 2016 1 / 26 Motivation The research areas of SMT [SAT-Modulo-Theories] solving and symbolic computation

More information

From SAT To SMT: Part 1. Vijay Ganesh MIT

From 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 information

LRA Interpolants from No Man s Land. Leonardo Alt, Antti E. J. Hyvärinen, and Natasha Sharygina University of Lugano, Switzerland

LRA 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 information

On SAT Solvers and Ramsey-type Numbers. 1 Introduction

On SAT Solvers and Ramsey-type Numbers. 1 Introduction On SAT Solvers and Ramsey-type Numbers Burcu Canakci, Bilkent University Hannah Christenson, Pomona College Robert Fleischman, Montgomery Blair High School Nicole McNabb, Swarthmore College Daniel Smolyak,

More information

Counting CSP Solutions Using Generalized XOR Constraints

Counting CSP Solutions Using Generalized XOR Constraints Counting CSP Solutions Using Generalized XOR Constraints Carla P. Gomes and Willem-Jan van Hoeve and Ashish Sabharwal and Bart Selman Department of Computer Science Cornell University, Ithaca NY 14853-7501,

More information

MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures

MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures Curtis Bright 1, Vijay Ganesh 1, Albert Heinle 1, Ilias Kotsireas 2, Saeed Nejati 1, Krzysztof Czarnecki 1 1 University of Waterloo, 2 Wilfred

More information

MathCheck2: Combining SAT and CAS Presentation at Applications of Computer Algebra 2016 Kassel, Germany

MathCheck2: Combining SAT and CAS Presentation at Applications of Computer Algebra 2016 Kassel, Germany MathCheck2: Combining SAT and CAS Presentation at Applications of Computer Algebra 2016 Kassel, Germany Curtis Bright, Vijay Ganesh, Albert Heinle, Ilias Kotsireas, Saeed Nejati, Krzysztof Czarnecki University

More information

An Introduction to Z3

An 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 information