CTL Model Checking. Wishnu Prasetya.

Size: px
Start display at page:

Download "CTL Model Checking. Wishnu Prasetya."

Transcription

1 CTL Model Checking Wishnu Prasetya

2 Background Example: verification of web applications à e.g. to prove existence of a path from page A to page B. Use of CTL is popular à another variant of temporal logic à different way of model checking. Model checker for verifying CTL: SMV. Also uses a technique called symbolic model checking. In contrast, SPIN model checking is called explicit state. 2 We ll show you how this symbolic MC works, but first we ll take a look at CTL, and the web application case study.

3 Overview CTL CTL Model checking Symbolic model checking BDD Definition Reducing BDD Operations on BDD Acknowledgement: some slides are taken and adapted from various presentations by Randal Bryant (CMU), Marsha Chechik (Toronto) 3

4 CTL Stands for Computation Tree Logic Consider this Kripke structure (labeling omitted) : M : 0 In LTL, properties are defined over executions, which are sequences : In CTL properties are defined in terms of your computation tree:

5 CTL Informally, CTL is interpreted over computation trees. M ϕ = M s computation trees satisfies ϕ We have path quantifiers : A... : holds for all path (starting at the tree s root) E... : holds for some path 5 Temporal operators : X... : holds next time F... : holds in the future G... : always hold U : until

6 Intuition of CTL operators EX (exists next) ϕ AX (all next) ϕ ϕ ϕ ϕ EG ϕ ϕ AG ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ 6

7 Intuition of CTL operators EF ϕ AF ϕ ϕ ϕ ϕ ϕ ϕ E[ ψ U ϕ ] A[ ψ U ϕ ] ψ ψ ψ ϕ ψ ϕ ψ ϕ ϕ 7

8 Syntax ϕ ::= p // atomic (state) proposition ϕ ϕ 1 ϕ 2 EX ϕ AX ϕ E[ϕ 1 U ϕ 2 ] A[ϕ 1 U ϕ 2 ] 8

9 Semantics R : S {S} : transition relation V : S {Prop} : observations Let M = ( S, {s 0 }, R, V ) be a Kripke structure J M,t ϕ ϕ holds on the comp. tree t M ϕ is defined as M, tree(s 0 ) ϕ M,t p = p V(root(t)) M,t ϕ = not ( M,t ϕ ) 9 M,t ϕ ψ = M,t ϕ and M,t ψ

10 Semantic of X M,t EXϕ = ( v R(root(t)) :: M,tree(v) ϕ ) M,t AXϕ = ( v R(root(t)) :: M,tree(v) ϕ ) This definition of the A-quantifier is a bit problematic if you have a terminal state t (state with no successor), because then you get t AX ϕ for free, for any ϕ (the above - quantification would quantify over an empty domain). This can be patched; but we ll just assume that your M contains no terminal state (all executions are infinite). 10

11 Semantic of U M,t E[ ψ U ϕ ] = There is a path σ in M, starting in root(t) such that: For some i 0, M,tree(σ i ) ϕ For all previous j, 0 j<i, M,tree(σ j ) ψ M,s A[ ψ U ϕ ] = For all path σ in M, starting in root(t), these hold: 11

12 Derived operators ψ ϕ = ( ϕ ψ) ψ ϕ = ψ ϕ EF ϕ = E[ true U ϕ ] AF ϕ = A[ true U ϕ ] EG ϕ = AF ϕ AG ϕ = EF ϕ 12

13 LTL vs CTL They are not the same. Some properties can be expressed in both: AG (x=0) = (x=0) AF (x=0) = (x=0) A[x=0 U y=0] = x=0 U y=0 Some CTL properties can t be expressed in LTL, e.g: EF (x = 0) {x=0} Prop = { x= 0 } 13

14 LTL vs CTL Some LTL properties cannot be expressed in CTL, e.g. <>[] p {p} {p}... Prop = { p }... E.g. AF AG p does not express the property; the above Kripke does not satisfy it. 14

15 LTL vs CTL Another example, fairness restriction: ([]<> p <>q) <>q = []<>p \/ <>q {p} {q} e.g. AGAF p \/ AF q hold on the tree. does not 15

16 CTL* CTL formulas are also CTL* formulas. LTL formulas can also be expressed in CTL*. Syntax: (State formula) ϕ :: p // p is atomic proposition ϕ ϕ 1 ϕ 2 E f A f // f is a path formula (Path formula) f :: ϕ f f g Xf Ff Gf f 1 U f 2 An example of CTL* formulas that is not CTL: EFG(x=0). 16

17 CTL* The meaning of state formulas: t p = p holds at root(t) t ϕ = not t ϕ t ϕ 1 \/ ϕ 2 = t ϕ 1 or t ϕ 2 t E f = for some path σ starting in root(t), σ,0 f Af can be defines as Ef. The meaning of path formulas: σ,i ϕ σ,i f σ,i Xf = tree(σ i ) ϕ = not σ,i f = σ,i+1 f the defs. of other opereators as in LTL. 17

18 Model checking CTL formulas Kripke M = ( S, {s 0 }, R, V ) We want to verify M == ϕ Assume ϕ is expressed in CTL s (chosen) basic operators. The verification algorithm works by systematically labeling M s states with subformulas of ϕ; bottom up. For a sub-formula f ; we inspect every state s: { p } 0 2 { p,q } { p } 1 3 If tree(s) = f, we label s with f (and otherwise we don t label it) Eventually, when we are done with the labeling of the root formula ϕ : 18 M = ϕ iff s 0 is labeled with ϕ

