SAT Based Efficient Directed Test Generation Techniques
|
|
- Griselda Blake
- 5 years ago
- Views:
Transcription
1 SAT Based Efficient Directed Test Generation Techniques Presented by Mingsong Chen Software Engineering Institute East China Normal University May 5, 2011
2 Outline Introduction Model Checking Based Test Generation SAT-based Bounded Model Checking DPLL algorithm Conflict clause Efficient Test Generation Approaches Conflict clause forwarding based approaches Decision ordering based techniques Property decomposition based methods Conclusion 2
3 Outline Introduction Model Checking Based Test Generation SAT-based Bounded Model Checking DPLL algorithm Conflict clause Efficient Test Generation Approaches Conflict clause forwarding based approaches Decision ordering based techniques Property decomposition based methods Conclusion 3
4 Functional Validation of SOC Designs Engineer Years B 10B 100M Simulation Vectors 1M 10M 100M Logic Gates Source: G. Spirakis, keynote address at DATE 2004 Source: Synopsys Functional validation is a major bottleneck during SoC development! (up to 70% of time and resources are used)
5 Functional Validation Methods Simulation (Validation) The process of gaining confidence by examining the behavior of the implementation using input/output test vectors Incompleteness verification: not possible for all input vectors Applicable to large designs Formal (Verification) Mathematical proof that a system (implementation) behaves according to a given set of requirements (specification) Complete verification Applied to small and critical components due to the state space explosion problem 5
6 Approaches for Specification Validation Verification / Validation Formal Verification Simulation-based Validation Theorem Proving Model Checking SAT Solving Random Test Constrained Random Test Directed Test Bounded Model Checking SAT-based Bounded Model Checking Validation using a combination of simulation based techniques and formal methods. 6
7 Test Generation using Model Checking Model Checking (MC) Specification is translated to formal models, e.g., SMV Desired behaviors in temporal logic properties, e.g. LTL Property falsification leads to counterexamples (tests) Test Generation Generate a counterexample: sequence of variable assignments ATM Model Password Input is always true Problem: Test generation is very costly or not applicable in many complex scenarios. An Example Model Checker Approach: Generate a Exploit test to fail passward learning input to reduce validation complexity User name Password User intput - Reduction of test generation time Bob ABC ABD - Enables test generation in complex scenarios 7
8 Outline Introduction Model Checking Based Test Generation SAT-based Bounded Model Checking DPLL algorithm Conflict clause Efficient Test Generation Approaches Conflict clause forwarding based approaches Decision ordering based techniques Property decomposition based methods Conclusion 8
9 SAT-based Bounded Model Checking The safety property P is valid up to cycle k iff Ω(k) is not satisfiable. p p p p p... s 0 s 1 s 2 s k-1 s k If Ω(k) is satisfiable, then we can get an assignment which can be translated to a test.
10 SAT Decision Procedure Given a ϕ in CNF: (x+y+z)( x+y)( y+z)( x+ y+ z) x ϕ ϕ x Decide() (y),( y,z),( y, z) (y,z),( y,z) x=1@ level1 y y z z (z),( z) () () (y),( y) z=1@level2 z z X y y () () () () X X X X Deduce() Resolve_Conflict() y=0 or 1@level2
11 DPLL Algorithm while (1){ run_periodic_function(); if( decide_next_branch() ){ while (deduce() Implication == CONFLICT) { } blevel = analyze_conflicts(); Conflict Backtrack if( blevel<0 ) return UNSAT; } } else return SAT; BCP = Implication Number + Conflict Backtrack Boolean Constraint Propagation (BCP) consumes up to 80% of the time and resources during SAT solving
12 Implication Graph, Conflict Clause ω 1 = (x 2 x 6 x 4 ) ω 2 = ( x 8 x 3 x 7 ) ω 3 = ( x 1 x 4 x 5 ) ω 4 = ( x 3 x 4 ) ω 5 = ( x 2 x 3 x 8 ) ω 6 : ( x 1 x 5 x 6 x 7 ) x5@4 x1@3 x4@4 x6@1 x2@4 x3@4 cut1 x8@4 x8@4 conflict x7@2 Conflict clause can be treated as the knowledge learned during the SAT solving. It is a restriction of the variable assignment.
13 Same Property but Different Bounds p 1 k p 1 3 p 1 2 p 1 1 Δp 1 k p 1 3 Forward Δp 1 3 Forward p 1 1 p 1 2 Δp 1 2 The minimal bound is k: Save: ΔP Δp Δp 1 k Δp 1 k O. Strichman. Pruning Techniques for the SAT-Based Bounded Model Checking Problems. CHARME, 2001
14 Outline Introduction Model Checking Based Test Generation SAT-based Bound Model Checking DPLL algorithm Conflict clause Efficient Test Generation Approaches Conflict clause forwarding based approaches Decision ordering based techniques Property decomposition based methods Conclusion 14
15 Same Design, Different Properties P1 P2 rg2 rg3 rg1 rgk rg4 rb2 P3 rb1 rb4 rb3 rbn Benefit: Original: Red + Blue + Green Now: Red + (Blue Δblue) + (Green Δgreen) Save: Δblue + Δgreen Forward Forward Δgreen Δblue
16 Property Clustering Clustering properties is to exploit the structural and behavior similarity and maximize the validation reuse Property clustering methods: Based on structural similarity Based on textual similarity Based on Influence (Cone of Influence) Based on CNF intersections
17 Identification of Common Conflict Clauses cut1 conflict Conflict Clause ( X1 X5 X6 X7 ) Conflict Side Clauses Clauses Group ID ( X2 X3 X8 ) (X3 X7 X8 ) (X2 X3 X6 ) ( X3 X4) ( X1 X4 X5 ) Let be the bit AND operation. ( ) = So the conflict clause ( X1 X5 X6 X7 ) can be reused for property 2.
18 Test Generation For A Property Cluster 1. Cluster the properties based on similarity 2. for each cluster i, of properties 1 Select base property p i 1, and generate CNF i 1 2 for each CNF i j of p i j (j 1) in cluster i a) Perform name substitution on CNF i j b) Compute intersection INT i j between CNF i 1 and CNF i j c) Mark the clauses of CNF i 1 using INT i j endfor 3 Solve CNF i 1 to get the conflict clauses CC i 1 and test i 1 4 for each CNF i j (j 1) a) CNF i j = CNF i j + Filter (CC i j, j) b) Solve CNF i j to get test i j endfor endfor
19 Case Study 1 : MIPS Processor PC Fetch Memory Register File Decode The Architecture IALU MUL1 MUL2 FADD1 FADD2 FADD3 DIV MIPS Processor - 20 nodes - 24 edges - 91 instructions MUL7 FADD4 Decode WriteBack Unit Storage Pipeline edge Data-transfer edge
20 MIPS Processor Results The processor has five pipeline stages: fetch, decode, execute, memory and writeback. There are totally 171 properties generated. Methods Structure Textual Influence Intersection Num. of Clusters zchaff (sec.) (Existing Approach) Our Method (sec.) Speedup zchaff is a state-of-the-art SAT Solver.
21 Case Study 2 : OSES VerifyOrd er Settle_tra de Trade_S Update_SHolderDB _S Update_StockDB _S Update_OrderDB_ S Update_orderDB_ NM Trade_N M Trade_ PE Update _stockdb_pe Update_StockerHolderDB_ PE Update_OrderDB_ PE UpdateM ap AddOrderForm List GetNewOrd er Trade _F CheckLimitPr ice Update_orderDB _F End Order Order Error Get Order Result Limit Buy Market Buy Marker Sale Limit Sale t0 t11 t1 t2 t12 t9 t8 t6 t5 t7 t3 t15 t16 t13 t14 t17 t18 t10 t22 t27 t28 t29 t23 t29 t26 t2 5 t2 4 t20 t21 t19 t4
22 OSES Results This case study is a on-line stock exchange system. The activity diagram consists of 27 activities, 29 transitions and 18 key paths. There are totally 51 properties. Methods Structure Textual Influence Intersection Num. of Clusters zchaff (sec.) (Existing Approach) Our Method (sec.) Speedup
23 Outline Introduction Model Checking Based Test Generation SAT-based Bounded Model Checking DPLL algorithm Conflict clause Efficient Test Generation Approaches Conflict clause forwarding based approaches Decision ordering based techniques Property decomposition based methods Conclusion 23
24 Decision Ordering Problem Given a ϕ in CNF: (x+y+z)( x+y)( y+z)( x+ y+ z) ϕ ϕ x x (y),( y,z),( y, z) (y,z),( y,z) y y z z (z),( z) () () (y),( y) z z X y y A wise decision ordering can quickly locate the true assignment. Bit value ordering Variable Orderinig () () () () X X X X Best decision: x, z 24
25 Two Similar SAT Problems SAT 1 SAT 2 a a b b b b c c c c c c c c F F F S F F F F F F F F F F F S Ordering: a, a, b, b, c, c Ordering: a, a, b, b, c, c Without Learning, 7 conflicts in SAT2.
26 Learning: Bit Value Ordering SAT 1 SAT 2 a Bit value: a=1,b=0,c=0 a b b b b c c c c c c c c F F F S F F F F F F F F F F F S Ordering: a, a, b, b, c, c Ordering: a, a, b, b, c, c With bit value learning, 4 conflicts in SAT2.
27 Learning: Bit Value + Variable Ordering SAT 1 SAT 2 Bit value: a=1,b=0,c=0 a Variable order: b>c>a b b b c c c c c c F F F S F F F F Ordering: a, a, b, b, c, c a a a a F F F F F F F S Ordering: b, b, c, c, a, a With bit value+ variable order learning, 1 conflict in SAT2.
28 Our method An Example with 3 properties VarStat a b c d [0] V [1] V P1: a=0, b=0, c=1, d=1 VarStat a b c d [0] V [1] V P2: a=0, b=0, c=1, d=0 P3: a=0, b=0, c=1, d=? score(a), score(a ) score(b), score(b ) score(c), score(c ) Predict ordering for P3 VarStat a b c d [0] V [1] V Approach: Using the statistics of the counterexamples when checking the properties in a cluster - Count of values bit value ordering - Variance of counts of two literals variable ordering
29 Case Study 1 : MIPS Processor For each function unit (ALU, DIV, FADD and MUL) in the pipelined processor. We generate 4 properties. Property (test) zchaff (sec) Clustering Speedup (over zchaff) Decision Ordering Speedup (over Clustering) ALU P P P DIV P P P FADD P P P MUL P P P
30 Case Study 1 : MIPS Processor Test generation time is significantly improved - Drastic reduction of conflict clauses - Drastic reduction in number of implications
31 Case Study 2 : OSES This case study is a on-line stock exchange system. The activity diagram consists of 27 activities, 29 transitions and 18 key paths. Cluster Size zchaff Clustering Speedup (over zchaff) Decision Ordering Speedup (over Clustering) C C C C C C C C C Average
32 Outline Introduction Model Checking Based Test Generation SAT-based Bounded Model Checking Implication graph SAT decision procedure DPLL algorithm Efficient Test Generation Approaches Conflict clause forwarding based approaches Decision ordering based techniques Property decomposition based methods Conclusion 32
33 Property Decomposition Techniques Property Property p1 p2 pn p1 p2 pn t1 t2 tn Learnings Drawback: Composition Hard to automate BMC Test Koo et al. Functional Test Generation using Property Decomposition Techniques. ACM TECS, 2009 Test 33
34 Spatial Decomposition V1 V2 Cone1 p1 COI(p1) < COI(p2) < COI(p3) <COI(P) V3 V4 V5 Cone2 p2 P Time(p1) < Time(p2) < Time(p3) <Time(P) Cone3 p3 Vn Learning from P1 can reduce the Time(P)? 34
35 Temporal Decomposition T2 T1 T3 e1 e3 e4 e5 e2 e6 Cause effect relation: e1 e2 e3 e4 e5 e6 Happen before relation: e1<e3<e4 <e5<e2<e6 35
36 Temporal Decomposition e3 e4 e5 1 2 e1 1 e2 3 e7 e8 e e6 5 event Cause-effect Happen-before!F(e1)!F(e3)!F(e7)!F(e9) 36
37 Case Study 1: MIPS Processor We generated 6 complex properties based on interaction faults on various function unit (ALU, DIV, FADD and MUL), which cannot handled by temporal decomposition. Property (test) zchaff (sec) Num. of Clusters Num. of Sub-props Spatial (sec) Speedup P P P P P P Speedup: times
38 Case Study 2 : OSES This case study is a on-line stock exchange system. The activity diagram consists of 27 activities, 29 transitions and 18 key paths. Property zchaff (sec) Bound Num. of Subproperties Temporal (sec) Speedup P P P P P P P P P P Speedup: 3-62 times
39 Outline Introduction Model Checking Based Test Generation SAT-based Bounded Model Checking DPLL algorithm Conflict clause Efficient Test Generation Approaches Conflict clause forwarding based approaches Decision ordering based techniques Property decomposition based methods Conclusion 39
40 Conclusion Validation is a major bottleneck in HW/SW designs This presentation discusses how to reduce the overall validation effort for directed test generation from models. 1. Conflict clause forwarding and property clustering methods 2. Efficient decision ordering approaches 3. Property decomposition techniques Successfully applied on both HW/SW designs Several orders of magnitude reduction in overall validation effort 40
41 Thank you!
Lecture 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 informationZchaff: A fast SAT solver. Zchaff: A fast SAT solver
* We d like to build a complete decision procedure for SAT which is efficient. Generalized D-P-L algorithm: while (true) { if (! decide( )) /* no unassigned variables */ return (sat) while (! bcp ( ))
More informationFunctional Test Generation Using Design and Property Decomposition Techniques
Functional Test Generation Using Design and Property Decomposition Techniques HEON-MO KOO and PRABHAT MISHRA Department of Computer and Information Science and Engineering, University of Florida Functional
More informationMajorSat: A SAT Solver to Majority Logic
MajorSat: A SAT Solver to Majority Logic Speaker : Ching-Yi Huang Authors: Yu-Min Chou, Yung-Chih Chen *, Chun-Yao Wang, Ching-Yi Huang National Tsing Hua University, Taiwan * Yuan Ze University, Taiwan
More informationCombinational Equivalence Checking
Combinational Equivalence Checking Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in
More informationSAT Solver. CS 680 Formal Methods Jeremy Johnson
SAT Solver CS 680 Formal Methods Jeremy Johnson Disjunctive Normal Form A Boolean expression is a Boolean function Any Boolean function can be written as a Boolean expression s x 0 x 1 f Disjunctive normal
More informationAcceleration of SAT-based Iterative Property Checking
Acceleration of SAT-based Iterative Property Checking Daniel Große Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany {grosse, drechsle}@informatik.uni-bremen.de Abstract
More informationIntegrating a SAT Solver with Isabelle/HOL
Integrating a SAT Solver with / Tjark Weber (joint work with Alwen Tiu et al.) webertj@in.tum.de First Munich-Nancy Workshop on Decision Procedures for Theorem Provers March 6th & 7th, 2006 Integrating
More informationQuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University
QuteSat A Robust Circuit-Based SAT Solver for Complex Circuit Structure Chung-Yang (Ric) Huang National Taiwan University To appear: DATE 27 2/1/27 Fact Sheet (Background) Boolean Satisfiability (SAT)
More informationAbstraction Refinement for Bounded Model Checking
Abstraction Refinement for Bounded Model Checking Anubhav Gupta 1 and Ofer Strichman 2 1 School of Computer Science, Carnegie Mellon University, USA anubhav@cs.cmu.edu 2 Information Systems Engineering,
More informationNormal Forms for Boolean Expressions
Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive
More informationEfficient SAT-based Boolean Matching for FPGA Technology Mapping
Efficient SAT-based Boolean Matching for FPGA Technology Mapping Sean Safarpour, Andreas Veneris Department of Electrical and Computer Engineering University of Toronto Toronto, ON, Canada {sean, veneris}@eecg.toronto.edu
More informationEfficient Directed Test Generation for Validation of Multicore Architectures
Efficient Directed Test Generation for Validation of Multicore Architectures Xiaoke Qin and Prabhat Mishra Department of Computer and Information cience and Engineering University of Florida, Gainesville
More informationESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E)
ESE535: Electronic Design Automation CNF Day 21: April 21, 2008 Modern SAT Solvers ({z}chaff, GRASP,miniSAT) Conjunctive Normal Form Logical AND of a set of clauses Product of sums Clauses: logical OR
More informationHySAT. what you can use it for how it works example from application domain final remarks. Christian Herde /12
CP2007: Presentation of recent CP solvers HySAT what you can use it for how it works example from application domain final remarks Christian Herde 25.09.2007 /2 What you can use it for Satisfiability checker
More informationFinite Model Generation for Isabelle/HOL Using a SAT Solver
Finite Model Generation for / Using a SAT Solver Tjark Weber webertj@in.tum.de Technische Universität München Winterhütte, März 2004 Finite Model Generation for / p.1/21 is a generic proof assistant: Highly
More informationSAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013
SAT Solvers Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures We will look very closely at the following 1. Propositional Logic 2. Theory of Equality 3. Theory of Uninterpreted Functions 4.
More informationTrading-off incrementality and dynamic restart of multiple solvers in IC3
Trading-off incrementality and dynamic restart of multiple solvers in IC3 Paolo Enrico Camurati, Carmelo Loiacono, Paolo Pasini, Denis Patti, Stefano Quer Dip. di Automatica ed Informatica, Politecnico
More informationApplying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems
V Brazilian Symposium on Computing Systems Engineering Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems Alessandro Trindade, Hussama Ismail, and Lucas Cordeiro Foz
More informationCS-E3200 Discrete Models and Search
Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete
More informationSAT-based Model Checking for C programs
SAT-based Model Checking for C programs Moonzoo Kim Provable Software Lab. CS Division of EE 1 Formal Methods Definition in Wikepedia Formal methods are mathematically-based techniques for the specification,
More informationChapter 2 PRELIMINARIES
8 Chapter 2 PRELIMINARIES Throughout this thesis, we work with propositional or Boolean variables, that is, variables that take value in the set {true, false}. A propositional formula F representing a
More information12. Use of Test Generation Algorithms and Emulation
12. Use of Test Generation Algorithms and Emulation 1 12. Use of Test Generation Algorithms and Emulation Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin
More informationSatisfiability (SAT) Applications. Extensions/Related Problems. An Aside: Example Proof by Machine. Annual Competitions 12/3/2008
15 53:Algorithms in the Real World Satisfiability Solvers (Lectures 1 & 2) 1 Satisfiability (SAT) The original NP Complete Problem. Input: Variables V = {x 1, x 2,, x n }, Boolean Formula Φ (typically
More informationBoolean Representations and Combinatorial Equivalence
Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving
More informationEECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1
More informationDecision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman.
Decision Procedures An Algorithmic Point of View Decision Procedures for Propositional Logic D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part I Decision Procedures for Propositional Logic Outline
More informationBoolean Functions (Formulas) and Propositional Logic
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x
More informationFormally Certified Satisfiability Solving
SAT/SMT Proof Checking Verifying SAT Solver Code Future Work Computer Science, The University of Iowa, USA April 23, 2012 Seoul National University SAT/SMT Proof Checking Verifying SAT Solver Code Future
More informationHECTOR: Formal System-Level to RTL Equivalence Checking
ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008
More informationXuandong Li. BACH: Path-oriented Reachability Checker of Linear Hybrid Automata
BACH: Path-oriented Reachability Checker of Linear Hybrid Automata Xuandong Li Department of Computer Science and Technology, Nanjing University, P.R.China Outline Preliminary Knowledge Path-oriented Reachability
More informationResearch Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001
Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright
More informationBounded Model Checking with QBF
Bounded Model Checking with QBF N. Dershowitz, Z. Hanna and J. Katz Abstract. Current algorithms for bounded model checking (BMC) use SAT methods for checking satisfiability of Boolean formulas. These
More informationSpace-Efficient Bounded Model Checking
Space-Efficient Bounded Model Checking Author names Abstract Current algorithms for bounded model checking use SAT methods for checking satisfiability of Boolean formulae. Methods based on the validity
More informationConflict Driven Learning and Non-chronological Backtracking
x1 + x4 Conflict Driven Learning and Conflict Driven Learning and x1 + x4 x1 x1=0 x1=0 Conflict Driven Learning and x1 + x4 x1 x1=0 x1=0 Conflict Driven Learning and x1 + x4 x1 x1=0, x4=1 x1=0 x4=1 Conflict
More informationCSE507. Practical Applications of SAT. Computer-Aided Reasoning for Software. Emina Torlak
Computer-Aided Reasoning for Software CSE507 Practical Applications of SAT courses.cs.washington.edu/courses/cse507/18sp/ Emina Torlak emina@cs.washington.edu Today Past 2 lectures The theory and mechanics
More informationSolving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s
Solving 3-SAT Radboud University Nijmegen Bachelor Thesis Author: Peter Maandag s3047121 Supervisors: Henk Barendregt Alexandra Silva July 2, 2012 Contents 1 Introduction 2 1.1 Problem context............................
More informationTo be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability
More informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 20 SoC Verification Sources: Jacob A. Abraham Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture
More informationSystem Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements
System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,
More informationSAT and Termination. Nao Hirokawa. Japan Advanced Institute of Science and Technology. SAT and Termination 1/41
SAT and Termination Nao Hirokawa Japan Advanced Institute of Science and Technology SAT and Termination 1/41 given 9 9-grid like Sudoku Puzzle 1 8 7 3 2 7 7 1 6 4 3 4 5 3 2 8 6 fill out numbers from 1
More informationCircuit versus CNF Reasoning for Equivalence Checking
Circuit versus CNF Reasoning for Equivalence Checking Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Equivalence Checking Workshop 25 Madonna di Campiglio,
More informationComputer-Aided Program Design
Computer-Aided Program Design Spring 2015, Rice University Unit 1 Swarat Chaudhuri January 22, 2015 Reasoning about programs A program is a mathematical object with rigorous meaning. It should be possible
More informationFinite State Verification. CSCE Lecture 21-03/28/2017
Finite State Verification CSCE 747 - Lecture 21-03/28/2017 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee
More informationOn Computing Minimum Size Prime Implicants
On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for
More informationFinite State Verification. CSCE Lecture 14-02/25/2016
Finite State Verification CSCE 747 - Lecture 14-02/25/2016 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee
More informationSatisfiability Solvers
Satisfiability Solvers Part 1: Systematic Solvers 600.325/425 Declarative Methods - J. Eisner 1 Vars SAT solving has made some progress 100000 10000 1000 100 10 1 1960 1970 1980 1990 2000 2010 Year slide
More informationConstraint Satisfaction Problems
Constraint Satisfaction Problems Tuomas Sandholm Carnegie Mellon University Computer Science Department [Read Chapter 6 of Russell & Norvig] Constraint satisfaction problems (CSPs) Standard search problem:
More informationOn Formal Verification of Pipelined Processors with Arrays of Reconfigurable Functional Units. Miroslav N. Velev and Ping Gao
On Formal Verification of Pipelined Processors with Arrays of Reconfigurable Functional Units Miroslav N. Velev and Ping Gao Advantages of Reconfigurable DSPs Increased performance Reduced power consumption
More informationSAT Solver Heuristics
SAT Solver Heuristics SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) Able to solve 10-15 variable problems Satz (Chu Min Li, 1995) Able to solve some 1000 variable problems
More informationDeductive Methods, Bounded Model Checking
Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded
More informationBounded Model Checking with Parametric Data Structures
Bounded Model Checking with Marc Herbstritt (joint work with Erika Ábrahám, Bernd Becker, Martin Steffen) www.avacs.org August 15 2006 4th International Workshop on Bounded Model Checking Context Automated
More informationSystem Debugging and Verification : A New Challenge. Center for Embedded Computer Systems University of California, Irvine
System Debugging and Verification : A New Challenge Daniel Gajski Samar Abdi Center for Embedded Computer Systems http://www.cecs.uci.edu University of California, Irvine Overview Simulation and debugging
More informationSeminar decision procedures: Certification of SAT and unsat proofs
Seminar decision procedures: Certification of SAT and unsat proofs Wolfgang Nicka Technische Universität München June 14, 2016 Boolean satisfiability problem Term The boolean satisfiability problem (SAT)
More informationAutomatic Abstraction without Counterexamples
Automatic Abstraction without Counterexamples Kenneth L. McMillan and Nina Amla Cadence Design Systems Abstract. A method of automatic abstraction is presented that uses proofs of unsatisfiability derived
More informationA Structure-Based Variable Ordering Heuristic for SAT. By Jinbo Huang and Adnan Darwiche Presented by Jack Pinette
A Structure-Based Variable Ordering Heuristic for SAT By Jinbo Huang and Adnan Darwiche Presented by Jack Pinette Overview 1. Divide-and-conquer for SAT 2. DPLL & variable ordering 3. Using dtrees for
More informationA Scalable Algorithm for Minimal Unsatisfiable Core Extraction
A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz 1, Ziyad Hanna 2, and Alexander Nadel 1,2 1 School of Computer Science, Tel Aviv University, Ramat Aviv, Israel {nachumd,
More information9.1 Cook-Levin Theorem
CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two
More informationEECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions
More informationAn Introduction to SAT Solvers
An Introduction to SAT Solvers Knowles Atchison, Jr. Fall 2012 Johns Hopkins University Computational Complexity Research Paper December 11, 2012 Abstract As the first known example of an NP Complete problem,
More informationCombinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets
ASP-DAC 2007 Yokohama Combinational Equivalence Checking Using Incremental SAT Solving, Output ing, and Resets Stefan Disch Christoph Scholl Outline Motivation Preliminaries Our Approach Output ing Heuristics
More informationCS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan Remember Symbolic Model Checking Represent sets of states and the transition relation as Boolean logic formulas
More informationParallelizing SAT Solver With specific application on solving Sudoku Puzzles
6.338 Applied Parallel Computing Final Report Parallelizing SAT Solver With specific application on solving Sudoku Puzzles Hank Huang May 13, 2009 This project was focused on parallelizing a SAT solver
More informationDM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini
DM841 DISCRETE OPTIMIZATION Part 2 Heuristics Satisfiability Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Mathematical Programming Constraint
More informationValidating SAT Solvers Using an Independent Resolution-Based Checker: Practical Implementations and Other Applications
Validating SAT Solvers Using an Independent Resolution-Based Checker: Practical Implementations and Other Applications Lintao Zhang Department of Electrical Engineering Princeton University lintaoz@ee.princeton.edu
More informationBITCOIN MINING IN A SAT FRAMEWORK
BITCOIN MINING IN A SAT FRAMEWORK Jonathan Heusser @jonathanheusser DISCLAIMER JUST TO BE CLEAR.. This is research! Not saying ASICs suck I am not a cryptographer, nor SAT solver guy WTF REALISED PHD RESEARCH
More information1 Inference for Boolean theories
Scribe notes on the class discussion on consistency methods for boolean theories, row convex constraints and linear inequalities (Section 8.3 to 8.6) Speaker: Eric Moss Scribe: Anagh Lal Corrector: Chen
More informationRethinking Automated Theorem Provers?
Rethinking Automated Theorem Provers? David J. Pearce School of Engineering and Computer Science Victoria University of Wellington @WhileyDave http://whiley.org http://github.com/whiley Background Verification:
More informationEfficient test case generation for validation of UML activity diagrams
Des Autom Embed Syst (2010) 14: 105 130 DOI 10.1007/s10617-010-9052-4 Efficient test case generation for validation of UML activity diagrams Mingsong Chen Prabhat Mishra Dhrubajyoti Kalita Received: 20
More informationCOVERAGE-DRIVEN TEST GENERATION FOR FUNCTIONAL VALIDATION OF PIPELINED PROCESSORS
COVERAGE-DRIVEN TEST GENERATION FOR FUNCTIONAL VALIDATION OF PIPELINED PROCESSORS By HEON-MO KOO A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE
More informationNP-Completeness. Algorithms
NP-Completeness Algorithms The NP-Completeness Theory Objective: Identify a class of problems that are hard to solve. Exponential time is hard. Polynomial time is easy. Why: Do not try to find efficient
More informationNiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances
NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances Sathiamoorthy Subbarayan 1 and Dhiraj K Pradhan 2 1 Department of Innovation, IT-University of Copenhagen, Copenhagen,
More informationSAT, SMT and QBF Solving in a Multi-Core Environment
SAT, SMT and QBF Solving in a Multi-Core Environment Bernd Becker Tobias Schubert Faculty of Engineering, Albert-Ludwigs-University Freiburg, 79110 Freiburg im Breisgau, Germany {becker schubert}@informatik.uni-freiburg.de
More informationPredicate Abstraction and Refinement Techniques for Verifying Verilog
Predicate Abstraction and Refinement Techniques for Verifying Verilog Edmund Clarke Himanshu Jain Daniel Kroening June 25, 2004 CMU-CS-04-139 School of Computer Science Carnegie Mellon University Pittsburgh,
More informationProvably Optimal Test Cube Generation using Quantified Boolean Formula Solving
Provably Optimal Test Cube Generation using Quantified Boolean Formula Solving ASP-DAC 2013 Albert-Ludwigs-Universität Freiburg Matthias Sauer, Sven Reimer, Ilia Polian, Tobias Schubert, Bernd Becker Chair
More informationCDCL SAT Solvers. Joao Marques-Silva. Theory and Practice of SAT Solving Dagstuhl Workshop. April INESC-ID, IST, ULisbon, Portugal
CDCL SAT Solvers Joao Marques-Silva INESC-ID, IST, ULisbon, Portugal Theory and Practice of SAT Solving Dagstuhl Workshop April 2015 The Success of SAT Well-known NP-complete decision problem [C71] The
More informationHybrid Constraint Solvers
Hybrid Constraint Solvers - An overview Why Hybrid Solvers CP and SAT: Lazy Clause Generation CP and LP: Reification of Linear Constraints Conclusions 9 November 2011 Pedro Barahona - EPCL - Hybrid Solvers
More informationSMT-Style Program Analysis with Value-based Refinements
SMT-Style Program Analysis with Value-based Refinements Vijay D Silva Leopold Haller Daniel Kröning NSV-3 July 15, 2010 Outline Imprecision and Refinement in Abstract Interpretation SAT Style Abstract
More informationExample: Map coloring
Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and
More informationSymbolic and Concolic Execution of Programs
Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015 Information Security, CS 526 1 Reading for this lecture Symbolic execution and program testing - James
More informationCombinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique Example As an Example, let s consider the formula: F(x,y,z) = x y z + x yz + x yz + xyz + xy z The complete sum of
More informationMinimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U.
Minimum Satisfying Assignments for SMT Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U. 1 / 20 Satisfiability Modulo Theories (SMT) Today, SMT solvers
More informationSatisfiability Modulo Theories. DPLL solves Satisfiability fine on some problems but not others
DPLL solves Satisfiability fine on some problems but not others DPLL solves Satisfiability fine on some problems but not others Does not do well on proving multipliers correct pigeon hole formulas cardinality
More informationSymbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt.
Symbolic Methods The finite-state case Part I Martin Fränzle Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Hybride Systeme 02917: Symbolic Methods p.1/34 What you ll learn How to use and manipulate
More informationSAT/SMT Solvers and Applications
SAT/SMT Solvers and Applications University of Waterloo Winter 2013 Today s Lecture Lessons learnt so far Implementation-related attacks (control-hazard, malware,...) Program analysis techniques can detect
More informationPBS: A Pseudo-Boolean Solver and Optimizer
PBS: A Pseudo-Boolean Soler and Optimizer Fadi A. Aloul, Arathi Ramani, Igor L. Marko, Karem A. Sakallah Uniersity of Michigan 2002 Fadi A. Aloul, Uniersity of Michigan Motiation SAT Solers Apps: Verification,
More informationType checking. Jianguo Lu. November 27, slides adapted from Sean Treichler and Alex Aiken s. Jianguo Lu November 27, / 39
Type checking Jianguo Lu November 27, 2014 slides adapted from Sean Treichler and Alex Aiken s Jianguo Lu November 27, 2014 1 / 39 Outline 1 Language translation 2 Type checking 3 optimization Jianguo
More informationCourse Summary! What have we learned and what are we expected to know?
Course Summary! What have we learned and what are we expected to know? Overview! Introduction Modelling in MiniZinc Finite Domain Constraint Solving Search Linear Programming and Network Flow Mixed Integer
More informationSet 5: Constraint Satisfaction Problems Chapter 6 R&N
Set 5: Constraint Satisfaction Problems Chapter 6 R&N ICS 271 Fall 2017 Kalev Kask ICS-271:Notes 5: 1 The constraint network model Outline Variables, domains, constraints, constraint graph, solutions Examples:
More informationABC basics (compilation from different articles)
1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node
More informationSAT Solvers: A Condensed History. Sharad Malik Princeton University COS 598d 3/1/2010
SAT Solvers: A Condensed History Sharad Malik Princeton University COS 598d 3/1/2010 Where are we today? Intractability of the problem no longer daunting Can regularly handle practical instances with millions
More informationParallel and Distributed Computing
Parallel and Distributed Computing Project Assignment MAX-SAT SOLVER Version 1.0 (07/03/2016) 2015/2016 2nd Semester CONTENTS Contents 1 Introduction 2 2 Problem Description 2 2.1 Illustrative Example...................................
More informationarxiv: v2 [cs.pl] 3 Apr 2018
1 Scheduling Constraint Based Abstraction Refinement for Multi-Threaded Program Verification arxiv:1708.08323v2 [cs.pl] 3 Apr 2018 LIANGZE YIN, School of Computer, National University of Defense Technology,
More information4.1 Review - the DPLL procedure
Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They
More informationIntroduction to Formal Methods
2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette
More informationGuiding Real-World SAT Solving with Dynamic Hypergraph Separator Decomposition
Guiding Real-World SAT Solving with Dynamic Hypergraph Separator Decomposition Wei Li and Peter van Beek School of Computer Science University of Waterloo 200 University Ave. West Waterloo, Ontario N2L
More informationIntegration of Supercubing and Learning in a SAT Solver
Integration of Supercubing and Learning in a SAT Solver Domagoj Babić and Alan J. Hu Department of Computer Science University of British Columbia {babic,ajh}@cs.ubc.ca Abstract Learning is an essential
More informationOn Resolution Proofs for Combinational Equivalence Checking
On Resolution Proofs for Combinational Equivalence Checking Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann
More informationComputability Theory
CS:4330 Theory of Computation Spring 2018 Computability Theory Other NP-Complete Problems Haniel Barbosa Readings for this lecture Chapter 7 of [Sipser 1996], 3rd edition. Sections 7.4 and 7.5. The 3SAT
More informationImproving Coq Propositional Reasoning Using a Lazy CNF Conversion
Using a Lazy CNF Conversion Stéphane Lescuyer Sylvain Conchon Université Paris-Sud / CNRS / INRIA Saclay Île-de-France FroCoS 09 Trento 18/09/2009 Outline 1 Motivation and background Verifying an SMT solver
More information