l5-6 - CS 267: Automated Verification Lectures 5 and 6:...

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 267: Automated Verification Lectures 5 and 6: μ -calculus, symbolic model checking Instructor: Tevfik Bultan
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
μ -Calculus μ -Calculus is a temporal logic which consist of the following: Atomic properties AP Boolean connectives: ¬ , , Precondition operator: EX Least and greatest fixpoint operators: μ y . F y and ν y. F y F must be syntactically monotone in y meaning that all occurrences of y in within F fall under an even number of negations
Background image of page 2
μ -Calculus 2200 μ -calculus is a powerful logic Any CTL* property can be expressed in μ -calculus So, if you build a model checker for μ -calculus you would handle all the temporal logics we discussed: LTL, CTL, CTL* One can write a μ -calculus model checker using the basic ideas about fixpoint computations that we discussed However, there is one complication Nested fixpoints!
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Mu-calculus Model Checking Algorithm eval(f : mu-calculus formula) : a set of states case: f AP return {s | L(s,f)=true}; case: f ¬ p return S - eval(p); case: f p q return eval(p) eval(q); case: f p q return eval(p) eval(q); case: f EX p return EX(eval(p));
Background image of page 4
Mu-calculus Model Checking Algorithm eval(f) case: f μ y . g(y) y := False; repeat { y old := y; y := eval(g(y)); } until y = y old return y;
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Mu-calculus Model Checking Algorithm eval(f) case: f ν y . g(y) y := True; repeat { y old := y; y := eval(g(y)); } until y = y old return y;
Background image of page 6
Nested Fixpoints Here is a CTL property EG EF p = ν y . ( μ z . p EX z) EX y The fixpoints are not nested. Inner fixpoint is computed only once and then the outer fixpoint is computed Fixpoint characterizations of CTL properties do not have nested fixpoints Here is a CTL* property EGF p = ν y . μ z . ((p EX z) EX y) The fixpoints are nested. Inner fixpoint is recomputed for each iteration of the outer fixpoint
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Nested Fixpoint Example 1 0 2 p 0 |= EG EF p EF p EF p EG EF p = ν y . ( μ z . p EX z) EX y EGF p = ν y . μ z . ((p EX z) EX y) 0 |= EGF p F 1 F 2 F 3 F 1 ( ) = {1} F 1 2 ( ) = {0,1} F 1 3 ( ) = {0,1} S={0,1,2} F 2 (S) = {0,1} F 2 2 (S) = {0} F 2 3 (S) = {0} EG EF p = {0} F 3 y z 0,0 {0,1,2} 0,1 {1} 0,2 {0,1} 0,3 {0,1} 1,0 {0,1} 1,1 2,0 2,1 3,0 EGF p = EF p fixpoint EG {0,1} fixpoint nested fixpoint
Background image of page 8
Symbolic Model Checking [McMillan et al. LICS 90] Basic idea: Represent sets of states and the transition relation as Boolean logic formulas Fixpoint computation becomes formula manipulation pre-condition (EX) computation: Existential variable
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 29

l5-6 - CS 267: Automated Verification Lectures 5 and 6:...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online