19 Example, checking EX(p q) Prop = {p,q} Initial state is not labeled with the target formula; so the formula is not valid. 0 { p } 1 { p } EX(p q) 2 { p,q } p q 3 EX(p q) 19

20 Example, checking: E[ p U (p q) ] E[ p U p/\q] { p } { p } E[ p U p q] 0 1 Initial state is labeled with the target formula; so M satisfies the formula. 2 3 { p,q } p q E[ p U p q] 20

21 Example, checking A[ p U (p q) ] At the end, initial state is not labeled with the target formula; so the formula is not valid 0 { p } 1 { p } A[ p U p q] 2 3 { p,q } p q A[ p U p q] A[ p U p q] 21

22 Can we apply this to LTL? Consider p Prop = { p } Applying labeling : {p} we can t label this with p; thus also not with p p {p} p p 22

23 Checking CTL* Notice that M φ is the same as checking tree(s 0 ) φ, where s 0 is M s initial state (assuming it only has one). Let M/s be the same Kripke structure as M, but s as the initial state. Examples: t AGF q à by checking M/root(t) q in LTL t EGF q à by checking M/root(t) q in LTL, if this is not valid, then for some path σ starting in root(t), σ q does not hold. In other words, σ q holds. In other words, t EGF q is valid. t AGF(EFq) 1. First recurcively label the states of M with EFq. A state s is labelled with EFq iff tree(s) EFq 2. Pretend EFq is a new state-predicate r, added to he labelling of M. 3. Now check t AGF r, for which we can proceed as above 23

24 Symbolic representation You need the full statespace to do the labeling! Idea: Use formulas to encode sets of states (e.g. to express the set of states labeled by something) A small formula can express a large set of states à suggest a potential of space reduction. 24

25 Example 0 { p } 1 { p } E.g. the set of states where q holds is encoded by the formula: x y 2 { p,q } 3 4 states, can be encoded by 2 boolean variables x and y. St-0 St-1 St-2 St-3 x y xy x y xy Similarly, the set of states where p holds : {0,1,2}, can be encoded by formula: (xy) More generally, a boolean formula f represents the set of states, formed by value-combinations that satisfies f. 25

26 Example { p } { p } We can also describe this more program-like: 0 x y x y 2 { p,q } 1 3 xy xy if state {0,2} goto {0,1} [] state {1,3} goto 2 [] state=3 goto {2,3} fi which can be encoded with this boolean formula: N.D. States encoding: St-0 x y St-1 xy St-2 x y St-3 xy y x \/ yx y \/ xyx 26

27 Example byte x ; // unspecified initial value if x 255 x=0 ; The automaton has 256 states, with 256 arrows. Bit matrix : 8.3 Kbyte List of arrows: 512 bytes With boolean formula: (x 0..x 7 ) /\ x 0... x 7 \/ x 0...x 7 /\ x 0... x 7 27

28 Model checking When we label states with a formula f, we are basically calculating the set of states (of M) that satisfy f. Introduce this notation: W f = the set of states (whose comp. trees) satisfy f = { s s S, M, tree(s) == f } We now encode W f as as a boolean formula M = f if and only if W f evaluated on s 0 returns true 28

29 Labeling If p is an atomic formula: W p = boolean formula representing the set of states where p holds. For conjunction: Negation: W f/\g = W f /\ W g W f = W f For EX: W EXf = x,y :: R /\ W f [x,y /x,y] (The relation R is assumed to be defined in terms of x,y and x,y ) 29 AX f = EX f So: W AXf = W EX f

30 Restricting the arrows over the destinations States encoding: St-0 x y St-1 xy St-2 x y St-3 xy Suppose we have these arrows, R = y x y \/ xyy {1,3} {2} {3} {1,3} The set of all states that has at least one outgoing arrow to one of {0,1} { s ( t:: t R(s) /\ t {0,1} ) } Encoding in Boolean formula: ( x,y :: ( y x y \/ xyy ) /\ x ) 30

31 Restricting the arrows over the destinations The set of all states whose all outgoing arrows go to one of {0,1} : { s ( t:: t R(s) t {0,1} ) } Encoding in Boolean formula : ( x,y :: R(x,y,x,y ) x ) Note: Some state-encoding may be invalid (e.g. what if state 0 does not exist?) Some care need to be taken, not to quantify over invalid states. In the example, all terminal states in M will automatically be included in the set weird, but we discussed this before. We assumed M does not contain terminals. 31

32 Example, EXp 0 { p } 1 { p } xy W p q = x W EXp q = x,y :: R /\ x x y x y 2 { p,q } 3 xy = x,y :: ( y x \/ yx y \/ xyx ) /\ x States encoding: St-0 St-1 St-2 St-3 x y xy x y xy 32

33 Labeling E.g. the states satisfying E[f U g] can be computed by: Let Z 1 = W g Iteratively compute Z i Z i+2 = Z i+1 \/ (W f /\ ( x,y :: R /\ Z i+1 [x,y /x,y] )) Stop when Z i+1 = Z i ; then W E[p U q] = Z i 33

