SlideShare a Scribd company logo
1 of 91
Exploiting SAT solvers in 
unbounded model checking 
K. L. McMillan 
Cadence Berkeley Labs
DPLL-style SAT solvers 
Copyright 2002 Cadence Design Systems. Permission • Objective: 
SATO,GRASP,CHAFF,BERKMIN 
– Check satisfiability of a CNF formula 
• literal: v or Øv 
• clause: disjunction of literals 
• CNF: conjunction of clauses 
• Approach: 
– Branch: make arbitrary decisions 
– Propagate implication graph 
– Use conflicts to guide inference steps
The Implication Graph (BCP) 
(Øa Ú b) Ù (Øb Ú c Ú d) 
a 
b 
Øc 
d 
Decisions 
Assignment: a Ù b Ù Øc Ù d 
Copyright 2002 Cadence Design Systems. Permission
Copyright 2002 Cadence Design Systems. Permission Resolution 
a Ú b Ú Øc Øa Ú Øc Ú d 
b Ú Øc Ú d 
When a conflict occurs, the implication graph is 
used to guide the resolution of clauses, so that the 
same conflict will not occur again.
Conflict Clauses 
(Øa Ú b) Ù (Øb Ú c Ú d) Ù (Øb Ú Ø d) 
Copyright 2002 Cadence Design Systems. Permission a 
Øc 
Decisions 
b 
Assignment: a Ù b Ù Øc Ù d 
d 
Conflict! 
(Øb Ú c ) 
resolve 
Conflict! 
(Øa Ú c) 
resolve 
Conflict!
Conflict Clauses (cont.) 
Copyright 2002 Cadence Design Systems. Permission • Conflict clauses: 
– Are generated by resolution 
– Are implied by existing clauses 
– Are in conflict in the current assignment 
– Are safely added to the clause set 
Many heuristics are available for determining 
when to terminate the resolution process.
Basic SAT algorithm 
A = Æ 
empty 
y 
clause? 
UNSAT 
conflict? 
Copyright 2002 Cadence Design Systems. Permission Deduce conflict 
clause and 
backtrack 
y 
n 
is A 
total? 
y 
SAT 
Branch: 
add some literal 
to A
Generating refutations 
Copyright 2002 Cadence Design Systems. Permission • Refutation = a proof of the null clause 
– Record a DAG containing all resolution steps 
performed during conflict clause generation. 
– When null clause is generated, we can extract a 
proof of the null clause as a resolution DAG. 
Original clauses 
Derived clauses 
Null clause
Circuit SAT 
Copyright 2002 Cadence Design Systems. Permission Can the circuit output be 1? 
(a Ú Øg) Ù (b Ú Øg) 
Ù(Øa Ú Øb Ú g) 
g 
a 
b 
c p 
input 
variables output 
variable 
CNF(p) 
(Øg Ú p) Ù (Øc Ú p) 
Ù(g Ú c Ú Øp) 
p is satisfiable when the 
formula CNF(p) Ù p 
is satisfiable
Bounded Model Checking 
Copyright 2002 Cadence Design Systems. Permission • Given 
– A finite transition system M 
– A property p 
• Determine 
BCCZ99 
– Does M allow a counterexample to p of k transitions 
of fewer? 
This problem can be translated to a SAT problem
Copyright 2002 Cadence Design Systems. Permission Models 
Transition system described by a set of 
constraints 
g = a Ù b 
g 
c' = p 
a 
b p c 
p = g Ú c 
Model: 
C = { 
Each circuit element is a constraint 
note: a = at and a' = at+1 
g = a Ù b, 
p = g Ú c, 
c' = p 
}
Copyright 2002 Cadence Design Systems. Permission Properties 
• We restrict our attention to safety 
properties. 
• Characterized by: 
– Initial condition I 
– Final condition F (representing "bad" states) 
• A counterexample is a path from a state 
satisfying I to state satisfying F, where every 
transition satisfies C.
Copyright 2002 Cadence Design Systems. Permission Unfolding 
• Unfold the model k times: 
Uk = C0 Ù C1 Ù ... Ù Ck-1 
a 
b 
g a 
I b 
... g F0 p c 
k 
• Use SAT solver to check satisfiability of 
g a 
p c 
b 
p c 
I0 Ù  Uk Ù Fk 
• A satisfying assignment is a counterexample 
of k steps
BMC applications 
Copyright 2002 Cadence Design Systems. Permission • Debugging: 
– Can find counterexamples using a SAT solver 
• Proving properties: 
– Only possible if a bound on the length of the 
shortest counterexample is known. 
• I.e., we need a diameter bound. The diameter is the 
maximum lenth of the shortest path between any two 
states. 
– Worst case is exponential. Obtaining better bounds 
is sometimes possible, but generally intractable.
Unbounded Model Checking 
Copyright 2002 Cadence Design Systems. Permission • We consider a variety of methods to explioit 
SAT and BMC for unbounded model checking: 
– K-step induction 
– Abstraction 
• Counterexample-based 
• Non-counterexample-based 
– Exact image computations 
• SAT solver tests for fixed point 
• SAT solver computes image 
– Over-approximate image computations
K-induction 
Copyright 2002 Cadence Design Systems. Permission • Induction: 
SSS2000 
P(s0) 
"i: P(si) Þ P(si+1) 
"i: P(si) 
• k-step induction: 
P(s0..k-1) 
"i: P(si..i+k-1) Þ P(si+k) 
"i: P(si)
K-induction with a SAT solver 
Copyright 2002 Cadence Design Systems. Permission • Recall: 
Uk = C0 Ù C1 Ù ... Ù Ck-1 
• Two formulas to check: 
– Base case: 
I0 Ù  Uk-1 Þ P0...Pk-1 
– Induction step: 
Uk Ù P0...Pk-1 Þ Pk 
• If both are valid, then P always holds. 
• If not, increase k and try again.
Simple path assumption 
Copyright 2002 Cadence Design Systems. Permission • Unfortunately, k-induction is not complete. 
– Some properties not k-inductive for any k. 
P P ØP 
• Simple path restriction: 
– There is a path to ØP iff there is a simple path to 
ØP (path with no repeated states).
Induction over simple paths 
Copyright 2002 Cadence Design Systems. Permission • Let simple(s0..k) be defined as: 
 i,j in 0..k : (i ¹ j) Þ si ¹ sj 
