Symbolic Model Checking 10 20 States and Beyond Burch Clarke - - PowerPoint PPT Presentation

symbolic model checking
SMART_READER_LITE
LIVE PREVIEW

Symbolic Model Checking 10 20 States and Beyond Burch Clarke - - PowerPoint PPT Presentation

The Mu-Calculus Model Checking Example Results Symbolic Model Checking 10 20 States and Beyond Burch Clarke McMillan Dill Hwang Seminal Papers in Verification March 23, 2012 Andrena Francisco Symbolic Model Checking The Mu-Calculus


slide-1
SLIDE 1

The Mu-Calculus Model Checking Example Results

Symbolic Model Checking

1020 States and Beyond Burch Clarke McMillan Dill Hwang

Seminal Papers in Verification

March 23, 2012

Andreína Francisco Symbolic Model Checking

slide-2
SLIDE 2

The Mu-Calculus Model Checking Example Results

Outline

1

The Mu-Calculus

2

Model Checking

3

Example

4

Results

Andreína Francisco Symbolic Model Checking

slide-3
SLIDE 3

The Mu-Calculus Model Checking Example Results

The Mu-Calculus

The Mu-Calculus is similar to standard first-order logic. Does not include relational symbols or constant symbols. Relational symbols are replaced by relational variables. µP[R] denotes the least fixed point of an n-ary relational term R and P is an n-ary relational variable.

Andreína Francisco Symbolic Model Checking

slide-4
SLIDE 4

The Mu-Calculus Model Checking Example Results

Symbolic Model Checking

Use BDDs as internal representation Recursively translate formula to BDD CTL expressions can be translated into efficient BDD

  • perations.

FalseBDD and TrueBDD correspond to trees with only one terminal node, 0 or 1 respectively.

Andreína Francisco Symbolic Model Checking

slide-5
SLIDE 5

Translating formulas

Over the structure of formulas & terms BDDf: Formulas f is individual var BDDAtom(f) f = f1 ^ f2 BDDAnd(BDDf(f1), BDDf(f2)) f = ¬f1 BDDNegate(BDDf(f1)) f = 9x.f BDDExists(x, BDDf(f1)) f = R(x1, . . . , xn) BDDR(R)hd1 ← x1, . . . , dn ← xni BDDR: Terms R is relational var IR(R) R = λx1, . . . , xn.f BDDf(f)hx1 ← d1, . . . , xn ← dni R = µP[R0] FixedPoint(P, R0, FalseBDD)

slide-6
SLIDE 6

The Mu-Calculus Model Checking Example Results

AF f1 = µZ . f1 ∨ AX Z EF f1 = µZ . f1 ∧ EX Z A[f1 U f2] = µZ . f2 ∨ (f1 ∧ AX Z) E[f1 U f2] = µZ . f2 ∨ (f1 ∧ EX Z)

Andreína Francisco Symbolic Model Checking

slide-7
SLIDE 7

The Mu-Calculus Model Checking Example Results

The set of atomic prepositions AP = {a, b, c} The set of states S = {s0, s1, s2} The set of transitions T = {(s0, s1), (s1, s0), (s0, s2), (s2, s1)} The labelling function L = {(s0, {a, b}), (s1, {b, c}), (s2, {a, c})} s0 s1 s2 {a, b} {b, c} {a, c}

Andreína Francisco Symbolic Model Checking

slide-8
SLIDE 8

The Mu-Calculus Model Checking Example Results

CTL formulae: f = EX c Mu-Calculus: R = λs[∃t[c(t) ∧ T(s, t)]] s0 s1 s2 {a, b} {b, c} {a, c}

Andreína Francisco Symbolic Model Checking

slide-9
SLIDE 9

The Mu-Calculus Model Checking Example Results

States are described by means of a vector of boolean variables si = (x1, x2) Boolean vectors can be represented as formulas s0 = ¬e1 ∧ e2, s1 = ¬e1 ∧ e2, s2 = e1 ∧ e2 Trasitions, described by the pairs (si, s′

i), can be represented as

si ∧ s′

i

Andreína Francisco Symbolic Model Checking

slide-10
SLIDE 10

The Mu-Calculus Model Checking Example Results

c(t) e′

2

1 T(s, t)

e′

2

e2 e′

1

e2 e′

1

e1 e1 1

Andreína Francisco Symbolic Model Checking

slide-11
SLIDE 11

The Mu-Calculus Model Checking Example Results

c(t) ∧ T(s, t)

e′

2

e2 e′

1

e1 e1 1

Andreína Francisco Symbolic Model Checking

slide-12
SLIDE 12

The Mu-Calculus Model Checking Example Results

∃t[c(t) ∧ T(s, t)] e′

2 = 0 ∧ e′ 1 = 0

e′

2 = 0 ∧ e′ 1 = 1

e′

2 = 1 ∧ e′ 1 = 0

e2 e1 e1 1

e′

2 = 1 ∧ e′ 1 = 1

e2 e1 1

Andreína Francisco Symbolic Model Checking

slide-13
SLIDE 13

The Mu-Calculus Model Checking Example Results

∃t[c(t)∧T(s, t)] = [c(t)∧T(s, t)]e′

2=0,e′ 1=0∨[c(t)∧T(s, t)]e′ 2=0,e′ 1=1∨...

e2 e1 e1 1 {s0, s2}

Andreína Francisco Symbolic Model Checking

slide-14
SLIDE 14

The Mu-Calculus Model Checking Example Results

Symbolic model checking allows larger models (many magnitudes). Interesting result: BDDs grow linearly State space very large Execution time still rises quickly

Andreína Francisco Symbolic Model Checking

slide-15
SLIDE 15

Outline Representing Set of States as OBDD’s Symbolic Model-Checking Algorithm

Symbolic Model Checkers

. Most hardware design companies have their own Symbolic Model Checker(s) Intel, IBM, Motorola, Siemens, ST, Cadence, ... very advanced tools proprietary technolgy! . On the academic side CMU SMV [McMillan] VIS [Berkeley, Colorado] Bwolen Yang’s SMV [CMU] NuSMV [CMU, IRST, UNITN, UNIGE] ...

Alessandro Artale Formal Methods Lecture VII Symbolic Model Checking