34 Example, E[ p U q ] 0 { p } 1 { p } xy Z 1 = W q = x y x y x y 2 { p,q } States encoding: 3 xy Z 2 = Z 1 \/ (W p /\ ( x,y :: R /\ Z 1 [x,y /x,y])) x y \/ ( (xy) /\ ( x,y ::... /\ x y )) St-0 St-1 St-2 St-3 x y xy x y xy Z 3 = Till fix point. 34

35 But how to check fix point? To make this works, we need a way to efficiently check the equivalence of two boolean formulas: f g So, we can decide when to we have reached a fixpoint In general this is an NP-hard problem. Use a SAT-solver to check if (f g) is unsatisfiable. We ll discusss BDD approach 35

36 Canonical representation = simplest/standard form. Here, a canonical representation C f of a formula f is a representation such that: f g iff C f = C g Gives us a way to check equivalence. 36 Only useful if the cost of constructing C f, C g + checking C f = C g is cheaper than directly checking f g. Some possibilities: Truth table à exponentially large. DNF/CNF à can also be exponentially large.

37 BDD Binary Decision Diagram; a compact, and canonical representation of a boolean formula. Can be constructed and combined efficiently. Invented by Bryant: "Graph-Based Algorithms for Boolean Function Manipulation". Bryant, in IEEE Transactions on Computers, C-35(8),

38 Decision Tree x 1 x 2 x 3 \/ x 1 x 2 x 3 \/ x 1 x 2 x 3 with truth table : x 1 x 2 x TT is canonical if we fix the order of the columns. f Or representing the table with a (binary decision) tree : x 1 x 2 x 2 x 3 x 3 x 3 x Each node x i represents a decision: Blue out-edge from x i à assigning 1 to x i 38 Red out-edge from x i à assigning 0 to x i Function value is determined by leaf value.

39 But we can compact the tree E.g. by merging the duplicate leaves: x 1 x 1 x 2 x 2 x 2 x 2 x 3 x 3 x 3 x 3 x 3 x 3 x 3 x We can compact this further by merging duplicate subgraphs 39

40 Results Note: this is from Bryant s paper in They use their version of MC at that time, running it on an DEC VAX 11/780, with about 1 MIP speed J 40

41 Boolean formula A boolean formula (proposition logic formula) e.g. x. y \/ z can be seen as a function : f(x,y,z) = x.y \/ z In Bryant s paper this is called a : boolean function. E.g. composing functions as in f(x, y, g(x,y,z)) is the same as the corresponding substitution. 41

42 Binary Decision Diagram A BDD is a directed acyclic graph, with a single root two leaves à 0/1 non-leaf node labeled with varname has 2 children suppose we call this node: v v.low Along every path, no var appears more than 1x y x z v.var v.high We ll keep the arrow-heads implicit always from top to bottom 0 w: 1 w.val 42

43 func(g) x = var(v) func(v) = x. func(v.low) \/ x. f(v.high) func(g) = func(root) x xz \/ x. y.z y.z y z z 0 1 func(0) = 0, func(1) = 1 43

44 Ordered BDD OBDD à fix an ordering on the variables let index(v) à the order of v in this ordering J index(v) < index(v.low) same with v.high y z z x satisfies ordering [y,z,x] but not [y,x,z]

45 Reduced BDD 45 Two BDDS F ang G are isomorphic if you can obtain G from F by renaming F s nodes, vice versa. But you are not allowed to rename v.var nor v.val! A BDD G is reduced if: then: func(f) = func(g) for any non-leaf node v, v.low v.high. for any distinct nodes u and v, the sub-bdds rooted at them are not isomorphic. otherwise G can be reduced!

46 Reduced OBDD Reduced OBDD is canonical: If we fix the variable ordering, every boolean function is uniquely represented by a reduced OBDD (up to isomorphism). Same idea as in truth tables: canonical if you fix the order of the columns. However, the chosen ordering may influence the size of the OBDD. 46

47 Effect of ordering Consider: xyz \/ yz x y y z z z 0 1 x 0 1 Order: x,y,z Order: y,z,x 47

48 The difference can be huge consider: a 1 b 1 \/ a 2 b 2 \/ a 3 b 3 a 1 a 1 b 1 a 2 a 2 a 2 a 3 a 3 a 3 a 3 b 2 b 1 b 1 b 1 b 1 a 3 b 2 b 2 48 b Linear Growth b Exponential Growth Here: red for value 1, green for 0.

49 Reducing BDD x x y y y y z z z z z z z z By sharing leaves 49

50 Reducing BDD y x y y x y z z z z z z x y z

51 The reduction algorithm Introduce a class Node to represent the nodes in a BDD. If v is an instance of Node and it has these fields v.var (non-leaf) v.low, v.high : Node (non-leaf) v.value (leaf) A BDD can be represented by a single instance of Node, which is to be the root of the BDD. 51

52 The reduction algorithm Introduce id, mapping/function Node Node Use it to keep track which nodes actually represent the same formula. Iterate/recurse and maintain this invariant: func(u) = func(id(u)) Initially, id(u) = u, for all u. So, we can remove u from the graph, and re-route arrows to it, to go to id(u) instead. Work bottom up, and such that a node decorated with x is processed after all nodes whose decorations come later in the var-ordering are processed first. 52

