Automata-based Verification - III

Size: px
Start display at page:

Download "Automata-based Verification - III"

Transcription

1 COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: howard.barringer@manchester.ac.uk March 2009

2 Third Topic Infinite Word Automata Motivation Büchi Automata BA Operations Infinite Word Model Checking Where next

3 Outline Infinite Word Automata Motivation Büchi Automata BA Operations Infinite Word Model Checking Where next

4 Motivation We defined a Kripke structure as representing infinite runs of a given concurrent program Temporal logic formulas may also relate to infinite sequences We must extend the finite word model checking to handle infinite words We use infinite word automata, usually a generalised form of Büchi automaton

5 Outline Infinite Word Automata Motivation Büchi Automata BA Operations Infinite Word Model Checking Where next

6 About Infinite Word Automata An infinite word automaton has similar structure to a finite word automaton There is still a finite set of states A different method is required to determine acceptable (infinite) runs Hence, we change the notion of final state set to be a set of accepting states

7 More formally... A Büchi automaton is a structure BA = (S, Σ, T, S 0, A) where S is a set of states Σ is an alphabet T is a labelled transition relation, (S Σ S) S 0 is a distinguished set of initial states, S A is a distinguished set of accepting states, S

8 The language of a Büchi Automaton A infinite word w over an alphabet Σ is a infinite sequence of symbols of Σ, i.e. w Σ ω.

9 The language of a Büchi Automaton A infinite word w over an alphabet Σ is a infinite sequence of symbols of Σ, i.e. w Σ ω. A run r of a Büchi automaton BA = (S, Σ, T, S 0, A) on infinite word w is a sequence of states r = s 0 s 1 s 2... such that (s i, w i, s i+1 ) T for all i N}.

10 The language of a Büchi Automaton A infinite word w over an alphabet Σ is a infinite sequence of symbols of Σ, i.e. w Σ ω. A run r of a Büchi automaton BA = (S, Σ, T, S 0, A) on infinite word w is a sequence of states r = s 0 s 1 s 2... such that (s i, w i, s i+1 ) T for all i N}. Let inf (r) denote the subset of states S that occur infinitely in r.

11 The language of a Büchi Automaton A infinite word w over an alphabet Σ is a infinite sequence of symbols of Σ, i.e. w Σ ω. A run r of a Büchi automaton BA = (S, Σ, T, S 0, A) on infinite word w is a sequence of states r = s 0 s 1 s 2... such that (s i, w i, s i+1 ) T for all i N}. Let inf (r) denote the subset of states S that occur infinitely in r. An infinite word w is accepted by a Büchi automaton BA if there is a run r on w and s 0 S 0 and inf (r) A {}.

12 The language of a Büchi Automaton A infinite word w over an alphabet Σ is a infinite sequence of symbols of Σ, i.e. w Σ ω. A run r of a Büchi automaton BA = (S, Σ, T, S 0, A) on infinite word w is a sequence of states r = s 0 s 1 s 2... such that (s i, w i, s i+1 ) T for all i N}. Let inf (r) denote the subset of states S that occur infinitely in r. An infinite word w is accepted by a Büchi automaton BA if there is a run r on w and s 0 S 0 and inf (r) A {}. The language L of an Büchi automaton BA = (S, Σ, T, S 0, A) is the subset of infinite words w over Σ accepted by BA.

13 Examples Consider the Büchi automaton over alphabet Σ = {p, q}, with S = {s 0, s 1 }, S 0 = {s 0 } and A = {s 1 }.

14 Examples Consider the Büchi automaton over alphabet Σ = {p, q}, with S = {s 0, s 1 }, S 0 = {s 0 } and A = {s 1 }. Give some examples of (infinite) words that it accepts.

15 Examples Consider the Büchi automaton over alphabet Σ = {p, q}, with S = {s 0, s 1 }, S 0 = {s 0 } and A = {s 1 }. Give some examples of (infinite) words that it accepts. Give some examples of words that it does not accept.

16 More examples Assume Σ is 2 AP, i.e. elements of Σ are subsets of propositions. The set of transitions is: (s 0, {}, s 0), (s 0, {in 1}, s 0), (s 0, {in 2}, s 0), (s 0, {in 1, in 2}, s 1), (s 1, {}, s 1), (s 1, {in 1}, s 1), (s 1, {in 2}, s 1), (s 1, {in 1, in 2}, s 1) More conveniently, we can use propositional formulas as labels: (s 0, (in 1 in 2), s 0), (s 0, in 1 in 2, s 1), (s 1, true, s 1) This BA represents precisely the set of (infinite) paths for: Always (in 1 in 2 )