• k-induction over simple paths: 
P(s0..k-1) 
i: simple(s0..k) Ù P(si..i+k-1) Þ P(si+k) 
i: P(si) 
Must hold for k large enough, since a simple path cannot be 
unboundedly long. Length of longest simple path is called 
recurrence diameter.
...with a SAT solver 
Copyright 2002 Cadence Design Systems. Permission • For simple path restriction, let: 
Sk = t=0..k, t'=t+1..k: Ø v in V : vt = vt' 
(where V is the set of state variables). 
• Two formulas to check: 
– Base case: 
I0 Ù  Uk-1 Þ P0...Pk-1 
– Induction step: 
Sk Ù  Uk Ù P0...Pk-1 Þ Pk 
• If both are valid, then P always holds. 
• If not, increase k and try again.
Copyright 2002 Cadence Design Systems. Permission Termination 
• Termination condition: 
k is the length of the longest simple path of the form 
P* ØP 
• This can be exponentially longer than the 
diameter. 
– example: 
• loadable mod 2N counter where P is (count ¹ 2N-1) 
• diameter = 1 
• longest simple path = 2N 
• Nice special cases: 
– P is a tautology (k=0) 
– P is inductive invariant (k=1)
Localization abstraction 
Copyright 2002 Cadence Design Systems. Permission • Property: G (c Þ X c) 
g 
a 
b p c 
Model: 
C = { 
g = a Ù b, 
p = g Ú c, 
c' = p 
} 
' 
free variable 
C'Þ property, C Þ C' 
C Þ property 
Kurshan
Constraint granularity 
Copyright 2002 Cadence Design Systems. Permission Most authors use constraints at latch granularity... 
g Model: 
a 
b p c 
C = { 
c' = (a Ù b) Ú c 
} 
...however, techniques we will consider can be applied at 
both gate and latch granularity.
Localization, cont 
Copyright 2002 Cadence Design Systems. Permission • C' may refer to fewer state variables than C 
– reduction in the state explosion problem 
• Key issue: how to choose constraints in C' 
– counterexample-based 
– proof-based
Algorithm 
Choose initial C' 
Model check 
true, done 
abstraction C' 
Cex 
Can extend Cex 
yes, Cex 
from C'to C? 
no 
Add constraints 
to C' 
Copyright 2002 Cadence Design Systems. Permission SAT uses 
Kurshan
Abstract counterexamples 
Copyright 2002 Cadence Design Systems. Permission • Assume simple safety property: 
– initial condition I and final condition F 
– w.l.o.g., assume I and F are atomic formulas 
• to make this true, add constraints in C: 
vI Û I vF Û F 
• Abstract variables V' = support(C',I,F) 
• Abstract counterexample A' is a truth 
assignment to: 
{ vt | v in V', t in 0..k } 
where k is the number of steps.
Counterexample extension 
CGJLV 2000 
Copyright 2002 Cadence Design Systems. Permission • Abstract counterexample A' satisfies: 
I0 Ù U'k Ù  Fk where U'k = C'0 Ù C'1 Ù ... Ù C'k-1 
• Find A consistent with A', satisfying: 
I0 Ù Uk Ù  Fk where Uk = C0 Ù C1 Ù ... Ù Ck-1 
• That is, A is any satisfying assignment to: 
A' Ù I0 Ù Uk Ù  F I.e., to extend an absktract counterexample, we just 
apply it as a constraint in BMC. If unsat, abstract 
counterexample is false.
Abstraction refinement 
Copyright 2002 Cadence Design Systems. Permission • Refinement = adding constraints to C' to 
eliminate false counterexamples. 
• Many heuristsics used for this. 
– Too many to cover here. 
– Recall that a SAT solver can produce a resolution-based 
refutation in the UNSAT case....
Proof-based refinement 
Copyright 2002 Cadence Design Systems. Permission • Recall, to extend abstract Cex A', we check: 
A' Ù I0 Ù Uk Ù  Fk 
• If UNSAT, we obtain refutation proof P 
– proof that A' cannot be extended to concrete Cex 
• Let E be set of constraints used in proof P: 
E = { c Î C | some ci occurs in P } 
• A' cannot be extended to a Cex for E 
– P is the proof of this. Thus, add E to C' and continue...
In other words... 
Copyright 2002 Cadence Design Systems. Permission The refutation of the formula: 
A' Ù I0 Ù Uk Ù  Fk 
gives us a sufficient set of constraints to rule 
out the abstract counterexample. 
We continue ruling out counterexamples until either the 
abstraction C' proves the property or we can extend an 
abstract counterexample to a concrete one.
CCKSVW approach (FMCAD02) 
Copyright 2002 Cadence Design Systems. Permission • Find the shortest prefix of Cex A' that 
cannot be extended. 
OK OK OK OK NO! 
s0 s1 s2 si-1 si ... 
• That is, 
A' Ù I0 Ù Uk Ù  Fk 
is feasible for all k  i, but not for k=i.
CCKSVW approach cont. 
Copyright 2002 Cadence Design Systems. Permission • Let P be a refutation of 
A' Ù I0 Ù Ui Ù  Fi 
• Let E be set of constraints used in proof P 
only on state si-1: 
E = { c Î C | ci-2 occurs in P } 
OK OK OK OK NO! 
s0 s1 s2 si-1 si ... 
add constraints used here
Weakness of Cex-based approach 
Copyright 2002 Cadence Design Systems. Permission • Arbitrarily chosen abstract Cex may be 
refutable for many reasons not related to 
property. 
– Thus, may add irrelevant constraints. 
– To remedy, may try to characterize a set of Cex's 
rather than just one (e.g., GKM-HFV,TACAS03). 
Alternative: don't use counterexamples
Proof-based abstraction 
Cex? 
BMC 
done 
at depth k 
No Cex? 
Use refutation to 
choose abstraction 
True? 
MC abstraction done 
False? 
Copyright 2002 Cadence Design Systems. Permission Increase k 
MA,TACAS03
BMC phase 
Copyright 2002 Cadence Design Systems. Permission • Unfold the model k times: 
U = C0 Ù C1 Ù ... Ù Ck-1 
• Use SAT solver to check satisfiability of 
I0 Ù  U Ù Fk 
• If unsatisfiable: 
• property has no Cex of length k 
• produce a refutation proof P
Abstraction phase 
Copyright 2002 Cadence Design Systems. Permission • Let C' be set of constraints used in proof P: 
C' = { c Î C | some ci occurs in P } 
• C' admits no counterexample of length k 
– let U' = C'0 Ù C'1 Ù ... Ù C'k-1 
– P is a refutation of I0 Ù  U' Ù Fk 
• Model check property on C' 
– property true for C' implies true for C 
– else Cex of length k'  k (why?) 
• restart for k = k'
Algorithm 
Cex? 
BMC 
done 
C at depth k 
No Cex? 
Refutation P induces 
abstraction C' 
True? 
Model check C' done 
Cex of depth k'? 
Copyright 2002 Cadence Design Systems. Permission let k = k' 
Notice: MC counterexample is thrown away!
Copyright 2002 Cadence Design Systems. Permission Termination 
• Depth k increases at each iteration 
• Eventually k  d, diameter of C' 
• If k  d, no counterexample is possible 
In practice, termination uses occurs when k » d/2 
Usually, diameter C'  diameter of C
Weakness of proof-based abs 
Copyright 2002 Cadence Design Systems. Permission • BMC must refute all counterexamples of 
length k, while in Cex-based, BMC must refute 
only one (partial) counterexample.
PicoJavaII benchmarks 
Copyright 2002 Cadence Design Systems. Permission • Hardware Java virtual machine implementation 
• Properties derived from verification of ICU 
– handles cache, instruction prefetch and decode 
• Original abstraction was manual 
• Added neigboring IFU to make problem harder 
ICU IFU 
Mem, 
Cache 
Integer 
unit 
properties 
No properties can be verified by standard model checking!
Abstraction results 
Copyright 2002 Cadence Design Systems. Permission 345 
305 306 306 305 
104 
307 
73 
97 
52 54 
292 
312 
285 
126 
354 
289 
212 
151 
51 
400 
350 
300 
250 
200 
150 
100 
50 
0 
State variables 
solid = original, gray = manual, open = proof-based abstraction
Copyright 2002 Cadence Design Systems. Permission Inference 
• SAT solver seems to be very effective at 
narrowing down the proof to relevant facts. 
In most cases, it did better than manual abstraction.
Comparing CBA and PBA 
Copyright 2002 Cadence Design Systems. Permission • Apples-apples comparison 
– same SAT solver 
– same model checker 
– only differences are: 
• For CBA previous A' is kept as a constriaint for BMC, C' is 
cumulative. 
• For PBA previous A' and C' are thrown away each 
iteration. 
Note these are my implementations. This says nothing 
about performance of specific tools!
Run time comparison 
Copyright 2002 Cadence Design Systems. Permission 1000 
100 
10 
1 
0.1 
0.01 
0.01 0.1 1 10 100 1000 
Counterexample-based abstraction 
Proof-based abstraction
Abstraction comparison 
60 
50 
40 
30 
20 
10 
0 
0 10 20 30 40 50 60 
Counterexample-based abstraction 
Copyright 2002 Cadence Design Systems. Permission Proof-based abstraction
Possible explanation 
Copyright 2002 Cadence Design Systems. Permission • Internally, SAT solver is really doing CBA 
a=0 
b=1 
c=0 
d=1 
decision stack 
= abstract Cex A' 
refutation of A' 
decision heuristic 
moves proof variables 
up, into A'
PBA run-time breakdown 
Copyright 2002 Cadence Design Systems. Permission 100% 
50% 
0% 
solid = BMC time, open = MC time
CBA run-time breakdown 
Copyright 2002 Cadence Design Systems. Permission 100% 
50% 
0% 
solid = BMC time, open = MC time
IBM GP benchmarks 
Thanks to Jason Baumgartner 
Copyright 2002 Cadence Design Systems. Permission 1000 
100 
10 
1 
0.1 
0.01 
0.01 0.1 1 10 100 1000 
Proof-based abstraction 
Baumgartner et al.
Compare to K-induction on PicoJava 
1000 
100 
10 
1 
0.1 
0.01 
0.01 0.1 1 10 100 1000 
Proof-based abstraction (s) 
Copyright 2002 Cadence Design Systems. Permission k-induction (FMCAD00) (s)
A (fuzzy) hypothesis 
Copyright 2002 Cadence Design Systems. Permission SAT-based BMC succeeds when number of 
relevant variables is small, and fails otherwise. 
success is BMC for k = diameter of relevant logic 
• Parameterized models allowing no abstraction 
Model Max state vars 
German protocol 42 
swap 21
Industrial benchmarks 
Copyright 2002 Cadence Design Systems. Permission 700 
600 
500 
400 
300 
200 
100 
0 
0 100 200 300 400 500 600 700 
Original state variables 
Abstraction state variables
Copyright 2002 Cadence Design Systems. Permission Implications 
• Most of the time if bounded model checking 
succeeds, unbounded model checking also 
succeeds using abstraction. 
• No need to settle for time bounded result 
• Bounded model checking may be applicable only 
to localizable properties
Image computation methods 
Copyright 2002 Cadence Design Systems. Permission • Symbolic model checking without BDD's 
– Use SAT solver just for fixed-point detection 
• Abdulla, Bjesse and Een 2000 
• Williams, Biere, Clarke and Gupta 2000 
– Adapt SAT solver to compute image directly 
• McMillan, 2002
Symbolic model checking 
Copyright 2002 Cadence Design Systems. Permission • Recall: Fixed point characterizaion of CTL: 
EFp = m. Q p Ú EX Q 
• Reverse image: 
EXp = $W. p  di / si  
state variable 
input variables transition function
Syntactic expansion of 
quantifiers 
Copyright 2002 Cadence Design Systems. Permission • By definition: 
 $w. p = p0/w Ú p1/w 
• Thus, we can compute reverse image by 
syntactic expansion and simplification. 
– note: expontential in number of inputs. 
• Fixed-point series: 
R0 = false 
Ri+1 = p Ú EX Ri 
Terminates when Ri+1 Þ Ri 
(SAT problem)
Copyright 2002 Cadence Design Systems. Permission Limitations 
• Syntactic quantifier elimination is exponential 
– Method limited to circuits with very few inputs 
– E.g., sequential arithmetic circuits
Direct image computation 
Copyright 2002 Cadence Design Systems. Permission • Adapt SAT methods for image computation in 
symbolic model checking 
– Recall: this is essentially quantifier elimination 
• Idea: reduce formula to CNF or DNF 
– Make quantifier elimination easy 
– Essentially, enumerate all satisfying assignments, 
but in an efficient way (i.e., by covering them with 
clauses or cubes).
Circuit Validity 
Copyright 2002 Cadence Design Systems. Permission Can the circuit output be 0? 
(a Ú Øg) Ù (b Ú Øg) 
Ù(Øa Ú Øb Ú g) 
g 
a 
b 
c p 
input 
variables 
VI 
output 
variable 
CNF(p) 
(Øg Ú p) Ù (Øc Ú p) 
Ù(g Ú c Ú Øp) 
p is valid when the 
formula CNF(p) Ù Øp 
is unsatisfiable
CNF Characterization 
Copyright 2002 Cadence Design Systems. Permission Instead of checking validity of p, we now want 
to derive a CNF formula over the input variables 
VI that is logically equivalent to the circuit. 
Idea: each time a satisfying assignment is 
found, add a new “blocking clause” that rules 
out this satisfying assignment. 
The blocking clauses form our characterization 
of p.
Blocking clauses 
Copyright 2002 Cadence Design Systems. Permission • Blocking clauses must: 
– be implied by p 
– be in conflict in the current assignment 
– involve only input variables (in VI) 
Can we use conflict clauses as 
blocking clauses? 
Not quite...
An example 
Copyright 2002 Cadence Design Systems. Permission g Want to characterize p in CNF: 
a 
b 
c p 
•Test satisfiability of CNF(p) Ù Øp 
Guess the assignment A = a 
Implication graph: 
a 
Øp 
Øg 
Øb 
Øc 
Satisfying! 
Problem: 
We can’t infer anything 
from p, because Øp is 
already a root of the 
graph.
Alternate implication graph 
a 
Øb 
Øc 
Copyright 2002 Cadence Design Systems. Permission a 
b 
c p 
a 
Øp 
Øg 
Øb 
Øc 
Construct a new implication graph 
rooted at the input variables. 
Now we can always generate a conflict clause 
from p using only input variables. 
g 
Original 
Øg 
Øp 
Alternate
Blocking clause example 
g 
Copyright 2002 Cadence Design Systems. Permission a 
b 
c p 
Alternate graph 
a 
Øb 
Øc 
Øg 
Øp 
(g Ú c Ú Øp) 
p 
(g Ú c) 
(b Ú Øg) 
(b Ú c) 
We stop when the clause has only inputs
CNF characterization algorithm 
A = Æ, c = Æ 
empty 
y return 
clause? 
c 
n 
y 
Deduce conflict? 
Infer blocking 
clause c’ from p. 
is A 
y 
Branch Add c’ to f, c. 
total? 
Copyright 2002 Cadence Design Systems. Permission
Universal Quantifier Elimination 
Given 
• a circuit p, and 
• a subset W of the input variables, 
we want to compute a CNF formula equivalent to 
W.p 
Idea: Eliminating in CNF formulas is trivial. 
e.g.: a. (a Ú b) Ù (Øa Ú Øc Ú d) = (b) Ù (Øc Ú d) 
... just push  inside Ù ... 
Copyright 2002 Cadence Design Systems. Permission
- elimination algorithm 
 A = Æ, c = Æ 
empty 
y return 
clause? 
c 
n 
y 
Copyright 2002 Cadence Design Systems. Permission Deduce conflict? 
is A 
total? 
y 
Infer blocking 
clause c’ from p. 
Branch Add W.c’ to f, c.
CTL Model Checking with SAT 
AXp p 
AXp = W. p  d/ s 
i i state variable 
input variables transition function 
Copyright 2002 Cadence Design Systems. Permission
Recent related work 
Copyright 2002 Cadence Design Systems. Permission • Sheng, Hsiao (DATE 2003) 
– Uses ATPG methods 
• Chauhan, Clarke, Kroenig 
– Computes forward rather than backward image
Simplified PicoJavaII 
benchmarks 
Copyright 2002 Cadence Design Systems. Permission • This method can't handle large numbers of 
irrelevant variables directly. 
– Like BDD method, it computes exact reachable 
states. 
– Comparable to BDD methods, not abstraction 
methods. 
• We compare the method to BDD's for a set of 
benchmarks in which most of the irrelevant 
logic is pruned out manually.
Note low correlation 
between the two methods. 
SAT based method may 
be a good alternative 
when BDD’s fail. 
Copyright 2002 Cadence Design Systems. Permission 10000 
1000 
100 
10 
1 
0.1 
0.01 
0.01 0.1 1 10 100 1000 10000 
Run time of BDD-based method (s) 
Run time of SAT-based method (s) 
Comparison with BDD’s 
Note low variance in 
times for BDD based 
technique. 
Benchmarks may be 
biased in favor of BDD’s. 
BDD’s are better overall. 
But note relative 
immaturity of SAT 
based method
SAT-based image 
Copyright 2002 Cadence Design Systems. Permission • May provide a good alternative when BDD's 
fail. 
• Does not take advantage of SAT solver's 
ability to filter out irrelevant facts, since 
exact image is computed.
Image over-approximation 
Copyright 2002 Cadence Design Systems. Permission • BMC and Craig interpolation allow us to 
compute image over-approximatino relative to 
property. 
– Avoid computing exact image. 
– Maintain SAT solver's advantage of filtering out 
irrelevant facts.
Copyright 2002 Cadence Design Systems. Permission Interpolation 
• If A Ù B = false, there exists an interpolant 
A' for (A,B) such that: 
A Þ A' 
A' Ù B = false 
A' refers only to common variables of A,B 
• Example: 
– A = p Ù q, B = Øq Ù r, A' = q 
• New result 
– given a resolution refutation of A ÙB, 
A' can be derived in linear time. 
(Craig,57) 
(Pudlak,Krajicek,97)
Interpolation-based MC 
Copyright 2002 Cadence Design Systems. Permission • Interpolation gives us 
– SAT-based algorithm for over-approximate image 
computation, using interpolation 
– SAT-only symbolic model checking
Copyright 2002 Cadence Design Systems. Permission Reachability 
• Is there a path from I to F satisfying 
transition constraint C? 
• Reachability fixed point: 
R0 = I 
Ri+1 = Ri Ú Img(Ri,C) 
R = È Ri 
• Image operator: 
Img(P,C) = lV'. $ V. (P Ù C) 
• F is reachable iff R Ù F ¹ false
Copyright 2002 Cadence Design Systems. Permission Overapproximation 
• An overapproximate image op. is Img' s.t. 
for all P, Img(P,C) implies Img'(P,C) 
• Overapprimate reachability: 
R'0 = I 
R'i+1 = R'i Ú Img'(R'i,C) 
R' = È R'i 
• Img' is adequate (w.r.t.) F, when 
– if P cannot reach F, Img’(P,C) cannot reach F 
• If Img' is adequate, then 
– F is reachable iff R' Ù F ¹ false
Adequate image 
Copyright 2002 Cadence Design Systems. Permission Img(P,C) 
P F 
Img’(P,C) 
Reached from P Can reach F 
But how do you get an adequate Img'?
k-adequate image operator 
Copyright 2002 Cadence Design Systems. Permission • Img' is k-adequate (w.r.t.) F, when 
– if P cannot reach F, 
Img’(P,C) cannot reach F within k steps 
• Note, if k  diameter, then k-adequate is 
equivalent to adequate.
Interpolation-based image 
Copyright 2002 Cadence Design Systems. Permission • Idea -- use unfolding to enforce k-adequacy 
A = P-1 Ù C-1 
B = C0 Ù C1 Ù ... Ù Ck-1 Ù Fk 
A B 
P C C C C C C C F 
t=0 t=k 
Let Img'(P)0= A', 
where A' is an interpolant for (A,B)... 
Img' is k-adequate!
Copyright 2002 Cadence Design Systems. Permission Huh? 
A' 
A B 
P C C C C C C C F 
• A Þ A' 
t=0 t=k 
– Img(P,C) Þ Img'(P,C) 
• A' Ù B = false 
– Img'(P,C) cannot reach F in k steps 
• Hence Img' is k-adequate overapprox. 
But note, Img' is partial -- not defined if AÙB is sat.
Copyright 2002 Cadence Design Systems. Permission Intuition 
A' 
A B 
P C C C C C C C F 
t=0 t=k 
• A' tells is everything the SAT solver deduced 
about the image of P in proving it can't reach 
F in k steps. 
• Hence, A' is in some sense an abstraction of 
the image relative to the property.
Reachability algorithm 
Copyright 2002 Cadence Design Systems. Permission let k = 0 
repeat 
if I can reach F within k steps, answer reachable 
R = I 
while Img'(R,C) Ù F = false 
R' = Img'(R,C) Ú R 
if R' = R answer unreachable 
R = R' 
end while 
increase k 
end repeat
Copyright 2002 Cadence Design Systems. Permission Termination 
• Since k increases at every iteration, eventually 
k  d, the diameter, in which case Img' is 
adequate, and hence we terminate. 
Notes: 
– don't need to know when k  d in order to terminate 
– often termination occurs with k  d 
– depth bound for earlier method (Sheeran et al '00) 
is longest simple path, which can be exponentially 
longer than diameter
PicoJava II Benchmarks 
Copyright 2002 Cadence Design Systems. Permission 1000 
100 
10 
1 
0.1 
0.01 
0.01 0.1 1 10 100 1000 
Proof-based abstraction (s) 
Interpolation-based method (s)
vs. k-induction 
Copyright 2002 Cadence Design Systems. Permission 1000 
100 
10 
1 
0.1 
0.01 
0.01 0.1 1 10 100 1000 
Interpolation-based (s) 
k-induction (FMCAD00) (s)
IBM GP benchmarks 
Copyright 2002 Cadence Design Systems. Permission 1000 
100 
10 
1 
0.1 
0.01 
0.01 0.1 1 10 100 1000 
Proof-based abstraction (s) 
Interpolation-based method (s)
GP benchmarks - true properties 
1000 
100 
10 
1 
0.1 
0.01 
0.01 0.1 1 10 100 1000 
Proof-based abstraction (s) 
Copyright 2002 Cadence Design Systems. Permission Interpolation-based method (s)
Interpolation-based MC 
Copyright 2002 Cadence Design Systems. Permission • Fully SAT-based. 
• Inherits SAT solvers ability to concentrate on 
facts relevant to a property. 
• Like CBA, PBA, most effective when 
– Very large set of facts is available 
– Only a small subset are relevant to property 
• For true properties, appears to converge for 
smaller k values.
Copyright 2002 Cadence Design Systems. Permission Conclusion 
• SAT solvers are very effective at ignoring 
irrelevant facts 
– Can think of decision heuristic as a form of CBA 
• SAT solvers can produce refutations 
• We can exploit in a number of ways: 
– BMC 
– Abstraction for UMC (either CBA or PBA) 
– Abstract image computations using interpolation 
This makes it possible to model check localizable 
properties large systems.
Conclusion cont. 
Copyright 2002 Cadence Design Systems. Permission • Approaches that compute exact images 
sacrifice this quality of SAT solvers. 
– still useful as alternative to BDD's 
• For non-localizable properties, SAT-based 
BMC and UMC do not perform well. 
• The capacity of SAT-based UMC is 
comparable to BMC. 
– no need to settle for bounded results!

More Related Content

What's hot

GeneIndex: an open source parallel program for enumerating and locating words...
GeneIndex: an open source parallel program for enumerating and locating words...GeneIndex: an open source parallel program for enumerating and locating words...
GeneIndex: an open source parallel program for enumerating and locating words...PTIHPA
 
simple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonsimple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonkanikkk
 
Lossy Kernelization
Lossy KernelizationLossy Kernelization
Lossy Kernelizationmsramanujan
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5PRADEEP
 
Incremental Graph Queries for Cypher
Incremental Graph Queries for CypherIncremental Graph Queries for Cypher
Incremental Graph Queries for CypheropenCypher
 
NFA or Non deterministic finite automata
NFA or Non deterministic finite automataNFA or Non deterministic finite automata
NFA or Non deterministic finite automatadeepinderbedi
 
Backdoors to Satisfiability
Backdoors to SatisfiabilityBackdoors to Satisfiability
Backdoors to Satisfiabilitymsramanujan
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertionsHARINATH REDDY
 
Dr. Pablo Diaz Benito (University of the Witwatersrand) TITLE: "Novel Charges...
Dr. Pablo Diaz Benito (University of the Witwatersrand) TITLE: "Novel Charges...Dr. Pablo Diaz Benito (University of the Witwatersrand) TITLE: "Novel Charges...
Dr. Pablo Diaz Benito (University of the Witwatersrand) TITLE: "Novel Charges...Rene Kotze
 
Channels, Concurrency, and Cores: A new Concurrent ML implementation (Curry O...
Channels, Concurrency, and Cores: A new Concurrent ML implementation (Curry O...Channels, Concurrency, and Cores: A new Concurrent ML implementation (Curry O...
Channels, Concurrency, and Cores: A new Concurrent ML implementation (Curry O...Igalia
 
Process Algebras and Petri Nets are Discrete Dynamical Systems
Process Algebras and Petri Nets are Discrete Dynamical SystemsProcess Algebras and Petri Nets are Discrete Dynamical Systems
Process Algebras and Petri Nets are Discrete Dynamical SystemsFacultad de Informática UCM
 
Enrichment lecture EE Technion (parts A&B) also including the subject of VHDL...
Enrichment lecture EE Technion (parts A&B) also including the subject of VHDL...Enrichment lecture EE Technion (parts A&B) also including the subject of VHDL...
Enrichment lecture EE Technion (parts A&B) also including the subject of VHDL...Amos Zaslavsky
 
Microprocessor Week 8: Advance programming
Microprocessor Week 8: Advance programmingMicroprocessor Week 8: Advance programming
Microprocessor Week 8: Advance programmingArkhom Jodtang
 
「SPICEの活用方法」セミナー資料(28JAN2011) PPT
「SPICEの活用方法」セミナー資料(28JAN2011) PPT「SPICEの活用方法」セミナー資料(28JAN2011) PPT
「SPICEの活用方法」セミナー資料(28JAN2011) PPTTsuyoshi Horigome
 

What's hot (20)

GeneIndex: an open source parallel program for enumerating and locating words...
GeneIndex: an open source parallel program for enumerating and locating words...GeneIndex: an open source parallel program for enumerating and locating words...
GeneIndex: an open source parallel program for enumerating and locating words...
 
simple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonsimple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilon
 
A04220106
A04220106A04220106
A04220106
 
slides
slidesslides
slides
 
Lossy Kernelization
Lossy KernelizationLossy Kernelization
Lossy Kernelization
 
Nfa egs
Nfa egsNfa egs
Nfa egs
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5
 
Incremental Graph Queries for Cypher
Incremental Graph Queries for CypherIncremental Graph Queries for Cypher
Incremental Graph Queries for Cypher
 
NFA or Non deterministic finite automata
NFA or Non deterministic finite automataNFA or Non deterministic finite automata
NFA or Non deterministic finite automata
 
Backdoors to Satisfiability
Backdoors to SatisfiabilityBackdoors to Satisfiability
Backdoors to Satisfiability
 
qlp
qlpqlp
qlp
 
GCC RTL and Machine Description
GCC RTL and Machine DescriptionGCC RTL and Machine Description
GCC RTL and Machine Description
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
 
Dr. Pablo Diaz Benito (University of the Witwatersrand) TITLE: "Novel Charges...
Dr. Pablo Diaz Benito (University of the Witwatersrand) TITLE: "Novel Charges...Dr. Pablo Diaz Benito (University of the Witwatersrand) TITLE: "Novel Charges...
Dr. Pablo Diaz Benito (University of the Witwatersrand) TITLE: "Novel Charges...
 
Channels, Concurrency, and Cores: A new Concurrent ML implementation (Curry O...
Channels, Concurrency, and Cores: A new Concurrent ML implementation (Curry O...Channels, Concurrency, and Cores: A new Concurrent ML implementation (Curry O...
Channels, Concurrency, and Cores: A new Concurrent ML implementation (Curry O...
 
Syntutic
SyntuticSyntutic
Syntutic
 
Process Algebras and Petri Nets are Discrete Dynamical Systems
Process Algebras and Petri Nets are Discrete Dynamical SystemsProcess Algebras and Petri Nets are Discrete Dynamical Systems
Process Algebras and Petri Nets are Discrete Dynamical Systems
 
Enrichment lecture EE Technion (parts A&B) also including the subject of VHDL...
Enrichment lecture EE Technion (parts A&B) also including the subject of VHDL...Enrichment lecture EE Technion (parts A&B) also including the subject of VHDL...
Enrichment lecture EE Technion (parts A&B) also including the subject of VHDL...
 
Microprocessor Week 8: Advance programming
Microprocessor Week 8: Advance programmingMicroprocessor Week 8: Advance programming
Microprocessor Week 8: Advance programming
 
「SPICEの活用方法」セミナー資料(28JAN2011) PPT
「SPICEの活用方法」セミナー資料(28JAN2011) PPT「SPICEの活用方法」セミナー資料(28JAN2011) PPT
「SPICEの活用方法」セミナー資料(28JAN2011) PPT
 

Viewers also liked

What is your opinion about this
What is your opinion about thisWhat is your opinion about this
What is your opinion about thisonlyhem
 
Red team, Blue Team or White Cell
Red team, Blue Team or White CellRed team, Blue Team or White Cell
Red team, Blue Team or White CellFrank Breedijk
 
Help, my security officer doesn’t trust me v0.4
Help, my security officer doesn’t trust me v0.4Help, my security officer doesn’t trust me v0.4
Help, my security officer doesn’t trust me v0.4Frank Breedijk
 
Copia di alimentazione alle terme
Copia di alimentazione alle termeCopia di alimentazione alle terme
Copia di alimentazione alle termeVia Fereggiano 14/1
 
Automated Security Testing with Seccubus confidence 2015
Automated Security Testing with Seccubus confidence 2015Automated Security Testing with Seccubus confidence 2015
Automated Security Testing with Seccubus confidence 2015Frank Breedijk
 
Metodo a blocchi nella Alimentazione "Zona"
Metodo a blocchi nella Alimentazione "Zona"Metodo a blocchi nella Alimentazione "Zona"
Metodo a blocchi nella Alimentazione "Zona"Via Fereggiano 14/1
 
Responsible Disclosure - For Dutch ISACA chapter
Responsible Disclosure - For Dutch ISACA chapterResponsible Disclosure - For Dutch ISACA chapter
Responsible Disclosure - For Dutch ISACA chapterFrank Breedijk
 

Viewers also liked (15)

Alhambra prueba
Alhambra pruebaAlhambra prueba
Alhambra prueba
 
Cell structure
Cell structureCell structure
Cell structure
 
Budding cells
Budding cellsBudding cells
Budding cells
 
Lyric planning sheet
Lyric planning sheetLyric planning sheet
Lyric planning sheet
 
Lyric planning sheet
Lyric planning sheetLyric planning sheet
Lyric planning sheet
 
What is your opinion about this
What is your opinion about thisWhat is your opinion about this
What is your opinion about this
 
Red team, Blue Team or White Cell
Red team, Blue Team or White CellRed team, Blue Team or White Cell
Red team, Blue Team or White Cell
 
Help, my security officer doesn’t trust me v0.4
Help, my security officer doesn’t trust me v0.4Help, my security officer doesn’t trust me v0.4
Help, my security officer doesn’t trust me v0.4
 
Copia di alimentazione alle terme
Copia di alimentazione alle termeCopia di alimentazione alle terme
Copia di alimentazione alle terme
 
Zona per pazienti
Zona per pazientiZona per pazienti
Zona per pazienti
 
Automated Security Testing with Seccubus confidence 2015
Automated Security Testing with Seccubus confidence 2015Automated Security Testing with Seccubus confidence 2015
Automated Security Testing with Seccubus confidence 2015
 
Congresso genova 15 marzo 2009
Congresso genova 15 marzo 2009Congresso genova 15 marzo 2009
Congresso genova 15 marzo 2009
 
Metodo a blocchi nella Alimentazione "Zona"
Metodo a blocchi nella Alimentazione "Zona"Metodo a blocchi nella Alimentazione "Zona"
Metodo a blocchi nella Alimentazione "Zona"
 
Alimentazione e sport
Alimentazione e sportAlimentazione e sport
Alimentazione e sport
 
Responsible Disclosure - For Dutch ISACA chapter
Responsible Disclosure - For Dutch ISACA chapterResponsible Disclosure - For Dutch ISACA chapter
Responsible Disclosure - For Dutch ISACA chapter
 

Similar to Cav03tut

Computer Organization1CS1400Feng JiangBoolean al.docx
Computer Organization1CS1400Feng JiangBoolean al.docxComputer Organization1CS1400Feng JiangBoolean al.docx
Computer Organization1CS1400Feng JiangBoolean al.docxladonnacamplin
 
QX Simulator and quantum programming - 2020-04-28
QX Simulator and quantum programming - 2020-04-28QX Simulator and quantum programming - 2020-04-28
QX Simulator and quantum programming - 2020-04-28Aritra Sarkar
 
zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)
zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)
zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)Alex Pruden
 
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01Hemant Jha
 
Project seminar ppt_steelcasting
Project seminar ppt_steelcastingProject seminar ppt_steelcasting
Project seminar ppt_steelcastingRudra Narayan Paul
 
Chapter_6.pptx_Control_systems
Chapter_6.pptx_Control_systemsChapter_6.pptx_Control_systems
Chapter_6.pptx_Control_systemsBaghdad
 
Model Checking Base on Interoplation
Model Checking Base onInteroplationModel Checking Base onInteroplation
Model Checking Base on Interoplationleticia2307
 
Time response of first order systems and second order systems
Time response of first order systems and second order systemsTime response of first order systems and second order systems
Time response of first order systems and second order systemsNANDHAKUMARA10
 
Np completeness
Np completenessNp completeness
Np completenessRajendran
 
Kernel for Chordal Vertex Deletion
Kernel for Chordal Vertex DeletionKernel for Chordal Vertex Deletion
Kernel for Chordal Vertex DeletionAkankshaAgrawal55
 
Quantum Computing Notes Ver 1.2
Quantum Computing Notes Ver 1.2Quantum Computing Notes Ver 1.2
Quantum Computing Notes Ver 1.2Vijayananda Mohire
 
Sep logic slide
Sep logic slideSep logic slide
Sep logic sliderainoftime
 
Novel Tree Structure Based Conservative Reversible Binary Coded Decimal Adder...
Novel Tree Structure Based Conservative Reversible Binary Coded Decimal Adder...Novel Tree Structure Based Conservative Reversible Binary Coded Decimal Adder...
Novel Tree Structure Based Conservative Reversible Binary Coded Decimal Adder...VIT-AP University
 
Virus, Vaccines, Genes and Quantum - 2020-06-18
Virus, Vaccines, Genes and Quantum - 2020-06-18Virus, Vaccines, Genes and Quantum - 2020-06-18
Virus, Vaccines, Genes and Quantum - 2020-06-18Aritra Sarkar
 
Ch5 lecture slides Chenming Hu Device for IC
Ch5 lecture slides Chenming Hu Device for ICCh5 lecture slides Chenming Hu Device for IC
Ch5 lecture slides Chenming Hu Device for ICChenming Hu
 
universal_gates nannnnnnanannananananad.ppt
universal_gates nannnnnnanannananananad.pptuniversal_gates nannnnnnanannananananad.ppt
universal_gates nannnnnnanannananananad.pptTobyTheMasterBuilder
 
Improved formulation for compressive fatigue strength of concrete
Improved formulation for compressive fatigue strength of concreteImproved formulation for compressive fatigue strength of concrete
Improved formulation for compressive fatigue strength of concreteEva Lantsoght
 

Similar to Cav03tut (20)

Computer Organization1CS1400Feng JiangBoolean al.docx
Computer Organization1CS1400Feng JiangBoolean al.docxComputer Organization1CS1400Feng JiangBoolean al.docx
Computer Organization1CS1400Feng JiangBoolean al.docx
 
QX Simulator and quantum programming - 2020-04-28
QX Simulator and quantum programming - 2020-04-28QX Simulator and quantum programming - 2020-04-28
QX Simulator and quantum programming - 2020-04-28
 
zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)
zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)
zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)
 
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
 
Project seminar ppt_steelcasting
Project seminar ppt_steelcastingProject seminar ppt_steelcasting
Project seminar ppt_steelcasting
 
Chapter_6.pptx_Control_systems
Chapter_6.pptx_Control_systemsChapter_6.pptx_Control_systems
Chapter_6.pptx_Control_systems
 
Fine Grained Complexity
Fine Grained ComplexityFine Grained Complexity
Fine Grained Complexity
 
Model Checking Base on Interoplation
Model Checking Base onInteroplationModel Checking Base onInteroplation
Model Checking Base on Interoplation
 
Time response of first order systems and second order systems
Time response of first order systems and second order systemsTime response of first order systems and second order systems
Time response of first order systems and second order systems
 
Np completeness
Np completenessNp completeness
Np completeness
 
Kernel for Chordal Vertex Deletion
Kernel for Chordal Vertex DeletionKernel for Chordal Vertex Deletion
Kernel for Chordal Vertex Deletion
 
Quantum Computing Notes Ver 1.2
Quantum Computing Notes Ver 1.2Quantum Computing Notes Ver 1.2
Quantum Computing Notes Ver 1.2
 
Sep logic slide
Sep logic slideSep logic slide
Sep logic slide
 
Novel Tree Structure Based Conservative Reversible Binary Coded Decimal Adder...
Novel Tree Structure Based Conservative Reversible Binary Coded Decimal Adder...Novel Tree Structure Based Conservative Reversible Binary Coded Decimal Adder...
Novel Tree Structure Based Conservative Reversible Binary Coded Decimal Adder...
 
Virus, Vaccines, Genes and Quantum - 2020-06-18
Virus, Vaccines, Genes and Quantum - 2020-06-18Virus, Vaccines, Genes and Quantum - 2020-06-18
Virus, Vaccines, Genes and Quantum - 2020-06-18
 
Ch5 lecture slides Chenming Hu Device for IC
Ch5 lecture slides Chenming Hu Device for ICCh5 lecture slides Chenming Hu Device for IC
Ch5 lecture slides Chenming Hu Device for IC
 
universal_gates nannnnnnanannananananad.ppt
universal_gates nannnnnnanannananananad.pptuniversal_gates nannnnnnanannananananad.ppt
universal_gates nannnnnnanannananananad.ppt
 
object 3d(2)
object 3d(2)object 3d(2)
object 3d(2)
 
07object3d 1
07object3d 107object3d 1
07object3d 1
 
Improved formulation for compressive fatigue strength of concrete
Improved formulation for compressive fatigue strength of concreteImproved formulation for compressive fatigue strength of concrete
Improved formulation for compressive fatigue strength of concrete
 

Cav03tut

  • 1. Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs
  • 2. DPLL-style SAT solvers Copyright 2002 Cadence Design Systems. Permission • Objective: SATO,GRASP,CHAFF,BERKMIN – Check satisfiability of a CNF formula • literal: v or Øv • clause: disjunction of literals • CNF: conjunction of clauses • Approach: – Branch: make arbitrary decisions – Propagate implication graph – Use conflicts to guide inference steps
  • 3. The Implication Graph (BCP) (Øa Ú b) Ù (Øb Ú c Ú d) a b Øc d Decisions Assignment: a Ù b Ù Øc Ù d Copyright 2002 Cadence Design Systems. Permission
  • 4. Copyright 2002 Cadence Design Systems. Permission Resolution a Ú b Ú Øc Øa Ú Øc Ú d b Ú Øc Ú d When a conflict occurs, the implication graph is used to guide the resolution of clauses, so that the same conflict will not occur again.
  • 5. Conflict Clauses (Øa Ú b) Ù (Øb Ú c Ú d) Ù (Øb Ú Ø d) Copyright 2002 Cadence Design Systems. Permission a Øc Decisions b Assignment: a Ù b Ù Øc Ù d d Conflict! (Øb Ú c ) resolve Conflict! (Øa Ú c) resolve Conflict!
  • 6. Conflict Clauses (cont.) Copyright 2002 Cadence Design Systems. Permission • Conflict clauses: – Are generated by resolution – Are implied by existing clauses – Are in conflict in the current assignment – Are safely added to the clause set Many heuristics are available for determining when to terminate the resolution process.
  • 7. Basic SAT algorithm A = Æ empty y clause? UNSAT conflict? Copyright 2002 Cadence Design Systems. Permission Deduce conflict clause and backtrack y n is A total? y SAT Branch: add some literal to A
  • 8. Generating refutations Copyright 2002 Cadence Design Systems. Permission • Refutation = a proof of the null clause – Record a DAG containing all resolution steps performed during conflict clause generation. – When null clause is generated, we can extract a proof of the null clause as a resolution DAG. Original clauses Derived clauses Null clause
  • 9. Circuit SAT Copyright 2002 Cadence Design Systems. Permission Can the circuit output be 1? (a Ú Øg) Ù (b Ú Øg) Ù(Øa Ú Øb Ú g) g a b c p input variables output variable CNF(p) (Øg Ú p) Ù (Øc Ú p) Ù(g Ú c Ú Øp) p is satisfiable when the formula CNF(p) Ù p is satisfiable
  • 10. Bounded Model Checking Copyright 2002 Cadence Design Systems. Permission • Given – A finite transition system M – A property p • Determine BCCZ99 – Does M allow a counterexample to p of k transitions of fewer? This problem can be translated to a SAT problem
  • 11. Copyright 2002 Cadence Design Systems. Permission Models Transition system described by a set of constraints g = a Ù b g c' = p a b p c p = g Ú c Model: C = { Each circuit element is a constraint note: a = at and a' = at+1 g = a Ù b, p = g Ú c, c' = p }
  • 12. Copyright 2002 Cadence Design Systems. Permission Properties • We restrict our attention to safety properties. • Characterized by: – Initial condition I – Final condition F (representing "bad" states) • A counterexample is a path from a state satisfying I to state satisfying F, where every transition satisfies C.
  • 13. Copyright 2002 Cadence Design Systems. Permission Unfolding • Unfold the model k times: Uk = C0 Ù C1 Ù ... Ù Ck-1 a b g a I b ... g F0 p c k • Use SAT solver to check satisfiability of g a p c b p c I0 Ù Uk Ù Fk • A satisfying assignment is a counterexample of k steps
  • 14. BMC applications Copyright 2002 Cadence Design Systems. Permission • Debugging: – Can find counterexamples using a SAT solver • Proving properties: – Only possible if a bound on the length of the shortest counterexample is known. • I.e., we need a diameter bound. The diameter is the maximum lenth of the shortest path between any two states. – Worst case is exponential. Obtaining better bounds is sometimes possible, but generally intractable.
  • 15. Unbounded Model Checking Copyright 2002 Cadence Design Systems. Permission • We consider a variety of methods to explioit SAT and BMC for unbounded model checking: – K-step induction – Abstraction • Counterexample-based • Non-counterexample-based – Exact image computations • SAT solver tests for fixed point • SAT solver computes image – Over-approximate image computations
  • 16. K-induction Copyright 2002 Cadence Design Systems. Permission • Induction: SSS2000 P(s0) "i: P(si) Þ P(si+1) "i: P(si) • k-step induction: P(s0..k-1) "i: P(si..i+k-1) Þ P(si+k) "i: P(si)
  • 17. K-induction with a SAT solver Copyright 2002 Cadence Design Systems. Permission • Recall: Uk = C0 Ù C1 Ù ... Ù Ck-1 • Two formulas to check: – Base case: I0 Ù Uk-1 Þ P0...Pk-1 – Induction step: Uk Ù P0...Pk-1 Þ Pk • If both are valid, then P always holds. • If not, increase k and try again.
  • 18. Simple path assumption Copyright 2002 Cadence Design Systems. Permission • Unfortunately, k-induction is not complete. – Some properties not k-inductive for any k. P P ØP • Simple path restriction: – There is a path to ØP iff there is a simple path to ØP (path with no repeated states).
  • 19. Induction over simple paths Copyright 2002 Cadence Design Systems. Permission • Let simple(s0..k) be defined as: i,j in 0..k : (i ¹ j) Þ si ¹ sj • k-induction over simple paths: P(s0..k-1) i: simple(s0..k) Ù P(si..i+k-1) Þ P(si+k) i: P(si) Must hold for k large enough, since a simple path cannot be unboundedly long. Length of longest simple path is called recurrence diameter.
  • 20. ...with a SAT solver Copyright 2002 Cadence Design Systems. Permission • For simple path restriction, let: Sk = t=0..k, t'=t+1..k: Ø v in V : vt = vt' (where V is the set of state variables). • Two formulas to check: – Base case: I0 Ù Uk-1 Þ P0...Pk-1 – Induction step: Sk Ù Uk Ù P0...Pk-1 Þ Pk • If both are valid, then P always holds. • If not, increase k and try again.
  • 21. Copyright 2002 Cadence Design Systems. Permission Termination • Termination condition: k is the length of the longest simple path of the form P* ØP • This can be exponentially longer than the diameter. – example: • loadable mod 2N counter where P is (count ¹ 2N-1) • diameter = 1 • longest simple path = 2N • Nice special cases: – P is a tautology (k=0) – P is inductive invariant (k=1)
  • 22. Localization abstraction Copyright 2002 Cadence Design Systems. Permission • Property: G (c Þ X c) g a b p c Model: C = { g = a Ù b, p = g Ú c, c' = p } ' free variable C'Þ property, C Þ C' C Þ property Kurshan
  • 23. Constraint granularity Copyright 2002 Cadence Design Systems. Permission Most authors use constraints at latch granularity... g Model: a b p c C = { c' = (a Ù b) Ú c } ...however, techniques we will consider can be applied at both gate and latch granularity.
  • 24. Localization, cont Copyright 2002 Cadence Design Systems. Permission • C' may refer to fewer state variables than C – reduction in the state explosion problem • Key issue: how to choose constraints in C' – counterexample-based – proof-based
  • 25. Algorithm Choose initial C' Model check true, done abstraction C' Cex Can extend Cex yes, Cex from C'to C? no Add constraints to C' Copyright 2002 Cadence Design Systems. Permission SAT uses Kurshan
  • 26. Abstract counterexamples Copyright 2002 Cadence Design Systems. Permission • Assume simple safety property: – initial condition I and final condition F – w.l.o.g., assume I and F are atomic formulas • to make this true, add constraints in C: vI Û I vF Û F • Abstract variables V' = support(C',I,F) • Abstract counterexample A' is a truth assignment to: { vt | v in V', t in 0..k } where k is the number of steps.
  • 27. Counterexample extension CGJLV 2000 Copyright 2002 Cadence Design Systems. Permission • Abstract counterexample A' satisfies: I0 Ù U'k Ù Fk where U'k = C'0 Ù C'1 Ù ... Ù C'k-1 • Find A consistent with A', satisfying: I0 Ù Uk Ù Fk where Uk = C0 Ù C1 Ù ... Ù Ck-1 • That is, A is any satisfying assignment to: A' Ù I0 Ù Uk Ù F I.e., to extend an absktract counterexample, we just apply it as a constraint in BMC. If unsat, abstract counterexample is false.
  • 28. Abstraction refinement Copyright 2002 Cadence Design Systems. Permission • Refinement = adding constraints to C' to eliminate false counterexamples. • Many heuristsics used for this. – Too many to cover here. – Recall that a SAT solver can produce a resolution-based refutation in the UNSAT case....
  • 29. Proof-based refinement Copyright 2002 Cadence Design Systems. Permission • Recall, to extend abstract Cex A', we check: A' Ù I0 Ù Uk Ù Fk • If UNSAT, we obtain refutation proof P – proof that A' cannot be extended to concrete Cex • Let E be set of constraints used in proof P: E = { c Î C | some ci occurs in P } • A' cannot be extended to a Cex for E – P is the proof of this. Thus, add E to C' and continue...
  • 30. In other words... Copyright 2002 Cadence Design Systems. Permission The refutation of the formula: A' Ù I0 Ù Uk Ù Fk gives us a sufficient set of constraints to rule out the abstract counterexample. We continue ruling out counterexamples until either the abstraction C' proves the property or we can extend an abstract counterexample to a concrete one.
  • 31. CCKSVW approach (FMCAD02) Copyright 2002 Cadence Design Systems. Permission • Find the shortest prefix of Cex A' that cannot be extended. OK OK OK OK NO! s0 s1 s2 si-1 si ... • That is, A' Ù I0 Ù Uk Ù Fk is feasible for all k i, but not for k=i.
  • 32. CCKSVW approach cont. Copyright 2002 Cadence Design Systems. Permission • Let P be a refutation of A' Ù I0 Ù Ui Ù Fi • Let E be set of constraints used in proof P only on state si-1: E = { c Î C | ci-2 occurs in P } OK OK OK OK NO! s0 s1 s2 si-1 si ... add constraints used here
  • 33. Weakness of Cex-based approach Copyright 2002 Cadence Design Systems. Permission • Arbitrarily chosen abstract Cex may be refutable for many reasons not related to property. – Thus, may add irrelevant constraints. – To remedy, may try to characterize a set of Cex's rather than just one (e.g., GKM-HFV,TACAS03). Alternative: don't use counterexamples
  • 34. Proof-based abstraction Cex? BMC done at depth k No Cex? Use refutation to choose abstraction True? MC abstraction done False? Copyright 2002 Cadence Design Systems. Permission Increase k MA,TACAS03
  • 35. BMC phase Copyright 2002 Cadence Design Systems. Permission • Unfold the model k times: U = C0 Ù C1 Ù ... Ù Ck-1 • Use SAT solver to check satisfiability of I0 Ù U Ù Fk • If unsatisfiable: • property has no Cex of length k • produce a refutation proof P
  • 36. Abstraction phase Copyright 2002 Cadence Design Systems. Permission • Let C' be set of constraints used in proof P: C' = { c Î C | some ci occurs in P } • C' admits no counterexample of length k – let U' = C'0 Ù C'1 Ù ... Ù C'k-1 – P is a refutation of I0 Ù U' Ù Fk • Model check property on C' – property true for C' implies true for C – else Cex of length k' k (why?) • restart for k = k'
  • 37. Algorithm Cex? BMC done C at depth k No Cex? Refutation P induces abstraction C' True? Model check C' done Cex of depth k'? Copyright 2002 Cadence Design Systems. Permission let k = k' Notice: MC counterexample is thrown away!
  • 38. Copyright 2002 Cadence Design Systems. Permission Termination • Depth k increases at each iteration • Eventually k d, diameter of C' • If k d, no counterexample is possible In practice, termination uses occurs when k » d/2 Usually, diameter C' diameter of C
  • 39. Weakness of proof-based abs Copyright 2002 Cadence Design Systems. Permission • BMC must refute all counterexamples of length k, while in Cex-based, BMC must refute only one (partial) counterexample.
  • 40. PicoJavaII benchmarks Copyright 2002 Cadence Design Systems. Permission • Hardware Java virtual machine implementation • Properties derived from verification of ICU – handles cache, instruction prefetch and decode • Original abstraction was manual • Added neigboring IFU to make problem harder ICU IFU Mem, Cache Integer unit properties No properties can be verified by standard model checking!
  • 41. Abstraction results Copyright 2002 Cadence Design Systems. Permission 345 305 306 306 305 104 307 73 97 52 54 292 312 285 126 354 289 212 151 51 400 350 300 250 200 150 100 50 0 State variables solid = original, gray = manual, open = proof-based abstraction
  • 42. Copyright 2002 Cadence Design Systems. Permission Inference • SAT solver seems to be very effective at narrowing down the proof to relevant facts. In most cases, it did better than manual abstraction.
  • 43. Comparing CBA and PBA Copyright 2002 Cadence Design Systems. Permission • Apples-apples comparison – same SAT solver – same model checker – only differences are: • For CBA previous A' is kept as a constriaint for BMC, C' is cumulative. • For PBA previous A' and C' are thrown away each iteration. Note these are my implementations. This says nothing about performance of specific tools!
  • 44. Run time comparison Copyright 2002 Cadence Design Systems. Permission 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 Counterexample-based abstraction Proof-based abstraction
  • 45. Abstraction comparison 60 50 40 30 20 10 0 0 10 20 30 40 50 60 Counterexample-based abstraction Copyright 2002 Cadence Design Systems. Permission Proof-based abstraction
  • 46. Possible explanation Copyright 2002 Cadence Design Systems. Permission • Internally, SAT solver is really doing CBA a=0 b=1 c=0 d=1 decision stack = abstract Cex A' refutation of A' decision heuristic moves proof variables up, into A'
  • 47. PBA run-time breakdown Copyright 2002 Cadence Design Systems. Permission 100% 50% 0% solid = BMC time, open = MC time
  • 48. CBA run-time breakdown Copyright 2002 Cadence Design Systems. Permission 100% 50% 0% solid = BMC time, open = MC time
  • 49. IBM GP benchmarks Thanks to Jason Baumgartner Copyright 2002 Cadence Design Systems. Permission 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 Proof-based abstraction Baumgartner et al.
  • 50. Compare to K-induction on PicoJava 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 Proof-based abstraction (s) Copyright 2002 Cadence Design Systems. Permission k-induction (FMCAD00) (s)
  • 51. A (fuzzy) hypothesis Copyright 2002 Cadence Design Systems. Permission SAT-based BMC succeeds when number of relevant variables is small, and fails otherwise. success is BMC for k = diameter of relevant logic • Parameterized models allowing no abstraction Model Max state vars German protocol 42 swap 21
  • 52. Industrial benchmarks Copyright 2002 Cadence Design Systems. Permission 700 600 500 400 300 200 100 0 0 100 200 300 400 500 600 700 Original state variables Abstraction state variables
  • 53. Copyright 2002 Cadence Design Systems. Permission Implications • Most of the time if bounded model checking succeeds, unbounded model checking also succeeds using abstraction. • No need to settle for time bounded result • Bounded model checking may be applicable only to localizable properties
  • 54. Image computation methods Copyright 2002 Cadence Design Systems. Permission • Symbolic model checking without BDD's – Use SAT solver just for fixed-point detection • Abdulla, Bjesse and Een 2000 • Williams, Biere, Clarke and Gupta 2000 – Adapt SAT solver to compute image directly • McMillan, 2002
  • 55. Symbolic model checking Copyright 2002 Cadence Design Systems. Permission • Recall: Fixed point characterizaion of CTL: EFp = m. Q p Ú EX Q • Reverse image: EXp = $W. p di / si state variable input variables transition function
  • 56. Syntactic expansion of quantifiers Copyright 2002 Cadence Design Systems. Permission • By definition: $w. p = p0/w Ú p1/w • Thus, we can compute reverse image by syntactic expansion and simplification. – note: expontential in number of inputs. • Fixed-point series: R0 = false Ri+1 = p Ú EX Ri Terminates when Ri+1 Þ Ri (SAT problem)
  • 57. Copyright 2002 Cadence Design Systems. Permission Limitations • Syntactic quantifier elimination is exponential – Method limited to circuits with very few inputs – E.g., sequential arithmetic circuits
  • 58. Direct image computation Copyright 2002 Cadence Design Systems. Permission • Adapt SAT methods for image computation in symbolic model checking – Recall: this is essentially quantifier elimination • Idea: reduce formula to CNF or DNF – Make quantifier elimination easy – Essentially, enumerate all satisfying assignments, but in an efficient way (i.e., by covering them with clauses or cubes).
  • 59. Circuit Validity Copyright 2002 Cadence Design Systems. Permission Can the circuit output be 0? (a Ú Øg) Ù (b Ú Øg) Ù(Øa Ú Øb Ú g) g a b c p input variables VI output variable CNF(p) (Øg Ú p) Ù (Øc Ú p) Ù(g Ú c Ú Øp) p is valid when the formula CNF(p) Ù Øp is unsatisfiable
  • 60. CNF Characterization Copyright 2002 Cadence Design Systems. Permission Instead of checking validity of p, we now want to derive a CNF formula over the input variables VI that is logically equivalent to the circuit. Idea: each time a satisfying assignment is found, add a new “blocking clause” that rules out this satisfying assignment. The blocking clauses form our characterization of p.
  • 61. Blocking clauses Copyright 2002 Cadence Design Systems. Permission • Blocking clauses must: – be implied by p – be in conflict in the current assignment – involve only input variables (in VI) Can we use conflict clauses as blocking clauses? Not quite...
  • 62. An example Copyright 2002 Cadence Design Systems. Permission g Want to characterize p in CNF: a b c p •Test satisfiability of CNF(p) Ù Øp Guess the assignment A = a Implication graph: a Øp Øg Øb Øc Satisfying! Problem: We can’t infer anything from p, because Øp is already a root of the graph.
  • 63. Alternate implication graph a Øb Øc Copyright 2002 Cadence Design Systems. Permission a b c p a Øp Øg Øb Øc Construct a new implication graph rooted at the input variables. Now we can always generate a conflict clause from p using only input variables. g Original Øg Øp Alternate
  • 64. Blocking clause example g Copyright 2002 Cadence Design Systems. Permission a b c p Alternate graph a Øb Øc Øg Øp (g Ú c Ú Øp) p (g Ú c) (b Ú Øg) (b Ú c) We stop when the clause has only inputs
  • 65. CNF characterization algorithm A = Æ, c = Æ empty y return clause? c n y Deduce conflict? Infer blocking clause c’ from p. is A y Branch Add c’ to f, c. total? Copyright 2002 Cadence Design Systems. Permission
  • 66. Universal Quantifier Elimination Given • a circuit p, and • a subset W of the input variables, we want to compute a CNF formula equivalent to W.p Idea: Eliminating in CNF formulas is trivial. e.g.: a. (a Ú b) Ù (Øa Ú Øc Ú d) = (b) Ù (Øc Ú d) ... just push inside Ù ... Copyright 2002 Cadence Design Systems. Permission
  • 67. - elimination algorithm A = Æ, c = Æ empty y return clause? c n y Copyright 2002 Cadence Design Systems. Permission Deduce conflict? is A total? y Infer blocking clause c’ from p. Branch Add W.c’ to f, c.
  • 68. CTL Model Checking with SAT AXp p AXp = W. p d/ s i i state variable input variables transition function Copyright 2002 Cadence Design Systems. Permission
  • 69. Recent related work Copyright 2002 Cadence Design Systems. Permission • Sheng, Hsiao (DATE 2003) – Uses ATPG methods • Chauhan, Clarke, Kroenig – Computes forward rather than backward image
  • 70. Simplified PicoJavaII benchmarks Copyright 2002 Cadence Design Systems. Permission • This method can't handle large numbers of irrelevant variables directly. – Like BDD method, it computes exact reachable states. – Comparable to BDD methods, not abstraction methods. • We compare the method to BDD's for a set of benchmarks in which most of the irrelevant logic is pruned out manually.
  • 71. Note low correlation between the two methods. SAT based method may be a good alternative when BDD’s fail. Copyright 2002 Cadence Design Systems. Permission 10000 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 10000 Run time of BDD-based method (s) Run time of SAT-based method (s) Comparison with BDD’s Note low variance in times for BDD based technique. Benchmarks may be biased in favor of BDD’s. BDD’s are better overall. But note relative immaturity of SAT based method
  • 72. SAT-based image Copyright 2002 Cadence Design Systems. Permission • May provide a good alternative when BDD's fail. • Does not take advantage of SAT solver's ability to filter out irrelevant facts, since exact image is computed.
  • 73. Image over-approximation Copyright 2002 Cadence Design Systems. Permission • BMC and Craig interpolation allow us to compute image over-approximatino relative to property. – Avoid computing exact image. – Maintain SAT solver's advantage of filtering out irrelevant facts.
  • 74. Copyright 2002 Cadence Design Systems. Permission Interpolation • If A Ù B = false, there exists an interpolant A' for (A,B) such that: A Þ A' A' Ù B = false A' refers only to common variables of A,B • Example: – A = p Ù q, B = Øq Ù r, A' = q • New result – given a resolution refutation of A ÙB, A' can be derived in linear time. (Craig,57) (Pudlak,Krajicek,97)
  • 75. Interpolation-based MC Copyright 2002 Cadence Design Systems. Permission • Interpolation gives us – SAT-based algorithm for over-approximate image computation, using interpolation – SAT-only symbolic model checking
  • 76. Copyright 2002 Cadence Design Systems. Permission Reachability • Is there a path from I to F satisfying transition constraint C? • Reachability fixed point: R0 = I Ri+1 = Ri Ú Img(Ri,C) R = È Ri • Image operator: Img(P,C) = lV'. $ V. (P Ù C) • F is reachable iff R Ù F ¹ false
  • 77. Copyright 2002 Cadence Design Systems. Permission Overapproximation • An overapproximate image op. is Img' s.t. for all P, Img(P,C) implies Img'(P,C) • Overapprimate reachability: R'0 = I R'i+1 = R'i Ú Img'(R'i,C) R' = È R'i • Img' is adequate (w.r.t.) F, when – if P cannot reach F, Img’(P,C) cannot reach F • If Img' is adequate, then – F is reachable iff R' Ù F ¹ false
  • 78. Adequate image Copyright 2002 Cadence Design Systems. Permission Img(P,C) P F Img’(P,C) Reached from P Can reach F But how do you get an adequate Img'?
  • 79. k-adequate image operator Copyright 2002 Cadence Design Systems. Permission • Img' is k-adequate (w.r.t.) F, when – if P cannot reach F, Img’(P,C) cannot reach F within k steps • Note, if k diameter, then k-adequate is equivalent to adequate.
  • 80. Interpolation-based image Copyright 2002 Cadence Design Systems. Permission • Idea -- use unfolding to enforce k-adequacy A = P-1 Ù C-1 B = C0 Ù C1 Ù ... Ù Ck-1 Ù Fk A B P C C C C C C C F t=0 t=k Let Img'(P)0= A', where A' is an interpolant for (A,B)... Img' is k-adequate!
  • 81. Copyright 2002 Cadence Design Systems. Permission Huh? A' A B P C C C C C C C F • A Þ A' t=0 t=k – Img(P,C) Þ Img'(P,C) • A' Ù B = false – Img'(P,C) cannot reach F in k steps • Hence Img' is k-adequate overapprox. But note, Img' is partial -- not defined if AÙB is sat.
  • 82. Copyright 2002 Cadence Design Systems. Permission Intuition A' A B P C C C C C C C F t=0 t=k • A' tells is everything the SAT solver deduced about the image of P in proving it can't reach F in k steps. • Hence, A' is in some sense an abstraction of the image relative to the property.
  • 83. Reachability algorithm Copyright 2002 Cadence Design Systems. Permission let k = 0 repeat if I can reach F within k steps, answer reachable R = I while Img'(R,C) Ù F = false R' = Img'(R,C) Ú R if R' = R answer unreachable R = R' end while increase k end repeat
  • 84. Copyright 2002 Cadence Design Systems. Permission Termination • Since k increases at every iteration, eventually k d, the diameter, in which case Img' is adequate, and hence we terminate. Notes: – don't need to know when k d in order to terminate – often termination occurs with k d – depth bound for earlier method (Sheeran et al '00) is longest simple path, which can be exponentially longer than diameter
  • 85. PicoJava II Benchmarks Copyright 2002 Cadence Design Systems. Permission 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 Proof-based abstraction (s) Interpolation-based method (s)
  • 86. vs. k-induction Copyright 2002 Cadence Design Systems. Permission 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 Interpolation-based (s) k-induction (FMCAD00) (s)
  • 87. IBM GP benchmarks Copyright 2002 Cadence Design Systems. Permission 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 Proof-based abstraction (s) Interpolation-based method (s)
  • 88. GP benchmarks - true properties 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 Proof-based abstraction (s) Copyright 2002 Cadence Design Systems. Permission Interpolation-based method (s)
  • 89. Interpolation-based MC Copyright 2002 Cadence Design Systems. Permission • Fully SAT-based. • Inherits SAT solvers ability to concentrate on facts relevant to a property. • Like CBA, PBA, most effective when – Very large set of facts is available – Only a small subset are relevant to property • For true properties, appears to converge for smaller k values.
  • 90. Copyright 2002 Cadence Design Systems. Permission Conclusion • SAT solvers are very effective at ignoring irrelevant facts – Can think of decision heuristic as a form of CBA • SAT solvers can produce refutations • We can exploit in a number of ways: – BMC – Abstraction for UMC (either CBA or PBA) – Abstract image computations using interpolation This makes it possible to model check localizable properties large systems.
  • 91. Conclusion cont. Copyright 2002 Cadence Design Systems. Permission • Approaches that compute exact images sacrifice this quality of SAT solvers. – still useful as alternative to BDD's • For non-localizable properties, SAT-based BMC and UMC do not perform well. • The capacity of SAT-based UMC is comparable to BMC. – no need to settle for bounded results!