53 The reduction algorithm We ll work recursively, bottom-up. Keep track of V = set of visited/processed nodes. Now suppose we are at a node v labeled with y, index(y)=i. Note that this implies that we must have done the work for all nonleaves labeled with z with index(z)>i. Case-1, id(v.low) = id(v.high) ; suppose v.var = y y z x v y func(v) = y. func(v.low) \/ y. func(v.high) = y. func(id(v.low)) \/ y. func(id(v.high)) = y. func(id(v.low)) \/ y. func(id(v.low)) = func(id(v.low)) update: id(v) := id(v.low)

54 The reduction algorithm Case-2: there is another non-leaf u V (u has been processed) such that: 1. u.var = v.var ; suppose this is y 2. id(u.low) = id(v.low) 3. id(u.high) = id(v.high) id u y y v id func(v) = y. func(u.low) \/ y. func(v.high) = y. func(u.low) \/ y. func(u.high) // by inv = func(u) = func(id(u)) update: id(v) := id(u) 54

55 The reduction algorithm Case 3 : otherwise we can t reduce v, if v is not a leaf, update : v.high := id(v.high) v.low := id(v.low) We are done if we have processed the root Node; return id(root) as the new graph. Orphan nodes can be garabage-collected. 55

56 Building a BDD So far: we can reduce a BDD. Recall in CTL model checking, e.g. to the set of states satisfying EX p is calculated by constructing this formula: x,y :: R /\ W p [x,y /x,y] Since formulas are now represented as BDDs, this implies the need to combine BDDs. The combinators should be efficient! 56

57 Basic operations to combine BDDs Apply f 1 <op> f 2 Restrict f x=b // b is constant Compose f 1 x=f2 // f2 is another function Satisfy-one Return a single combination of the variables of f that would make it true, else return nothing. 57

58 Quantification With restriction we can encodes boolean quantifications : ( y:: f(x,y) ) = f(x,y) y=0 \/ f(x,y) y=1 ( y:: f(x,y) ) = ( y:: f(x,y)) (Recall that we need this in the MC algorithm). 58

59 Restriction f(x,y,z) y=c how to construct the BDD of the new function?? f(x,y,z) y=0 f(x,y,z) y=1 à replace all y nodes by low-sub-tree à replace all y nodes by high-sub-tree Example: x x f (x,y.z) = xz \/ x yz y z So, f(x,y,z) y=0 = z z z Reduced version. 59 After replacing y

60 Apply Apply, denoted by f <op> g, means the boolean function obtained by applying op to f and g. E.g. assuming they take x,y as parameters, f <and> g means the function that maps x,y to f(x,y) /\ g(x,y). A single algorithm to implement /\, \/, xor We can even implement f, namely as f <xor> 1 60

61 Apply So, given the BDDs of f and g, how to construct the BDD of f <op> g? There is this Shannon expansion : f <op> g = x. (f x=0 <op> g x=0 ) \/ x. ( f x=1 <op> g x=1 ) This tells us how to implement apply recursively! 61 Detail, see LN.

62 Example u2 y x u1 y v1 z u3 z v2 We ll do this by hand. u4 0 1 u5 v3 0 1 v4 We name the nodes, just so that we can refer to them. f <and> g = x. (f x=0 <and> g x=0 ) \/ x. ( f x=1 <and> g x=1 ) 62

63 Example u2 y x u1 y v1 apply(u1,v1) apply(u2,v1) apply(u3,v1) z u4 0 1 u3 u5 z v3 0 1 v2 v4 apply(u3,v3) apply(u4,v3) apply(u3,v2) apply(u3,v2) apply(u5,v4) Repeated call in recursion! To avoid this, maintain a table to keep track of already computed results. apply(u4,v3) apply(u5,v4) apply(u4,v3) 63

64 Satisfy and Compose Compose, constructed through : f 1 x=f2 = f 2. f 1 x=1 \/ f 2. f 1 x=0 In a reduced graph of a satisfiable formula, every non-terminal node must have both leaf-0 and leaf-1 as decendants. It follows that satisfy-one can be implemented in O(n) time (e.g. run a DFS from root to find a path leading to 1) 64

65 And substitution Recall in CTL model checking, e.g. to the set of states satisfying EX p is calculated by constructing this formula: x,y :: R /\ W p [x,y /x,y] So, how to we construct the BDD representing e.g. f[x,y /x,y]? 65 Just replace x,y in the BDD with x,y, assuming this does not violate the BDD s ordering constraint (e.g. if x<y but x >y ). Else use compose.

66 The cost of various operations Reduce f O( G log G ) where G is the graph of f s BDD. Apply f 1 <op> f 2 O( G1 G2 ) Restrict f x=b O( G log G ) Compose f 1 x=f2 O( G1 2 G2 ) Satisfy-one O( G ) 66

Boolean decision diagrams and SAT-based representations

Boolean decision diagrams and SAT-based representations Boolean decision diagrams and SAT-based representations 4th July 200 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures

More information

Lecture 16: Computation Tree Logic (CTL)

Lecture 16: Computation Tree Logic (CTL) Lecture 16: Computation Tree Logic (CTL) 1 Programme for the upcoming lectures Introducing CTL Basic Algorithms for CTL CTL and Fairness; computing strongly connected components Basic Decision Diagrams

More information

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK

More information

Model Checking: An Introduction

Model Checking: An Introduction Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations

More information

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de June 5, 2012 c JPK Switching

More information