17 A Liveness Property Consider a Büchi automaton corresponding to the linear temporal logic formula Always Sometime p over the proposition alphabet AP = {p, q} Draw a suitable automaton structure.

18 Outline Infinite Word Automata Motivation Büchi Automata BA Operations Infinite Word Model Checking Where next

19 Set-theoretic operations on BA Büchi automata define the class of ω-regular languages, e.g. those representable as ω-regular expressions αβ ω where α and β denote regular expressions. Büchi automata are closed under intersection and complement. In particular, given languages L M say representing the execution paths of a program or model, and L S representing the allowable, i.e. specified, paths, we will want to determine whether L M L S, i.e. whether L M L S = {}

20 Set-theoretic operations on BA Büchi automata define the class of ω-regular languages, e.g. those representable as ω-regular expressions αβ ω where α and β denote regular expressions. Büchi automata are closed under intersection and complement. In particular, given languages L M say representing the execution paths of a program or model, and L S representing the allowable, i.e. specified, paths, we will want to determine whether L M L S, i.e. whether L M L S = {} What are the corresponding operations on Büchi automata?

21 Checking for emptiness A Büchi automaton BA = (S, Σ, T, S 0, A) accepts the empty language if there is no word w Σ ω accepted by BA. Must determine that there is NO infinite path from an initial state that visits an accepting state infinitely?

22 About Infinite Paths in Graphs An infinite path through a graph will eventually be trapped in a strongly connected component of the graph.

23 About Infinite Paths in Graphs An infinite path through a graph will eventually be trapped in a strongly connected component of the graph. There is one terminal strongly connected component.

24 About Infinite Paths in Graphs An infinite path through a graph will eventually be trapped in a strongly connected component of the graph. There is one terminal strongly connected component. There are two maximal strongly connected components.

25 The emptiness check on Büchi automata Given a Büchi automaton BA = (S, Σ, T, S 0, A), compute its set of reachable strongly connected components, SCCs. For each strongly connected component C of SCCs, check if the intersection of the states of C with A is empty. If there is no strong component containing an accepting state, the Büchi is empty. The reachable SCCs can be computed in time of order S + T using Tarjan s Depth First Search algorithm (see DER notes).

26 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

27 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

28 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

29 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

30 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

31 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

32 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

33 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

34 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

35 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

36 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

37 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

38 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

39 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

40 Or tailor a double DFS search Use two depth first searches. When an accepting state is reached and its successors visited, start a new dfs search from the accepting state to determine whether it is in a cycle, i.e. it is reachable from itself.

41 Double Depth First Search outline void isempty() { forall initial states s { firstdfs(s) } terminate with false; } void firstdfs(state s) { add s to visited store and mark on 1st search; forall successors s of s if (s not visited) firstdfs(s ); if (s is an accepting state) seconddfs(s); mark s as not on 1st search; } void seconddfs(state s) { mark s as visited on 2nd search; forall successors s of s if (s on stack of 1st search) terminate with true; else if (s not on path of 2nd search) seconddfs(s ); remove 2nd search mark for s; }

42 Building a Product of Büchi automata Given BA 1 = (S 1, Σ, T 1, S 01, A 1 ) and BA 2 = (S 2, Σ, T 2, S 02, A 2 ) How do we construct BA 3 such that L(BA 3 ) = L(BA 1 ) L(BA 2 )? Build a product automaton BA 3 where: S 3 = S 1 S 2 {0, 1, 2} Σ 3 = Σ T 3 = {((s 1, s 2, x), α, (t 1, t 2, y)) (s 1, α, t 1 ) T 1 and (s 2, α, t 2 ) T 2 and condition} S 03 = S 01 S 02 {0} A 3 = S 1 S 2 {2} where condition is if t 1 A 1 x == 0 then y == 1 if t 2 A 2 x == 1 then y == 2 if x = 2 then y == 0 otherwise x == y

43 Product some explanation The product definition is more complex than before because of the different acceptance condition. The product of the two acceptance sets is no longer sufficient the individual component acceptance states may be visited at different time. The state markers, 0, 1, and 2, keep track of the individual component acceptance. 1. marker 0 indicates that no accepting state has been visited 2. marker 1 means that an accepting state of the first component has been visited 3. marker 2 means that accepting states from both components have been visited