CS357: CTL Model Checking (two lectures worth) David Dill

CS357: CTL Model Checking (two lectures worth) David Dill CS357: CTL Model Checking (two lectures worth) David Dill 1 CTL CTL = Computation Tree Logic It is a propositional temporal logic temporal logic extended to properties of events over time. CTL is a branching

More information

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

Temporal Logic Model Checking

Temporal Logic Model Checking 18 Feb, 2009 Thomas Wahl, Oxford University Temporal Logic Model Checking 1 Temporal Logic Model Checking Thomas Wahl Computing Laboratory, Oxford University 18 Feb, 2009 Thomas Wahl, Oxford University

More information

Symbolic Model Checking with ROBDDs

Symbolic Model Checking with ROBDDs Symbolic Model Checking with ROBDDs Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 14, 2016 c JPK Symbolic

More information

Computation Tree Logic

Computation Tree Logic Chapter 6 Computation Tree Logic Pnueli [88] has introduced linear temporal logic to the computer science community for the specification and verification of reactive systems. In Chapter 3 we have treated

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Logic Circuits Design Seminars WS2010/2011, Lecture 2 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague

More information

Binary Decision Diagrams Boolean Functions

Binary Decision Diagrams Boolean Functions Binary Decision Diagrams Representation of Boolean Functions BDDs, OBDDs, ROBDDs Operations Model-Checking over BDDs 72 Boolean functions:b = {0,1}, f :B B B Boolean Functions Boolean expressions: t ::=

More information

MODEL CHECKING. Arie Gurfinkel

MODEL CHECKING. Arie Gurfinkel 1 MODEL CHECKING Arie Gurfinkel 2 Overview Kripke structures as models of computation CTL, LTL and property patterns CTL model-checking and counterexample generation State of the Art Model-Checkers 3 SW/HW

More information

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Computation Tree Logic (CTL) & Basic Model Checking Algorithms Computation Tree Logic (CTL) & Basic Model Checking Algorithms Martin Fränzle Carl von Ossietzky Universität Dpt. of Computing Science Res. Grp. Hybride Systeme Oldenburg, Germany 02917: CTL & Model Checking

More information

Model Checking with CTL. Presented by Jason Simas

Model Checking with CTL. Presented by Jason Simas Model Checking with CTL Presented by Jason Simas Model Checking with CTL Based Upon: Logic in Computer Science. Huth and Ryan. 2000. (148-215) Model Checking. Clarke, Grumberg and Peled. 1999. (1-26) Content

More information

Comp487/587 - Boolean Formulas

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

More information

Binary Decision Diagrams. Graphs. Boolean Functions

Binary Decision Diagrams. Graphs. Boolean Functions Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Literature Some pointers: H.R. Andersen, An Introduction to Binary Decision Diagrams, Lecture notes, Department of Information Technology, IT University of Copenhagen Tools: URL:

More information

LTL Model Checking. Wishnu Prasetya.

LTL Model Checking. Wishnu Prasetya. LTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Overview This pack : Abstract model of programs Temporal properties Verification (via model checking) algorithm Concurrency

More information

Model for reactive systems/software

Model for reactive systems/software Temporal Logics CS 5219 Abhik Roychoudhury National University of Singapore The big picture Software/ Sys. to be built (Dream) Properties to Satisfy (caution) Today s lecture System Model (Rough Idea)

More information

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action

More information

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar Model Checking I What are LTL and CTL? q0 or and dack dreq q0bar and 1 View circuit as a transition system (dreq, q0, dack) (dreq, q0, dack ) q0 = dreq and dack = dreq & (q0 + ( q0 & dack)) q0 or and D

More information

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking Double Header Model Checking #1 Two Lectures Model Checking SoftwareModel Checking SLAM and BLAST Flying Boxes It is traditional to describe this stuff (especially SLAM and BLAST) with high-gloss animation

More information

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct. EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016

More information

Binary Decision Diagrams

Binary Decision Diagrams Binar Decision Diagrams Ma 3, 2004 1 Overview Boolean functions Possible representations Binar decision trees Binar decision diagrams Ordered binar decision diagrams Reduced ordered binar decision diagrams

More information

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna IIT Patna 1 Verification Arijit Mondal Dept. of Computer Science & Engineering Indian Institute of Technology Patna arijit@iitp.ac.in Introduction The goal of verification To ensure 100% correct in functionality

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant in 1986.

More information

Chapter 6: Computation Tree Logic

Chapter 6: Computation Tree Logic Chapter 6: Computation Tree Logic Prof. Ali Movaghar Verification of Reactive Systems Outline We introduce Computation Tree Logic (CTL), a branching temporal logic for specifying system properties. A comparison

More information

Model checking the basic modalities of CTL with Description Logic

Model checking the basic modalities of CTL with Description Logic Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking

More information

Computation Tree Logic

Computation Tree Logic Computation Tree Logic Computation tree logic (CTL) is a branching-time logic that includes the propositional connectives as well as temporal connectives AX, EX, AU, EU, AG, EG, AF, and EF. The syntax

More information

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati NPTEL Phase-II Video course on Design Verification and Test of Digital VLSI Designs Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati Module IV: Temporal Logic Lecture I: Introduction to formal methods

More information

CTL Model checking. 1. finite number of processes, each having a finite number of finite-valued variables. Model-Checking