44 Product Example Consider the product of the two Büchi automata below. The first defines (p q) ω, the second is (p q) ω. There are 6 possible states in the product BA: (s, t 0, 0) (s, t 0, 1) (s, t 0, 2) (s, t 1, 0) (s, t 1, 1) (s, t 1, 2) The initial state set is {(s, t 0, 0)} The acceptance state set is {(s, t 0, 2), (s, t 1, 2)} The transitions...

45 And the composition is...

46 Complementation of Büchi Automata Büchi automata are closed under complementation

47 Complementation of Büchi Automata Büchi automata are closed under complementation The complement construction is difficult and of high complexity

48 Complementation of Büchi Automata Büchi automata are closed under complementation The complement construction is difficult and of high complexity Most well-known solution is Safra s construction but this is beyond what we can consider here

49 Complementation of Büchi Automata Büchi automata are closed under complementation The complement construction is difficult and of high complexity Most well-known solution is Safra s construction but this is beyond what we can consider here And it is far far better to avoid it, how?

50 Complementation of Büchi Automata Büchi automata are closed under complementation The complement construction is difficult and of high complexity Most well-known solution is Safra s construction but this is beyond what we can consider here And it is far far better to avoid it, how? As we most often build a Büchi automaton from a temporal formula, we can complement the formula very easily before constructing the automaton.

51 Outline Infinite Word Automata Motivation Büchi Automata BA Operations Infinite Word Model Checking Where next

52 From Kripke Structures to BA To apply the above automata methods to model checking, must construct a BA corresponding to a Kripke structure K such that: {w σ paths(k). i {0.. σ 1}.I (σ i ) = w i } = L(FA)

53 From Kripke Structures to BA To apply the above automata methods to model checking, must construct a BA corresponding to a Kripke structure K such that: {w σ paths(k). i {0.. σ 1}.I (σ i ) = w i } = L(FA) The alphabet Σ is taken as 2 AP where AP are the atomic propositions of the Kripke structure.

54 From Kripke Structures to BA To apply the above automata methods to model checking, must construct a BA corresponding to a Kripke structure K such that: {w σ paths(k). i {0.. σ 1}.I (σ i ) = w i } = L(FA) The alphabet Σ is taken as 2 AP where AP are the atomic propositions of the Kripke structure. The state-transition structure of the automaton is obtained by prefixing that of the Kripke structure with a new (single) initial state, which is connected to all previous initial states.

55 From Kripke Structures to BA To apply the above automata methods to model checking, must construct a BA corresponding to a Kripke structure K such that: {w σ paths(k). i {0.. σ 1}.I (σ i ) = w i } = L(FA) The alphabet Σ is taken as 2 AP where AP are the atomic propositions of the Kripke structure. The state-transition structure of the automaton is obtained by prefixing that of the Kripke structure with a new (single) initial state, which is connected to all previous initial states. The labelling of each state s is then attached to each of s s incoming transitions.

56 From Kripke Structures to BA To apply the above automata methods to model checking, must construct a BA corresponding to a Kripke structure K such that: {w σ paths(k). i {0.. σ 1}.I (σ i ) = w i } = L(FA) The alphabet Σ is taken as 2 AP where AP are the atomic propositions of the Kripke structure. The state-transition structure of the automaton is obtained by prefixing that of the Kripke structure with a new (single) initial state, which is connected to all previous initial states. The labelling of each state s is then attached to each of s s incoming transitions. We make all states of the automaton accepting ones.

57 As an example... For example:

58 Model Checking linear temporal logic properties And now you have the ingredients to model check (linear) temporal logic properties of concurrent programs! 1. build a Kripke structure corresponding to the concurrent program

59 Model Checking linear temporal logic properties And now you have the ingredients to model check (linear) temporal logic properties of concurrent programs! 1. build a Kripke structure corresponding to the concurrent program 2. and convert to an infinite word automaton the program automaton

60 Model Checking linear temporal logic properties And now you have the ingredients to model check (linear) temporal logic properties of concurrent programs! 1. build a Kripke structure corresponding to the concurrent program 2. and convert to an infinite word automaton the program automaton 3. construct a Büchi automaton corresponding to the negation of the desired property

61 Model Checking linear temporal logic properties And now you have the ingredients to model check (linear) temporal logic properties of concurrent programs! 1. build a Kripke structure corresponding to the concurrent program 2. and convert to an infinite word automaton the program automaton 3. construct a Büchi automaton corresponding to the negation of the desired property 4. build the product of the program automaton with the complemented property automaton