CTL Model checking. 1. finite number of processes, each having a finite number of finite-valued variables. Model-Checking CTL Model checking Assumptions:. finite number of processes, each having a finite number of finite-valued variables.. finite length of CTL formula Problem:Determine whether formula f 0 is true in a finite

More information

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

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

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

Overview. overview / 357

Overview. overview / 357 Overview overview6.1 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation Tree Logic syntax and semantics of CTL expressiveness of CTL

More information

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

3 Propositional Logic

3 Propositional Logic 3 Propositional Logic 3.1 Syntax 3.2 Semantics 3.3 Equivalence and Normal Forms 3.4 Proof Procedures 3.5 Properties Propositional Logic (25th October 2007) 1 3.1 Syntax Definition 3.0 An alphabet Σ consists

More information

Model Checking Algorithms

Model Checking Algorithms Model Checking Algorithms Bow-Yaw Wang Institute of Information Science Academia Sinica, Taiwan November 14, 2018 Bow-Yaw Wang (Academia Sinica) Model Checking Algorithms November 14, 2018 1 / 56 Outline

More information

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS QUALITATIVE ANALYIS METHODS, OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS LINEAR PROGRAMMING place / transition invariants state equation

More information

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar Model Checking I What are LTL and CTL? and dack q0 or D dreq D q0bar and 1 View circuit as a transition system (dreq, q0, dack) (dreq, q0, dack ) q0 = dreq dack = dreq and (q0 or (not q0 and dack)) q0

More information

Decision Procedures for Satisfiability and Validity in Propositional Logic

Decision Procedures for Satisfiability and Validity in Propositional Logic Decision Procedures for Satisfiability and Validity in Propositional Logic Meghdad Ghari Institute for Research in Fundamental Sciences (IPM) School of Mathematics-Isfahan Branch Logic Group http://math.ipm.ac.ir/isfahan/logic-group.htm

More information

Linear Temporal Logic and Büchi Automata

Linear Temporal Logic and Büchi Automata Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata

More information

PSPACE-completeness of LTL/CTL model checking

PSPACE-completeness of LTL/CTL model checking PSPACE-completeness of LTL/CTL model checking Peter Lohmann April 10, 2007 Abstract This paper will give a proof for the PSPACE-completeness of LTLsatisfiability and for the PSPACE-completeness of the

More information

3-Valued Abstraction-Refinement

3-Valued Abstraction-Refinement 3-Valued Abstraction-Refinement Sharon Shoham Academic College of Tel-Aviv Yaffo 1 Model Checking An efficient procedure that receives: A finite-state model describing a system A temporal logic formula

More information

Decision Procedures for CTL

Decision Procedures for CTL Decision Procedures for CTL Oliver Friedmann 1 Markus Latte 1 1 Dept. of Computer Science, Ludwig-Maximilians-University, Munich, Germany CLoDeM Edinburgh, 15 July 2010 Introduction to CTL Origin: Emerson

More information

Lecture Notes on Software Model Checking

Lecture Notes on Software Model Checking 15-414: Bug Catching: Automated Program Verification Lecture Notes on Software Model Checking Matt Fredrikson André Platzer Carnegie Mellon University Lecture 19 1 Introduction So far we ve focused on

More information

Computation Tree Logic

Computation Tree Logic Computation Tree Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE,

More information