62 Model Checking linear temporal logic properties And now you have the ingredients to model check (linear) temporal logic properties of concurrent programs! 1. build a Kripke structure corresponding to the concurrent program 2. and convert to an infinite word automaton the program automaton 3. construct a Büchi automaton corresponding to the negation of the desired property 4. build the product of the program automaton with the complemented property automaton 5. if the product is empty, property holds for all program behaviours

63 Model Checking linear temporal logic properties And now you have the ingredients to model check (linear) temporal logic properties of concurrent programs! 1. build a Kripke structure corresponding to the concurrent program 2. and convert to an infinite word automaton the program automaton 3. construct a Büchi automaton corresponding to the negation of the desired property 4. build the product of the program automaton with the complemented property automaton 5. if the product is empty, property holds for all program behaviours 6. if the product is non-empty, it provides a counterexample

64 Outline Infinite Word Automata Motivation Büchi Automata BA Operations Infinite Word Model Checking Where next

65 Summary... We have given a little insight into a SERIOUS application of graph algorithms Model checking technology has truly proved itself over the past 15 years Major advances on the basic automata-theoretic approaches have been made These include: extension to tree-automata for branching time logics development of symbolic encodings, e.g. Ordered Binary Decision Diagrams, to represent transition systems and automata various attacks to attack the combinatorial state space explosion

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

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

Introduction. Büchi Automata and Model Checking. Outline. Büchi Automata. The simplest computation model for infinite behaviors is the

Introduction. Büchi Automata and Model Checking. Outline. Büchi Automata. The simplest computation model for infinite behaviors is the Introduction Büchi Automata and Model Checking Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 The simplest computation model for finite behaviors is the finite

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

Automata-Theoretic LTL Model-Checking

Automata-Theoretic LTL Model-Checking Automata-Theoretic LTL Model-Checking Arie Gurfinkel arie@cmu.edu SEI/CMU Automata-Theoretic LTL Model-Checking p.1 LTL - Linear Time Logic (Pn 77) Determines Patterns on Infinite Traces Atomic Propositions

More information

Timo Latvala. March 7, 2004

Timo Latvala. March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness Timo Latvala March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness 14-1 Safety Safety properties are a very useful subclass of specifications.

More information

Automata, Logic and Games: Theory and Application

Automata, Logic and Games: Theory and Application Automata, Logic and Games: Theory and Application 1. Büchi Automata and S1S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong Büchi Automata & S1S 14-19 June

More information

Automata on Infinite words and LTL Model Checking

Automata on Infinite words and LTL Model Checking Automata on Infinite words and LTL Model Checking Rodica Condurache Lecture 4 Lecture 4 Automata on Infinite words and LTL Model Checking 1 / 35 Labeled Transition Systems Let AP be the (finite) set of

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment

More information

Lecture Notes on Emptiness Checking, LTL Büchi Automata

Lecture Notes on Emptiness Checking, LTL Büchi Automata 15-414: Bug Catching: Automated Program Verification Lecture Notes on Emptiness Checking, LTL Büchi Automata Matt Fredrikson André Platzer Carnegie Mellon University Lecture 18 1 Introduction We ve seen

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

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

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

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

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

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

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

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

Tecniche di Specifica e di Verifica. Automata-based LTL Model-Checking

Tecniche di Specifica e di Verifica. Automata-based LTL Model-Checking Tecniche di Specifica e di Verifica Automata-based LTL Model-Checking Finite state automata A finite state automaton is a tuple A = (S,S,S 0,R,F) S: set of input symbols S: set of states -- S 0 : set of

More information

Büchi Automata and Linear Temporal Logic

Büchi Automata and Linear Temporal Logic Büchi Automata and Linear Temporal Logic Joshua D. Guttman Worcester Polytechnic Institute 18 February 2010 Guttman ( WPI ) Büchi & LTL 18 Feb 10 1 / 10 Büchi Automata Definition A Büchi automaton is a

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

Tecniche di Specifica e di Verifica. Automata-based LTL Model-Checking

Tecniche di Specifica e di Verifica. Automata-based LTL Model-Checking Tecniche di Specifica e di Verifica Automata-based LTL Model-Checking Finite state automata A finite state automaton is a tuple A = (Σ,S,S 0,R,F) Σ: set of input symbols S: set of states -- S 0 : set of

More information

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,

More information

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 66 Espoo 2000 HUT-TCS-A66