A brief introduction to Logic. (slides from

A brief introduction to Logic. (slides from A brief introduction to Logic (slides from http://www.decision-procedures.org/) 1 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity

More information

Lecture 2: Symbolic Model Checking With SAT

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 information

Computation Tree Logic (CTL)

Computation Tree Logic (CTL) Computation Tree Logic (CTL) 1 CTL Syntax P - a set of atomic propositions, every p P is a CTL formula. f, g, CTL formulae, then so are f, f g, EXf, A[fUg], E[fUg] E, A path quantifiers, X, U, G, F temporal

More information

Computation Tree Logic (CTL)

Computation Tree Logic (CTL) Computation Tree Logic (CTL) Fazle Rabbi University of Oslo, Oslo, Norway Bergen University College, Bergen, Norway fazlr@student.matnat.uio.no, Fazle.Rabbi@hib.no May 30, 2015 Fazle Rabbi et al. (UiO,

More information

Logic in Automatic Verification

Logic in Automatic Verification Logic in Automatic Verification Javier Esparza Sofware Reliability and Security Group Institute for Formal Methods in Computer Science University of Stuttgart Many thanks to Abdelwaheb Ayari, David Basin,

More information

LOGIC PROPOSITIONAL REASONING

LOGIC PROPOSITIONAL REASONING LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1

More information

Propositional and Predicate Logic - VII

Propositional and Predicate Logic - VII Propositional and Predicate Logic - VII Petr Gregor KTIML MFF UK WS 2015/2016 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - VII WS 2015/2016 1 / 11 Theory Validity in a theory A theory

More information

BDD Based Upon Shannon Expansion

BDD Based Upon Shannon Expansion Boolean Function Manipulation OBDD and more BDD Based Upon Shannon Expansion Notations f(x, x 2,, x n ) - n-input function, x i = or f xi=b (x,, x n ) = f(x,,x i-,b,x i+,,x n ), b= or Shannon Expansion

More information

Symmetry Reductions. A. Prasad Sistla University Of Illinois at Chicago

Symmetry Reductions. A. Prasad Sistla University Of Illinois at Chicago Symmetry Reductions. A. Prasad Sistla University Of Illinois at Chicago Model-Checking Concurrent PGM Temporal SPEC Model Checker Yes/No Counter Example Approach Build the global state graph Algorithm

More information

Multi-Valued Symbolic Model-Checking

Multi-Valued Symbolic Model-Checking Multi-Valued Symbolic Model-Checking MARSHA CHECHIK, BENET DEVEREUX, STEVE EASTERBROOK AND ARIE GURFINKEL University of Toronto This paper introduces the concept of multi-valued model-checking and describes

More information

Timo Latvala. February 4, 2004

Timo Latvala. February 4, 2004 Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism

More information

Symbolic Model Checking Property Specification Language*

Symbolic Model Checking Property Specification Language* Symbolic Model Checking Property Specification Language* Ji Wang National Laboratory for Parallel and Distributed Processing National University of Defense Technology *Joint Work with Wanwei Liu, Huowang

More information

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure Outline Temporal Logic Ralf Huuck Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness Model Checking Problem model, program? M φ satisfies, Implements, refines property, specification

More information

Propositional Logic: Evaluating the Formulas

Propositional Logic: Evaluating the Formulas Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere

More information

Formal Methods Lecture VII Symbolic Model Checking

Formal Methods Lecture VII Symbolic Model Checking Formal Methods Lecture VII Symbolic Model Checking Faculty of Computer Science Free University of Bozen-Bolzano artale@inf.unibz.it http://www.inf.unibz.it/ artale/ Academic Year: 2006/07 Some material

More information

CTL satisfability via tableau A C++ implementation

CTL satisfability via tableau A C++ implementation CTL satisfability via tableau A C++ implementation Nicola Prezza April 30, 2015 Outline 1 Introduction 2 Parsing 3 Data structures 4 Initial sets of labels and edges 5 Cull 6 Examples and benchmarks The

More information

Sanjit A. Seshia EECS, UC Berkeley

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

More information

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30) Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural

More information

Model Checking & Program Analysis

Model Checking & Program Analysis Model Checking & Program Analysis Markus Müller-Olm Dortmund University Overview Introduction Model Checking Flow Analysis Some Links between MC and FA Conclusion Apology for not giving proper credit to

More information

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford Probabilistic Model Checking Michaelmas Term 2011 Dr. Dave Parker Department of Computer Science University of Oxford Overview Temporal logic Non-probabilistic temporal logic CTL Probabilistic temporal

More information

Lecturecise 22 Weak monadic second-order theory of one successor (WS1S)

Lecturecise 22 Weak monadic second-order theory of one successor (WS1S) Lecturecise 22 Weak monadic second-order theory of one successor (WS1S) 2013 Reachability in the Heap Many programs manipulate linked data structures (lists, trees). To express many important properties

More information

1 First-order logic. 1 Syntax of first-order logic. 2 Semantics of first-order logic. 3 First-order logic queries. 2 First-order query evaluation

1 First-order logic. 1 Syntax of first-order logic. 2 Semantics of first-order logic. 3 First-order logic queries. 2 First-order query evaluation Knowledge Bases and Databases Part 1: First-Order Queries Diego Calvanese Faculty of Computer Science Master of Science in Computer Science A.Y. 2007/2008 Overview of Part 1: First-order queries 1 First-order

More information

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1 using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

Theory Combination. Clark Barrett. New York University. CS357, Stanford University, Nov 2, p. 1/24

Theory Combination. Clark Barrett. New York University. CS357, Stanford University, Nov 2, p. 1/24 CS357, Stanford University, Nov 2, 2015. p. 1/24 Theory Combination Clark Barrett barrett@cs.nyu.edu New York University CS357, Stanford University, Nov 2, 2015. p. 2/24 Combining Theory Solvers Given

More information

MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN

MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN 1. Introduction These slides are for a talk based on the paper Model-Checking in Dense Real- Time, by Rajeev Alur, Costas Courcoubetis, and David Dill.

More information

Verification Using Temporal Logic

Verification Using Temporal Logic CMSC 630 February 25, 2015 1 Verification Using Temporal Logic Sources: E.M. Clarke, O. Grumberg and D. Peled. Model Checking. MIT Press, Cambridge, 2000. E.A. Emerson. Temporal and Modal Logic. Chapter

More information

Part 1: Propositional Logic

Part 1: Propositional Logic Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax

More information

Tutorial 1: Modern SMT Solvers and Verification

Tutorial 1: Modern SMT Solvers and Verification University of Illinois at Urbana-Champaign Tutorial 1: Modern SMT Solvers and Verification Sayan Mitra Electrical & Computer Engineering Coordinated Science Laboratory University of Illinois at Urbana

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig First-Order Logic First-Order Theories Roopsha Samanta Partly based on slides by Aaron Bradley and Isil Dillig Roadmap Review: propositional logic Syntax and semantics of first-order logic (FOL) Semantic

More information

FAIRNESS FOR INFINITE STATE SYSTEMS

FAIRNESS FOR INFINITE STATE SYSTEMS FAIRNESS FOR INFINITE STATE SYSTEMS Heidy Khlaaf University College London 1 FORMAL VERIFICATION Formal verification is the process of establishing whether a system satisfies some requirements (properties),

More information

Basing Decisions on Sentences in Decision Diagrams

Basing Decisions on Sentences in Decision Diagrams Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence Basing Decisions on Sentences in Decision Diagrams Yexiang Xue Department of Computer Science Cornell University yexiang@cs.cornell.edu

More information

Model Checking. Boris Feigin March 9, University College London

Model Checking. Boris Feigin March 9, University College London b.feigin@cs.ucl.ac.uk University College London March 9, 2005 Outline 1 2 Techniques Symbolic 3 Software 4 Vs. Deductive Verification Summary Further Reading In a nutshell... Model checking is a collection

More information

Finite-State Model Checking

Finite-State Model Checking EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,

More information

Bounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39

Bounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Bounded Model Checking with SAT/SMT Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Recap: Symbolic Model Checking with BDDs Method used by most industrial strength model checkers:

More information

An Introduction to Temporal Logics

An Introduction to Temporal Logics An Introduction to Temporal Logics c 2001,2004 M. Lawford Outline Motivation: Dining Philosophers Safety, Liveness, Fairness & Justice Kripke structures, LTS, SELTS, and Paths Linear Temporal Logic Branching

More information

Modal and Temporal Logics

Modal and Temporal Logics Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics

More information

Linear-Time Logic. Hao Zheng

Linear-Time Logic. Hao Zheng Linear-Time Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE, USF)

More information

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia Università degli studi di Udine Corso per il dottorato di ricerca: Temporal Logics: Satisfiability Checking, Model Checking, and Synthesis January 2017 Lecture 01, Part 02: Temporal Logics Guest lecturer:

More information

Models. Lecture 25: Model Checking. Example. Semantics. Meanings with respect to model and path through future...

Models. Lecture 25: Model Checking. Example. Semantics. Meanings with respect to model and path through future... Models Lecture 25: Model Checking CSCI 81 Spring, 2012 Kim Bruce Meanings with respect to model and path through future... M = (S,, L) is a transition system if S is a set of states is a transition relation

More information

A brief history of model checking. Ken McMillan Cadence Berkeley Labs

A brief history of model checking. Ken McMillan Cadence Berkeley Labs A brief history of model checking Ken McMillan Cadence Berkeley Labs mcmillan@cadence.com Outline Part I -- Introduction to model checking Automatic formal verification of finite-state systems Applications

More information

SMV the Symbolic Model Verifier. Example: the alternating bit protocol. LTL Linear Time temporal Logic

SMV the Symbolic Model Verifier. Example: the alternating bit protocol. LTL Linear Time temporal Logic Model Checking (I) SMV the Symbolic Model Verifier Example: the alternating bit protocol LTL Linear Time temporal Logic CTL Fixed Points Correctness Slide 1 SMV - Symbolic Model Verifier SMV - Symbolic

More information

The algorithmic analysis of hybrid system

The algorithmic analysis of hybrid system The algorithmic analysis of hybrid system Authors: R.Alur, C. Courcoubetis etc. Course teacher: Prof. Ugo Buy Xin Li, Huiyong Xiao Nov. 13, 2002 Summary What s a hybrid system? Definition of Hybrid Automaton

More information

Towards Algorithmic Synthesis of Synchronization for Shared-Memory Concurrent Programs

Towards Algorithmic Synthesis of Synchronization for Shared-Memory Concurrent Programs Towards Algorithmic Synthesis of Synchronization for Shared-Memory Concurrent Programs Roopsha Samanta The University of Texas at Austin July 6, 2012 Roopsha Samanta Algorithmic Synthesis of Synchronization

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

Propositional and Predicate Logic - V

Propositional and Predicate Logic - V Propositional and Predicate Logic - V Petr Gregor KTIML MFF UK WS 2016/2017 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - V WS 2016/2017 1 / 21 Formal proof systems Hilbert s calculus

More information

Summary. Computation Tree logic Vs. LTL. CTL at a glance. KM,s =! iff for every path " starting at s KM," =! COMPUTATION TREE LOGIC (CTL)

Summary. Computation Tree logic Vs. LTL. CTL at a glance. KM,s =! iff for every path  starting at s KM, =! COMPUTATION TREE LOGIC (CTL) Summary COMPUTATION TREE LOGIC (CTL) Slides by Alessandro Artale http://www.inf.unibz.it/ artale/ Some material (text, figures) displayed in these slides is courtesy of: M. Benerecetti, A. Cimatti, M.

More information

Algorithms for Model Checking (2IW55)

Algorithms for Model Checking (2IW55) Algorithms for Model Checking (2IW55) Lecture 2 Fairness & Basic Model Checking Algorithm for CTL and fair CTL based on strongly connected components Chapter 4.1, 4.2 + SIAM Journal of Computing 1(2),

More information

Propositional and Predicate Logic - II

Propositional and Predicate Logic - II Propositional and Predicate Logic - II Petr Gregor KTIML MFF UK WS 2016/2017 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - II WS 2016/2017 1 / 16 Basic syntax Language Propositional logic

More information

A New 3-CNF Transformation by Parallel-Serial Graphs 1

A New 3-CNF Transformation by Parallel-Serial Graphs 1 A New 3-CNF Transformation by Parallel-Serial Graphs 1 Uwe Bubeck, Hans Kleine Büning University of Paderborn, Computer Science Institute, 33098 Paderborn, Germany Abstract For propositional formulas we

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. Overview Part 1 Gate

More information