More information

Component-wise Incremental LTL Model Checking

Component-wise Incremental LTL Model Checking Component-wise Incremental LTL Model Checking Vince Molnár 1, András Vörös 1, Dániel Darvas 1, Tamás Bartha 2 and István Majzik 1 1 Department of Measurement and Information Systems, Budapest University

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

Advanced Automata Theory 7 Automatic Functions

Advanced Automata Theory 7 Automatic Functions Advanced Automata Theory 7 Automatic Functions Frank Stephan Department of Computer Science Department of Mathematics National University of Singapore fstephan@comp.nus.edu.sg Advanced Automata Theory

More information

Weak Alternating Automata Are Not That Weak

Weak Alternating Automata Are Not That Weak Weak Alternating Automata Are Not That Weak Orna Kupferman Hebrew University Moshe Y. Vardi Rice University Abstract Automata on infinite words are used for specification and verification of nonterminating

More information

Büchi Automata and their closure properties. - Ajith S and Ankit Kumar

Büchi Automata and their closure properties. - Ajith S and Ankit Kumar Büchi Automata and their closure properties - Ajith S and Ankit Kumar Motivation Conventional programs accept input, compute, output result, then terminate Reactive program : not expected to terminate

More information

ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:

ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: ω-automata ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: in verification, as encodings of non-terminating executions of a program. in arithmetic,

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

Automata Theory and Model Checking

Automata Theory and Model Checking Automata Theory and Model Checking Orna Kupferman Abstract We study automata on infinite words and their applications in system specification and verification. We first introduce Büchi automata and survey

More information

Lecture 2 Automata Theory

Lecture 2 Automata Theory Lecture 2 Automata Theory Ufuk Topcu Nok Wongpiromsarn Richard M. Murray Outline: Transition systems Linear-time properties Regular propereties EECI, 14 May 2012 This short-course is on this picture applied

More information

Chapter 3: Linear temporal logic

Chapter 3: Linear temporal logic INFOF412 Formal verification of computer systems Chapter 3: Linear temporal logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 LTL: a specification

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

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

Algorithmic verification

Algorithmic verification Algorithmic verification Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2018 Outline Overview Model checking Symbolic execution Outline Overview Model checking Symbolic execution Program verification

More information

Lecture 2 Automata Theory

Lecture 2 Automata Theory Lecture 2 Automata Theory Ufuk Topcu Nok Wongpiromsarn Richard M. Murray EECI, 18 March 2013 Outline Modeling (discrete) concurrent systems: transition systems, concurrency and interleaving Linear-time

More information

Finite Universes. L is a fixed-length language if it has length n for some

Finite Universes. L is a fixed-length language if it has length n for some Finite Universes Finite Universes When the universe is finite (e.g., the interval 0, 2 1 ), all objects can be encoded by words of the same length. A language L has length n 0 if L =, or every word of

More information

Course Runtime Verification

Course Runtime Verification Course Martin Leucker (ISP) Volker Stolz (Høgskolen i Bergen, NO) INF5140 / V17 Chapters of the Course Chapter 1 Recall in More Depth Chapter 2 Specification Languages on Words Chapter 3 LTL on Finite

More information

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the Sérgio Campos, Edmund Why? Advantages: No proofs Fast Counter-examples No problem with partial specifications can easily express many concurrency properties Main Disadvantage: State Explosion Problem Too

More information

Automata Theory for Presburger Arithmetic Logic

Automata Theory for Presburger Arithmetic Logic Automata Theory for Presburger Arithmetic Logic References from Introduction to Automata Theory, Languages & Computation and Constraints in Computational Logic Theory & Application Presented by Masood

More information

CDS 270 (Fall 09) - Lecture Notes for Assignment 8.

CDS 270 (Fall 09) - Lecture Notes for Assignment 8. CDS 270 (Fall 09) - Lecture Notes for Assignment 8. ecause this part of the course has no slides or textbook, we will provide lecture supplements that include, hopefully, enough discussion to complete

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Rabin Theory and Game Automata An Introduction

Rabin Theory and Game Automata An Introduction Rabin Theory and Game Automata An Introduction Ting Zhang Stanford University November 2002 Logic Seminar 1 Outline 1. Monadic second-order theory of two successors (S2S) 2. Rabin Automata 3. Game Automata

More information

Methods for Software Verification. Andrea Corradini Gian Luigi Ferrari. Second Semester 6 CFU

Methods for Software Verification. Andrea Corradini Gian Luigi Ferrari. Second Semester 6 CFU Methods for Software Verification Andrea Corradini Gian Luigi Ferrari Second Semester 6 CFU. The importance of Software Correctness Increasing integration of ICT in different applications: Embedded systems

More information

Alternating Time Temporal Logics*

Alternating Time Temporal Logics* Alternating Time Temporal Logics* Sophie Pinchinat Visiting Research Fellow at RSISE Marie Curie Outgoing International Fellowship * @article{alur2002, title={alternating-time Temporal Logic}, author={alur,

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

Partially Ordered Two-way Büchi Automata

Partially Ordered Two-way Büchi Automata Partially Ordered Two-way Büchi Automata Manfred Kufleitner Alexander Lauser FMI, Universität Stuttgart, Germany {kufleitner, lauser}@fmi.uni-stuttgart.de June 14, 2010 Abstract We introduce partially

More information

First-order resolution for CTL

First-order resolution for CTL First-order resolution for Lan Zhang, Ullrich Hustadt and Clare Dixon Department of Computer Science, University of Liverpool Liverpool, L69 3BX, UK {Lan.Zhang, U.Hustadt, CLDixon}@liverpool.ac.uk Abstract

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

Monadic Second Order Logic and Automata on Infinite Words: Büchi s Theorem

Monadic Second Order Logic and Automata on Infinite Words: Büchi s Theorem Monadic Second Order Logic and Automata on Infinite Words: Büchi s Theorem R. Dustin Wehr December 18, 2007 Büchi s theorem establishes the equivalence of the satisfiability relation for monadic second-order

More information

Closure Properties of Regular Languages. Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism

Closure Properties of Regular Languages. Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism Closure Properties of Regular Languages Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism Closure Properties Recall a closure property is a statement

More information

From Liveness to Promptness

From Liveness to Promptness From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every

More information

Finite State Machines 2

Finite State Machines 2 Finite State Machines 2 Joseph Spring School of Computer Science 1COM0044 Foundations of Computation 1 Discussion Points In the last lecture we looked at: 1. Abstract Machines 2. Finite State Machines

More information

Chapter 0 Introduction. Fourth Academic Year/ Elective Course Electrical Engineering Department College of Engineering University of Salahaddin

Chapter 0 Introduction. Fourth Academic Year/ Elective Course Electrical Engineering Department College of Engineering University of Salahaddin Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College of Engineering University of Salahaddin October 2014 Automata Theory 2 of 22 Automata theory deals

More information

LTL is Closed Under Topological Closure

LTL is Closed Under Topological Closure LTL is Closed Under Topological Closure Grgur Petric Maretić, Mohammad Torabi Dashti, David Basin Department of Computer Science, ETH Universitätstrasse 6 Zürich, Switzerland Abstract We constructively

More information

On the coinductive nature of centralizers

On the coinductive nature of centralizers On the coinductive nature of centralizers Charles Grellois INRIA & University of Bologna Séminaire du LIFO Jan 16, 2017 Charles Grellois (INRIA & Bologna) On the coinductive nature of centralizers Jan

More information

MODEL CHECKING TIMED SAFETY INSTRUMENTED SYSTEMS

MODEL CHECKING TIMED SAFETY INSTRUMENTED SYSTEMS TKK Reports in Information and Computer Science Espoo 2008 TKK-ICS-R3 MODEL CHECKING TIMED SAFETY INSTRUMENTED SYSTEMS Jussi Lahtinen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF

More information

Automata, Logic and Games: Theory and Application

Automata, Logic and Games: Theory and Application Automata, Logic and Games: Theory and Application 2 Parity Games, Tree Automata, and S2S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong S2S 14-19 June

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

Models for Efficient Timed Verification

Models for Efficient Timed Verification Models for Efficient Timed Verification François Laroussinie LSV / ENS de Cachan CNRS UMR 8643 Monterey Workshop - Composition of embedded systems Model checking System Properties Formalizing step? ϕ Model

More information

Chapter 5: Linear Temporal Logic

Chapter 5: Linear Temporal Logic Chapter 5: Linear Temporal Logic Prof. Ali Movaghar Verification of Reactive Systems Spring 94 Outline We introduce linear temporal logic (LTL), a logical formalism that is suited for specifying LT properties.

More information

The theory of regular cost functions.

The theory of regular cost functions. The theory of regular cost functions. Denis Kuperberg PhD under supervision of Thomas Colcombet Hebrew University of Jerusalem ERC Workshop on Quantitative Formal Methods Jerusalem, 10-05-2013 1 / 30 Introduction

More information

2. Elements of the Theory of Computation, Lewis and Papadimitrou,

2. Elements of the Theory of Computation, Lewis and Papadimitrou, Introduction Finite Automata DFA, regular languages Nondeterminism, NFA, subset construction Regular Epressions Synta, Semantics Relationship to regular languages Properties of regular languages Pumping

More information

Embedded systems specification and design

Embedded systems specification and design Embedded systems specification and design David Kendall David Kendall Embedded systems specification and design 1 / 21 Introduction Finite state machines (FSM) FSMs and Labelled Transition Systems FSMs

More information

Linear-time Temporal Logic

Linear-time Temporal Logic Linear-time Temporal Logic Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2015/2016 P. Cabalar ( Department Linear oftemporal Computer Logic Science University

More information

Model Checking of Safety Properties

Model Checking of Safety Properties Model Checking of Safety Properties Orna Kupferman Hebrew University Moshe Y. Vardi Rice University October 15, 2010 Abstract Of special interest in formal verification are safety properties, which assert

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

Unifying Büchi Complementation Constructions

Unifying Büchi Complementation Constructions Unifying Büchi Complementation Constructions Seth Fogarty, Orna Kupferman 2, Moshe Y. Vardi, and Thomas Wilke 3 Department of Computer Science, Rice University 2 School of Computer Science and Engineering,

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

Describing Homing and Distinguishing Sequences for Nondeterministic Finite State Machines via Synchronizing Automata

Describing Homing and Distinguishing Sequences for Nondeterministic Finite State Machines via Synchronizing Automata Describing Homing and Distinguishing Sequences for Nondeterministic Finite State Machines via Synchronizing Automata Natalia Kushik and Nina Yevtushenko Tomsk State University, Russia 2 Motivation Relies

More information

Learning to Verify Branching Time Properties

Learning to Verify Branching Time Properties Learning to Verify Branching Time Properties Abhay Vardhan and Mahesh Viswanathan Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign, USA Abstract. We present a new model checking algorithm

More information

Theory of Computation

Theory of Computation Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 3: Finite State Automata Motivation In the previous lecture we learned how to formalize

More information

Theoretical Foundations of the UML

Theoretical Foundations of the UML Theoretical Foundations of the UML Lecture 17+18: A Logic for MSCs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ws-1718/fuml/ 5.

More information

Automatic Verification of Parameterized Data Structures

Automatic Verification of Parameterized Data Structures Automatic Verification of Parameterized Data Structures Jyotirmoy V. Deshmukh, E. Allen Emerson and Prateek Gupta The University of Texas at Austin The University of Texas at Austin 1 Outline Motivation

More information

On simulations and bisimulations of general flow systems

On simulations and bisimulations of general flow systems On simulations and bisimulations of general flow systems Jen Davoren Department of Electrical & Electronic Engineering The University of Melbourne, AUSTRALIA and Paulo Tabuada Department of Electrical

More information

Logic and Automata I. Wolfgang Thomas. EATCS School, Telc, July 2014

Logic and Automata I. Wolfgang Thomas. EATCS School, Telc, July 2014 Logic and Automata I EATCS School, Telc, July 2014 The Plan We present automata theory as a tool to make logic effective. Four parts: 1. Some history 2. Automata on infinite words First step: MSO-logic

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

On the Accepting Power of 2-Tape Büchi Automata

On the Accepting Power of 2-Tape Büchi Automata On the Accepting Power of 2-Tape Büchi Automata Equipe de Logique Mathématique Université Paris 7 STACS 2006 Acceptance of infinite words In the sixties, Acceptance of infinite words by finite automata

More information

CHURCH SYNTHESIS PROBLEM and GAMES

CHURCH SYNTHESIS PROBLEM and GAMES p. 1/? CHURCH SYNTHESIS PROBLEM and GAMES Alexander Rabinovich Tel-Aviv University, Israel http://www.tau.ac.il/ rabinoa p. 2/? Plan of the Course 1. The Church problem - logic and automata. 2. Games -

More information

Automata-Theoretic Verification

Automata-Theoretic Verification Automata-Theoretic Verification Javier Esparza TU München Orna Kupferman The Hebrew University Moshe Y. Vardi Rice University 1 Introduction This chapter describes the automata-theoretic approach to the

More information

1. Draw a parse tree for the following derivation: S C A C C A b b b b A b b b b B b b b b a A a a b b b b a b a a b b 2. Show on your parse tree u,

1. Draw a parse tree for the following derivation: S C A C C A b b b b A b b b b B b b b b a A a a b b b b a b a a b b 2. Show on your parse tree u, 1. Draw a parse tree for the following derivation: S C A C C A b b b b A b b b b B b b b b a A a a b b b b a b a a b b 2. Show on your parse tree u, v, x, y, z as per the pumping theorem. 3. Prove that

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

Finite Automata. Mahesh Viswanathan

Finite Automata. Mahesh Viswanathan Finite Automata Mahesh Viswanathan In this lecture, we will consider different models of finite state machines and study their relative power. These notes assume that the reader is familiar with DFAs,

More information

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 83

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 83 Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 83 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 83 Espoo 2003 HUT-TCS-A83

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

Decision, Computation and Language

Decision, Computation and Language Decision, Computation and Language Non-Deterministic Finite Automata (NFA) Dr. Muhammad S Khan (mskhan@liv.ac.uk) Ashton Building, Room G22 http://www.csc.liv.ac.uk/~khan/comp218 Finite State Automata

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

SETH FOGARTY AND MOSHE Y. VARDI

SETH FOGARTY AND MOSHE Y. VARDI BÜCHI COMPLEMENTATION AND SIZE-CHANGE TERMINATION SETH FOGARTY AND MOSHE Y. VARDI Department of Computer Science, Rice University, Houston, TX e-mail address: sfogarty@gmail.com Department of Computer

More information

Büchi Automata and Their Determinization

Büchi Automata and Their Determinization Büchi Automata and Their Determinization Edinburgh, October 215 Plan of the Day 1. Büchi automata and their determinization 2. Infinite games 3. Rabin s Tree Theorem 4. Decidability of monadic theories

More information

A Hierarchy for Accellera s Property Specification Language

A Hierarchy for Accellera s Property Specification Language A Hierarchy for Accellera s Property Specification Language Thomas Türk May 1st, 2005 Diploma Thesis University of Kaiserslautern Supervisor: Prof. Dr. Klaus Schneider Vorliegende Diplomarbeit wurde von

More information

Representing Arithmetic Constraints with Finite Automata: An Overview

Representing Arithmetic Constraints with Finite Automata: An Overview Representing Arithmetic Constraints with Finite Automata: An Overview Bernard Boigelot Pierre Wolper Université de Liège Motivation Linear numerical constraints are a very common and useful formalism (our

More information

Decidability of WS1S and S1S (An Exposition) Exposition by William Gasarch-U of MD

Decidability of WS1S and S1S (An Exposition) Exposition by William Gasarch-U of MD 1 Introduction Decidability of WS1S and S1S (An Exposition) Exposition by William Gasarch-U of MD We are going to prove that a (small) fragment of mathematics is decidable. 1. A Formula allows variables

More information

Theory of Computation

Theory of Computation Theory of Computation (Feodor F. Dragan) Department of Computer Science Kent State University Spring, 2018 Theory of Computation, Feodor F. Dragan, Kent State University 1 Before we go into details, what

More information

Testing with model checkers: A survey

Testing with model checkers: A survey COMPETENCE NETWORK SOFTNET AUSTRIA Testing with model checkers: A survey SNA-TR-2007-P2-04 Gordon Fraser, Franz Wotawa, Paul E. Ammann SNA TECHNICAL REPORT NOVEMBER 2007 Competence Network Softnet Austria,

More information

Automata, Logic and Games. C.-H. L. Ong

Automata, Logic and Games. C.-H. L. Ong Automata, Logic and Games C.-H. L. Ong June 12, 2015 2 Contents 0 Automata, Logic and Games 1 0.1 Aims and Prerequisites............................... 1 0.2 Motivation.....................................

More information

The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees

The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees Karsten Lehmann a, Rafael Peñaloza b a Optimisation Research Group, NICTA Artificial Intelligence Group, Australian National

More information

What You Must Remember When Processing Data Words

What You Must Remember When Processing Data Words What You Must Remember When Processing Data Words Michael Benedikt, Clemens Ley, and Gabriele Puppis Oxford University Computing Laboratory, Park Rd, Oxford OX13QD UK Abstract. We provide a Myhill-Nerode-like

More information

Tree Automata and Rewriting

Tree Automata and Rewriting and Rewriting Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.jussieu.fr July 23, 2010 What are? Definition Tree Automaton A tree automaton

More information