Runtime Verification of Safety/Progress Properties

Size: px
Start display at page:

Download "Runtime Verification of Safety/Progress Properties"

Transcription

1 untime Verification of Safety/Progress Properties VEIMAG Lab & Université Joseph Fourier Grenoble, France Yliès Falcone and Jean-Claude Fernandez and Laurent Mounier November 24 th 2009, Prague, Czesh epublic (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 1 / 43

2 Verimag DCS Team (Distributed & Complex Systems) (18 permanents, 10 post-doc students, 20 PhD students) specification & design of component-based systems embedded systems service-oriented applications verification and validation techniques model-based techniques program verification test security issues cryptographic protocols software vulnerabilities (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 2 / 43

3 Verification and validation activities within DCS model-based techniques model-checking [IF] model-driven test generation [TGV] simulation, performance evaluation [Glonemo] correct-by-construction paradigm [BIP] program-based techniques static analysis, shape analysis proof [Coq] execution-based techniques test execution [j-post] run-time monitoring, run-time enforcement (j-veto) (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 3 / 43

4 Online runtime monitoring [Havelund, osu,... ] A lightweight verification technique, bridging the gap between model-checking and test Given a program P, a (linear) property Π check if P = Π on the current execution run σ of P? synthesize a monitor M Π (= decision procedure) for Π instrument the program to observe relevant events (w.r.t. Π) at each execution step of a run σ of P a verdict is provided by M Π P events σ = Π? Mon Π verdicts (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 4 / 43

5 Example Program P, calling methods e1, e2,... e n Property Π: the 1st method called cannot be called again (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 5 / 43

6 Example Program P, calling methods e1, e2,... e n Property Π: the 1st method called cannot be called again Program (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 5 / 43

7 Example Program P, calling methods e1, e2,... e n Property Π: the 1st method called cannot be called again Program Monitor * e1 * e1 * e2 * * * (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 5 / 43

8 Example Program P, calling methods e1, e2,... e n Property Π: the 1st method called cannot be called again Program Monitor e1 e2 e5 e4 e2 e5 e3 * * e1 * e1 e * * * (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 5 / 43

9 Example Program P, calling methods e1, e2,... e n Property Π: the 1st method called cannot be called again Program Monitor e1 e2 e5 e4 e2 e5 e3 e2 * e1 * e1 * e * * * (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 5 / 43

10 Example Program P, calling methods e1, e2,... e n Property Π: the 1st method called cannot be called again Program Monitor e1 e2 e5 e4 e2 e5 e3 e4e2 * e1 * e1 * e * * * (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 5 / 43

11 Example Program P, calling methods e1, e2,... e n Property Π: the 1st method called cannot be called again Program Monitor e1 e2 e5 * e2e4e2 * e1 * e1 e2 * e5 e4 e3 * * e2 (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 5 / 43

12 untime enforcement [Schneider, Ligatti,... ] modify the current execution sequence when it goes wrong... Monitor M Π acts as a transducer (a filter) for the current run σ by: leaving it unchanged if correct wrt to Π (transparency) changing it into a valid one otherwise (soundness) Program Monitor P o = Π events σ = Π? EM Π memory e1 e2 e5 e4 e2 e5 e3 e2 e4 halt e2e4e2 * e1 * e1 * e2 * halt * e * halt halt (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 6 / 43

13 Main results Some (clear) benefits of runtime verification: well-targeted: what you verify is what you execute scalable: independent w.r.t program size easy to use: do not rely on a program model highly dymanic: set of expected properties can evolve set of program components can evolve Many (potential) application domains: security (OS level, application level), safety-critical systems, pervasive applications, open component-based systems (web services) etc. Several existing tool implementations: JavaMOP, ule, Polymer,... (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 7 / 43

14 But still many open issues... how to instrument the code? quality of the probes, source vs binary instrumentation, etc. how to limit the execution time overhead? monitor integration, efficiency of the decision procedure what properties could be addressed? going beyond safety properties, non-functionnal requirements how to synthesize the corresponding monitors? how to cope with a limited observability/controlability over the program events? etc. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 8 / 43

15 In this talk Focus on V expressivity and monitor synthesis: 1 delineate the space of properties that could be addressed by runtime monitoring & enforcement 2 revisit some previous results on this topic 3 propose an (automated) monitor generation technique 4 present a prototype tool Based on a unified framework: safety-progress property classification [Manna, Pnueli] (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 9 / 43

16 Outline 1 The Safety-Progress Classification of Properties [Manna,Pnueli] 2 Applicability of untime Validation Techniques 3 untime Verification and Enforcement Monitors 4 j-veto: A Java Verification and Enforcement TOolbox 5 Conclusion and future works (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 10 / 43

17 Overview Outline 1 The Safety-Progress Classification of Properties [Manna,Pnueli] Overview The automata view 2 Applicability of untime Validation Techniques 3 untime Verification and Enforcement Monitors 4 j-veto: A Java Verification and Enforcement TOolbox 5 Conclusion and future works (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 11 / 43

18 Overview Overview (1) General classification of linear temporal properties (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 12 / 43

19 Overview Overview (1) General classification of linear temporal properties Fine-grain definition of classes of properties basic classes: safety, guarantee, response, persistence compound classes: obligation, reactivity (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 12 / 43

20 Overview Overview (1) General classification of linear temporal properties Fine-grain definition of classes of properties basic classes: safety, guarantee, response, persistence compound classes: obligation, reactivity The intuitive/informal idea Safety Guarantee esponse Persistence (all prefixes) ( ψ) (one prefix) ( ψ) (regularly) ( ψ) (continuously) ( ψ) ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ eactivity esponse Persistence Obligation Progress Safety Safety Guarantee (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 12 / 43

21 Overview Examples of properties Example Operating system where an operation op is allowed only when an authorization auth has been granted before. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 13 / 43

22 Overview Examples of properties Example Operating system where an operation op is allowed only when an authorization auth has been granted before. Π 1 : an authorization grant grant auth should precede any occurrence of op is a safety property; (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 13 / 43

23 Overview Examples of properties Example Operating system where an operation op is allowed only when an authorization auth has been granted before. Π 1 : an authorization grant grant auth should precede any occurrence of op is a safety property; Π 2 : the 1st authorization request req auth should be eventually followed by a grant (grant auth) or a deny (deny auth) is a guarantee property; (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 13 / 43

24 Overview Examples of properties Example Operating system where an operation op is allowed only when an authorization auth has been granted before. Π 1 : an authorization grant grant auth should precede any occurrence of op is a safety property; Π 2 : the 1st authorization request req auth should be eventually followed by a grant (grant auth) or a deny (deny auth) is a guarantee property; Π 3 : each occurrence of req auth should be first written in a log file and then answered either with a grant auth or a deny auth without any occurrence of op in the meantime is a response property; (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 13 / 43

25 Overview Examples of properties Example Operating system where an operation op is allowed only when an authorization auth has been granted before. Π 1 : an authorization grant grant auth should precede any occurrence of op is a safety property; Π 2 : the 1st authorization request req auth should be eventually followed by a grant (grant auth) or a deny (deny auth) is a guarantee property; Π 3 : each occurrence of req auth should be first written in a log file and then answered either with a grant auth or a deny auth without any occurrence of op in the meantime is a response property; Π 4 : an incorrect use of operation op should imply that any future call to req auth will always result in a deny auth answer is a persistence property. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 13 / 43

26 Overview Overview (2) Characterization according to several views logical, language-theoretic, topological automata: Streett automata (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 14 / 43

27 Overview Overview (2) Characterization according to several views logical, language-theoretic, topological automata: Streett automata Customizing the SP classification for runtime verification Initially defined for infinite execution sequences Monitoring context Processing incremental finite sequences Verdict taken on finite sequences Our properties: r-properties: (φ, ϕ) φ: the finitary property ϕ: the infinitary property There is be a link between φ and ϕ (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 14 / 43

28 The automata view Outline 1 The Safety-Progress Classification of Properties [Manna,Pnueli] Overview The automata view 2 Applicability of untime Validation Techniques 3 untime Verification and Enforcement Monitors 4 j-veto: A Java Verification and Enforcement TOolbox 5 Conclusion and future works (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 15 / 43

29 The automata view Finite state automata: Streett automata Definition of a deterministic Streett m-automaton A tuple (Q, q init, Σ,, {( 1, P 1 ),..., ( m, P m )}) Q is the set of automaton states (q init Q is the initial state), total function : Q Σ Q is the transition function, {( 1, P 1 ),..., ( m, P m )} is the set of accepting pairs, i n, i Q are the sets of recurrent states, and Pi Q are the sets of persistent states. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 16 / 43

30 The automata view Finite state automata: Streett automata Definition of a deterministic Streett m-automaton A tuple (Q, q init, Σ,, {( 1, P 1 ),..., ( m, P m )}) Q is the set of automaton states (q init Q is the initial state), total function : Q Σ Q is the transition function, {( 1, P 1 ),..., ( m, P m )} is the set of accepting pairs, i n, i Q are the sets of recurrent states, and Pi Q are the sets of persistent states. Example (Streett automaton) ack req req Σ Every request is acknowledged, and never two successive requests Σ = {req, ack} ack = {1}, P = (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 16 / 43

31 The automata view Acceptance criteria Acceptance condition for Infinite sequences For σ Σ ω, A accepts σ if i [1, m], vinf (σ, A) i vinf (σ, A) P i where vinf (σ, A): set of states visited infinitely often (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 17 / 43

32 The automata view Acceptance criteria Acceptance condition for Infinite sequences For σ Σ ω, A accepts σ if i [1, m], vinf (σ, A) i vinf (σ, A) P i where vinf (σ, A): set of states visited infinitely often Acceptance condition for Finite sequences For σ Σ s.t. σ = n, A accepts σ if q 1,..., q n Q A, run(σ, A) = q 1 q n q 1 = q init A and i [1, m], q n P i i (This semantics is similar to the semantics of V-LTL [Bauer and al.]) (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 17 / 43

33 The automata view Acceptance criteria Acceptance condition for Infinite sequences For σ Σ ω, A accepts σ if i [1, m], vinf (σ, A) i vinf (σ, A) P i where vinf (σ, A): set of states visited infinitely often Acceptance condition for Finite sequences For σ Σ s.t. σ = n, A accepts σ if q 1,..., q n Q A, run(σ, A) = q 1 q n q 1 = q init A and i [1, m], q n P i i (This semantics is similar to the semantics of V-LTL [Bauer and al.]) ack req req Σ Every request is acknowledged, and never two successive requests Σ = {req, ack} ack = {1}, P = (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 17 / 43

34 The automata view The automata view Classification according to syntactic restrictions on automata safety: = and no transition from q P to q P. guarantee: P = and no transition from q to q response: P = persistence: = m-obligation: m-automaton no transition from q Pi to q P i, no transition from q i to q i, m-reactivity: unrestricted m-automaton Safety P P Guarantee esponse Persistence P P esponse Persistence Progress Safety Safety eactivity Obligation Guarantee (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 18 / 43

35 Outline 1 The Safety-Progress Classification of Properties [Manna,Pnueli] 2 Applicability of untime Validation Techniques Monitorable Properties Enforceable properties 3 untime Verification and Enforcement Monitors 4 j-veto: A Java Verification and Enforcement TOolbox 5 Conclusion and future works (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 19 / 43

36 Monitorable Properties Classical definition of monitorability [Pnueli,Zaks] Determine verdict of infinite sequences with (finite) observations evaluation depends on the satisfaction of the current sequence and its continuations (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 20 / 43

37 Monitorable Properties Classical definition of monitorability [Pnueli,Zaks] Determine verdict of infinite sequences with (finite) observations evaluation depends on the satisfaction of the current sequence and its continuations Monitorable properties and / -determinacy Considering σ Σ, a r-property Π is said to be: -determined by σ, if Π(σ µ) for all completions µ Σ verdict -determined by σ, if Π(σ µ) for all completions µ Σ verdict σ-monitorable if there exists µ Σ s.t. Π is / -determined by σ µ (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 20 / 43

38 Monitorable Properties Classical definition of monitorability [Pnueli,Zaks] Determine verdict of infinite sequences with (finite) observations evaluation depends on the satisfaction of the current sequence and its continuations Monitorable properties and / -determinacy Considering σ Σ, a r-property Π is said to be: -determined by σ, if Π(σ µ) for all completions µ Σ verdict -determined by σ, if Π(σ µ) for all completions µ Σ verdict σ-monitorable if there exists µ Σ s.t. Π is / -determined by σ µ Truth-domain B 3 = {,,?} determines the class of monitorable properties (MP(B 3 )) (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 20 / 43

39 Monitorable Properties Characterization of monitorable properties [V 09] Truth-domain of cardinality 3: Obligation MP({?,, }) Safety and Guarantee properties are monitorable Union and intersection of monitorable properties is monitorable (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 21 / 43

40 Monitorable Properties Characterization of monitorable properties [V 09] Truth-domain of cardinality 3: Obligation MP({?,, }) Safety and Guarantee properties are monitorable Union and intersection of monitorable properties is monitorable Example (Monitorable) ack Σ req req ack = {1}, P = Example (Not monitorable) ack req req 1 2 ack = {1}, P = (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 21 / 43

41 Monitorable Properties Characterization of monitorable properties [V 09] Truth-domain of cardinality 3: Obligation MP({?,, }) Safety and Guarantee properties are monitorable Union and intersection of monitorable properties is monitorable Example (Monitorable) ack Σ req req ack = {1}, P = Non-monitorable properties Example (Not monitorable) ack req req (some) esponse, Persistence, and eactivity properties Impossible to detect or the output sequence of a monitor belongs to (?) 1 2 ack = {1}, P = (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 21 / 43

42 Monitorable Properties Characterization of monitorable properties (cont.) Definition (Characterization of a Streett automaton states: P) Good A = {q Q A T m i=1 ( i P i ) each A (q) T m i=1 ( i P i )} Goodp A = {q Q A T m i=1 ( i P i ) each A (q) T m i=1 ( i P i )} Bad A p = {q Q A S m i=1 ( i P i ) each A (q) S m i=1 ( i P i )} Bad A = {q Q A S m i=1 ( i P i ) each A (q) S m i=1 ( i P i )} P Good Safety P Goodp Guarantee esponse Bad Bad p Bad Bad p Persistence P P Bad Bad p P Bad Good Good Goodp P Good P Goodp (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 22 / 43

43 Monitorable Properties Characterization of monitorable properties (cont.) Definition (Characterization of a Streett automaton states: P) Good A = {q Q A T m i=1 ( i P i ) each A (q) T m i=1 ( i P i )} Goodp A = {q Q A T m i=1 ( i P i ) each A (q) T m i=1 ( i P i )} Bad A p = {q Q A S m i=1 ( i P i ) each A (q) S m i=1 ( i P i )} Bad A = {q Q A S m i=1 ( i P i ) each A (q) S m i=1 ( i P i )} P Good Safety P Goodp Guarantee esponse Bad Bad p Bad Bad p Persistence P P Bad Bad p P Bad Good Good Goodp P Good P Goodp Theorem A r-property Π, recognized by A Π, is B 3 -monitorable iff q each(q init ), each(q) ( Bad A Π Good A Π ) (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 22 / 43

44 Monitorable Properties Characterization of monitorable properties (cont.) Definition (Characterization of a Streett automaton states: P) Good A = {q Q A T m i=1 ( i P i ) each A (q) T m i=1 ( i P i )} Goodp A = {q Q A T m i=1 ( i P i ) each A (q) T m i=1 ( i P i )} Bad A p = {q Q A S m i=1 ( i P i ) each A (q) S m i=1 ( i P i )} Bad A = {q Q A S m i=1 ( i P i ) each A (q) S m i=1 ( i P i )} P Good Safety P Goodp Guarantee esponse Bad Bad p Bad Bad p Persistence P Bad P Bad p P Bad Good Good Goodp P Good P Goodp Theorem A r-property Π, recognized by A Π, is B 3 -monitorable iff q each(q init ), each(q) ( Bad A Π Good A Π ) Monitorable ack Σ req req ack (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 22 / 43

45 Monitorable Properties Characterization of monitorable properties (cont.) Definition (Characterization of a Streett automaton states: P) Good A = {q Q A T m i=1 ( i P i ) each A (q) T m i=1 ( i P i )} Goodp A = {q Q A T m i=1 ( i P i ) each A (q) T m i=1 ( i P i )} Bad A p = {q Q A S m i=1 ( i P i ) each A (q) S m i=1 ( i P i )} Bad A = {q Q A S m i=1 ( i P i ) each A (q) S m i=1 ( i P i )} P Good Safety P Goodp Guarantee esponse Bad Bad p Bad Bad p Persistence P Bad P Bad p P Bad Good Good Goodp P Good P Goodp Not Monitorable Theorem ack req A r-property Π, recognized by A Π, is B 3 -monitorable iff req q each(q init ), each(q) ( Bad A Π Good A ) Π 1 2 ack (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 22 / 43

46 Monitorable Properties efinement of the notion of monitorability [V 09] Interest of the classical definition: 3-valued truth-domain detection of verdicts for infinitary properties from finite observations (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 23 / 43

47 Monitorable Properties efinement of the notion of monitorability [V 09] Interest of the classical definition: 3-valued truth-domain detection of verdicts for infinitary properties from finite observations Following [Bauer and al.] and the motivations of V-LTL: Is / -determinacy always needed? Answer What happens if the program execution stops here? Distinguish prefixes which evaluated previously to? Considering the truth-domain B 4 = {, p, p, }: p : presumably false p : presumably true (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 23 / 43

48 Monitorable Properties Alternative definition of monitorability Definition (Evaluation of a sequence wrt. a property) [[Π]](σ) = if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = p if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = p if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = if Π(σ) µ Σ Π(σ µ) (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 24 / 43

49 Monitorable Properties Alternative definition of monitorability Definition (Evaluation of a sequence wrt. a property) [[Π]](σ) = if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = p if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = p if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = if Π(σ) µ Σ Π(σ µ) Several possible truth-domains: B 2 = {,?} B 3 = {,?, } B 2 = {?, } B 4 = {, p, p, } (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 24 / 43

50 Monitorable Properties Alternative definition of monitorability Definition (Evaluation of a sequence wrt. a property) [[Π]](σ) = if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = p if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = p if Π(σ) µ Σ Π(σ µ) [[Π]](σ) = if Π(σ) µ Σ Π(σ µ) Several possible truth-domains: B 2 = {,?} B 3 = {,?, } B 2 = {?, } B 4 = {, p, p, } Definition (Alternative monitorability) A r-property Π = (φ, ϕ) is said to be monitorable with B iff σ good φ, σ bad φ, [[Π]] B (σ good ) [[Π]] B (σ bad ) We note MP (B), the set of monitorable properties with B. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 24 / 43

51 Monitorable Properties New characterization of monitorable properties Theorem (Multi-valued characterization of monitorability) The sets of monitorable r-properties are: (i) MP (B 2 ) = Safety (ii) MP (B 2 ) = Guarantee (iii) MP (B 3 ) = Safety Guarantee (iv) MP (B 4 ) = eactivity (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 25 / 43

52 Monitorable Properties New characterization of monitorable properties Theorem (Multi-valued characterization of monitorability) The sets of monitorable r-properties are: (i) MP (B 2 ) = Safety (ii) MP (B 2 ) = Guarantee (iii) MP (B 3 ) = Safety Guarantee (iv) MP (B 4 ) = eactivity Example always a Safety property with B 2 = {,?}: a σ bad = a a Σ σ good = a? Σ = {a, a} P = {1} = Σ a 1 2 (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 25 / 43

53 Enforceable properties Outline 1 The Safety-Progress Classification of Properties [Manna,Pnueli] 2 Applicability of untime Validation Techniques Monitorable Properties Enforceable properties 3 untime Verification and Enforcement Monitors 4 j-veto: A Java Verification and Enforcement TOolbox 5 Conclusion and future works (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 26 / 43

54 Enforceable properties Enforcement, soundness, and transparency Soundness and transparency: 1 Output sequences are correct: soundness 2 Correct original execution sequences remain unchanged: transparency (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 27 / 43

55 Enforceable properties Enforcement, soundness, and transparency Soundness and transparency: 1 Output sequences are correct: soundness 2 Correct original execution sequences remain unchanged: transparency Our choice: input sequence σ should be modified in a minimal way: σ = Π it should remain unchanged (up to an equivalence relation), σ = Π its longest prefix satisfying Π should be issued. Expected for both finite and infinite execution sequences (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 27 / 43

56 Enforceable properties Enforcement, soundness, and transparency Soundness and transparency: 1 Output sequences are correct: soundness 2 Correct original execution sequences remain unchanged: transparency Our choice: input sequence σ should be modified in a minimal way: σ = Π it should remain unchanged (up to an equivalence relation), σ = Π its longest prefix satisfying Π should be issued. Expected for both finite and infinite execution sequences Consequence: enforceability criterion for Π = (φ, ϕ) Each infinite incorrect sequence has a longest correct prefix, i.e., a finite number of correct prefixes. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 27 / 43

57 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

58 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. Example (Pure persistence property not enforceable) it will be eventually true that a always occur Π = (Σ a +, Σ a ω ) Σ = {a, b}, vinf (σ, A Π ) P and P = {1} a Σ \ {a} 1 2 a Σ \ {a} (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

59 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. Example (Pure persistence property not enforceable) it will be eventually true that a always occur Π = (Σ a +, Σ a ω ) Σ = {a, b}, vinf (σ, A Π ) P and P = {1} Σ \ {a} 1 2 a Infinite incorrect sequence can have an infinite number of correct prefixes: σ bad = (ab) ω Π(σ bad ) since vinf (σ bad, A Π ) = {1, 2} but i N, Π`(ab) i a since P = {1} a Σ \ {a} (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

60 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. Example (Pure persistence property not enforceable) it will be eventually true that a always occur Π = (Σ a +, Σ a ω ) Σ = {a, b}, vinf (σ, A Π ) P and P = {1} Σ \ {a} 1 2 a Infinite incorrect sequence can have an infinite number of correct prefixes: σ bad = (ab) ω Π(σ bad ) since vinf (σ bad, A Π ) = {1, 2} but i N, Π`(ab) i a since P = {1} What is the problem if we build a sound and transparent enforcement monitor? a Σ \ {a} (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

61 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. Example (Pure persistence property not enforceable) it will be eventually true that a always occur Π = (Σ a +, Σ a ω ) Σ = {a, b}, vinf (σ, A Π ) P and P = {1} Σ \ {a} 1 2 a Infinite incorrect sequence can have an infinite number of correct prefixes: σ bad = (ab) ω Π(σ bad ) since vinf (σ bad, A Π ) = {1, 2} but i N, Π`(ab) i a since P = {1} What is the problem if we build a sound and transparent enforcement monitor? IN = a OUT = a a Σ \ {a} (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

62 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. Example (Pure persistence property not enforceable) it will be eventually true that a always occur Π = (Σ a +, Σ a ω ) Σ = {a, b}, vinf (σ, A Π ) P and P = {1} Σ \ {a} 1 2 a Infinite incorrect sequence can have an infinite number of correct prefixes: σ bad = (ab) ω Π(σ bad ) since vinf (σ bad, A Π ) = {1, 2} but i N, Π`(ab) i a since P = {1} What is the problem if we build a sound and transparent enforcement monitor? IN = a b OUT = a a Σ \ {a} (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

63 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. Example (Pure persistence property not enforceable) it will be eventually true that a always occur Π = (Σ a +, Σ a ω ) Σ = {a, b}, vinf (σ, A Π ) P and P = {1} Σ \ {a} 1 2 a Infinite incorrect sequence can have an infinite number of correct prefixes: σ bad = (ab) ω Π(σ bad ) since vinf (σ bad, A Π ) = {1, 2} but i N, Π`(ab) i a since P = {1} What is the problem if we build a sound and transparent enforcement monitor? IN = a b a OUT = a b a a Σ \ {a} (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

64 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. Example (Pure persistence property not enforceable) it will be eventually true that a always occur Π = (Σ a +, Σ a ω ) Σ = {a, b}, vinf (σ, A Π ) P and P = {1} Σ \ {a} 1 2 a Infinite incorrect sequence can have an infinite number of correct prefixes: σ bad = (ab) ω Π(σ bad ) since vinf (σ bad, A Π ) = {1, 2} but i N, Π`(ab) i a since P = {1} What is the problem if we build a sound and transparent enforcement monitor? IN = a b a b OUT = a b a a Σ \ {a} (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

65 Enforceable properties esponse are exactly the enforceable properties Theorem (esponse = EP) Consequence: safety, guarantee, and obligation r-properties are enforceable. Example (Pure persistence property not enforceable) it will be eventually true that a always occur Π = (Σ a +, Σ a ω ) Σ = {a, b}, vinf (σ, A Π ) P and P = {1} Σ \ {a} 1 2 a Infinite incorrect sequence can have an infinite number of correct prefixes: σ bad = (ab) ω Π(σ bad ) since vinf (σ bad, A Π ) = {1, 2} but i N, Π`(ab) i a since P = {1} a Σ \ {a} What is the problem if we build a sound and transparent enforcement monitor? IN = a b a b a OUT = a b a b a an infinite incorrect sequence (e.g. σ bad ) could be produced :-( (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 28 / 43

66 Outline 1 The Safety-Progress Classification of Properties [Manna,Pnueli] 2 Applicability of untime Validation Techniques 3 untime Verification and Enforcement Monitors Synthesis Composition 4 j-veto: A Java Verification and Enforcement TOolbox 5 Conclusion and future works (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 29 / 43

67 Synthesis untime verification and enforcement Monitors Definition (Monitor) A is a 5-tuple (Q A, q init A, A, X A, Γ A ) (defined relatively to Σ) a (classical) FSM The set of values X A depends on the purpose of the monitor (verification or enforcement) Γ A : Q A X A, output function, producing values in X A from states. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 30 / 43

68 Synthesis untime verification and enforcement Monitors Definition (Monitor) A is a 5-tuple (Q A, q init A, A, X A, Γ A ) (defined relatively to Σ) a (classical) FSM The set of values X A depends on the purpose of the monitor (verification or enforcement) Γ A : Q A X A, output function, producing values in X A from states. untime Verification and Enforcement Monitors Using P to define the output function Γ A (depends on the current state) For runtime verification: X A = B 4 For runtime enforcement: X A = {halt, store, dump, off } using an internal memory: a FIFO queue (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 30 / 43

69 Synthesis Enforcement operations Enforcement operations: inputs: an event and a memory content (i.e., a sequence of events) outputs: a new memory content and an output sequence Definition (Enforcement operations Ops) Ops 2 ((Σ {ɛ}) Σ ) (Σ Σ ). Ops = {halt, store, dump, off } defined as follows: a Σ {ɛ}, m Σ halt(a, m) = (ɛ, m) store(a, m) = (ɛ, m.a) dump(a, m) = (m.a, ɛ) off (a, m) = (m.a, ɛ) (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 31 / 43

70 Synthesis Synthesis from Streett automata [ICISS 08,SAC 09] A Π = (Q A Π, q init A Π, Σ, AΠ, {( 1, P 1 ),..., ( m, P m )}) recognizing Π Correspondence between P and B 4 run ends in Good A Π [[Π]] B4 (σ) =, run ends in Bad A Π run ends in Good A p [[Π]] B4 (σ) = p, Π p [[Π]] B4 (σ) = p, run ends in Bad A Π [[Π]] B4 (σ) =. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 32 / 43

71 Synthesis Synthesis from Streett automata [ICISS 08,SAC 09] A Π = (Q A Π, q init A Π, Σ, AΠ, {( 1, P 1 ),..., ( m, P m )}) recognizing Π Correspondence between P and B 4 run ends in Good A Π [[Π]] B4 (σ) =, run ends in Bad A Π run ends in Good A p [[Π]] B4 (σ) = p, Π p [[Π]] B4 (σ) = p, run ends in Bad A Π [[Π]] B4 (σ) =. Transformation Streett2VM(A Π ) = (Q A Π, qinit A Π, AΠ, B 4, Γ) with Γ : Q A? B 4 s.t. q Q A Π, q Good A Π Γ(q) = q Good A Π p Γ(q) = p q Bad A Π p Γ(q) = p q Bad A Π Γ(q) = Transformation Streett2EM(A Π ) = (Q A Π, qinit A Π, AΠ, Ops, Γ) with Γ : Q A!Π Ops s.t. q Q A Π, q Good A Π Γ(q) = off q Good A Π p Γ(q) = dump q Bad A Π p Γ(q) = store q Bad A Π Γ(q) = halt (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 32 / 43

72 Composition About composition (overview) The idea: order B 4 = {, p, p, } and Ops = {halt, store, dump, off } B 4 : < p< p < Ops : halt < store < dump < off (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 33 / 43

73 Composition About composition (overview) The idea: order B 4 = {, p, p, } and Ops = {halt, store, dump, off } B 4 : < p< p < Ops : halt < store < dump < off How to compose? Build the underlying cartesian product To determine the output (verdict or enforcement operations): Union is taking the max Intersection is taking the min (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 33 / 43

74 Composition About composition (overview) The idea: order B 4 = {, p, p, } and Ops = {halt, store, dump, off } B 4 : < p< p < Ops : halt < store < dump < off How to compose? Build the underlying cartesian product To determine the output (verdict or enforcement operations): Union is taking the max Intersection is taking the min Example (Union of Enforcement Monitors: always a or eventually b ) always a a a 1 Σ 1 2 1: presumably good 2: bad eventually b b b 1 Σ 2 2 1: presumably bad 2: good always a or eventually b (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 33 / 43

75 Composition About composition (overview) The idea: order B 4 = {, p, p, } and Ops = {halt, store, dump, off } B 4 : < p< p < Ops : halt < store < dump < off How to compose? Build the underlying cartesian product To determine the output (verdict or enforcement operations): Union is taking the max Intersection is taking the min Example (Union of Enforcement Monitors: always a or eventually b ) always a a eventually b b dump store always a or eventually b a b Σ 1 halt Σ 2 off (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 33 / 43

76 Composition About composition (overview) The idea: order B 4 = {, p, p, } and Ops = {halt, store, dump, off } B 4 : < p< p < Ops : halt < store < dump < off How to compose? Build the underlying cartesian product To determine the output (verdict or enforcement operations): Union is taking the max Intersection is taking the min Example (Union of Enforcement Monitors: always a or eventually b ) always a a Σ 1 a dump halt eventually b b Σ 2 b store off always a or eventually b a b a a b b a b a b Σ 12 = {ab; ab, ab, ab} a b Σ 12 (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 33 / 43

77 Composition About composition (overview) The idea: order B 4 = {, p, p, } and Ops = {halt, store, dump, off } B 4 : < p< p < Ops : halt < store < dump < off How to compose? Build the underlying cartesian product To determine the output (verdict or enforcement operations): Union is taking the max Intersection is taking the min Example (Union of Enforcement Monitors: always a or eventually b ) always a a Σ 1 a dump halt eventually b b Σ 2 b store off always a or eventually b a b a a b b dump store a b a b Σ 12 = {ab; ab, ab, ab} b off off a Σ 12 (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 33 / 43

78 Outline 1 The Safety-Progress Classification of Properties [Manna,Pnueli] 2 Applicability of untime Validation Techniques 3 untime Verification and Enforcement Monitors 4 j-veto: A Java Verification and Enforcement TOolbox Overview and property design Monitor Synthesis Monitor Integration 5 Conclusion and future works (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 34 / 43

79 About j-veto Toolbox for this approach: 2 main stages and additional features Monitor synthesis: Property verification or enforcement Monitor XSLT transformation (XML to XML) Monitor integration: using program-transformation frameworks (here AOP) Additional features: monitor composition (boolean operations), graphic representation of monitors,... (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 35 / 43

80 About j-veto Toolbox for this approach: 2 main stages and additional features Monitor synthesis: Property verification or enforcement Monitor XSLT transformation (XML to XML) Monitor integration: using program-transformation frameworks (here AOP) Additional features: monitor composition (boolean operations), graphic representation of monitors,... Experimental evaluation DaCapo benchmark with properties about the use of Java data structures e.g., Do not update a Collection if an iterator has been created from it Comparison with Java-MOP (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 35 / 43

81 Overview and property design Overview Pattern X {A, E,, P} egular Property ψ(σ a) Monitor Synthesis Automaton like epresentations (Java Objects, XML Automata) Mapping Integration Program Σ a Σ c Directives P Σc Monitor for Π = (X Monitor Integration f (ψ a), X (ψ a)) Program P Σc Automaton Model and Utilities j-veto Graphic epresentations (png, jpg,... ) (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 36 / 43

82 Overview and property design Property design Informal Property Program P Σc Property Design Pattern X {A, E,, P} egular Property ψ(σ a) Mapping Σ a Σ c (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 37 / 43

83 Monitor Synthesis Monitor Synthesis Pattern X {A, E,, P} egular Property ψ(σ a) DFA, A ψ DFA2Streett r-property Π = (X f (ψ), X (ψ)) Streett Automaton A Π Streett2Monitor Monitor Synthesis Verification Monitor A?Π Enforcement Monitor A!Π (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 38 / 43

84 Monitor Integration Monitor Integration Original Program P Σc Integration Directives Mapping Σ a Σ c Monitor for Π = (X f (ψ), X (ψ)) Mapping2Aspect MonitorTranslator Event Observer (.aj) Java Monitor AspectJ Compiler Program P Σ c TraceSlicer (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 39 / 43

85 Outline 1 The Safety-Progress Classification of Properties [Manna,Pnueli] 2 Applicability of untime Validation Techniques 3 untime Verification and Enforcement Monitors 4 j-veto: A Java Verification and Enforcement TOolbox 5 Conclusion and future works (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 40 / 43

86 Conclusion Study & implementations of runtime techniques using a general framework (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 41 / 43

87 Conclusion Study & implementations of runtime techniques using a general framework Applicability of untime Techniques Characterization of monitorable properties parameterized according to a truth-domain classical definition (MP(B)) alternative definition (MP (B)) Characterization of enforceable properties (EP) eactivity MP (B 4 ) esponse Persistence EP MP(B 3 ) MP(B 2 ) Obligation MP(B 2 ) Progress MP (B 3 ) Safety Safety Guarantee MP (B 2 ) MP (B 2 ) (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 41 / 43

88 Conclusion Study & implementations of runtime techniques using a general framework Applicability of untime Techniques Characterization of monitorable properties parameterized according to a truth-domain classical definition (MP(B)) alternative definition (MP (B)) Characterization of enforceable properties (EP) eactivity MP (B 4 ) esponse Persistence EP MP(B 3 ) MP(B 2 ) Obligation MP(B 2 ) Progress MP (B 3 ) Safety Safety Guarantee MP (B 2 ) MP (B 2 ) Synthesis procedures to generate runtime and enforcement monitors Prototype tools implementing the aforementioned features (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 41 / 43

89 (some) Future Works Further study the practical feasibility of the approach Observable/Controllable events data dependency between events Memory limitation for the EM How the sets of monitorable and enforceable properties are impacted? Application to specific domains: web service orchestration/choregraphy continuous lifetime verification non-functionnal properties (e.g., power management) etc. (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 42 / 43

90 Some publications Falcone, Y., Fernandez, J-C., Mounier, L., ichier, J-L.: A Test Calculus Framework Applied to Network Policy Testing. In FATES 06. Falcone, Y., Fernandez, J-C., Mounier, L., ichier, J-L.: A Compositional testing Framework Driven by Partial Specifications In TestCOM/FATES 07. Falcone, Y., Fernandez, J-C., Mounier, L., ichier, J-L.: j-post: A Java Toolchain for Property-Oriented Software Testing In MBT 08. Falcone, Y., Fernandez, J.C., Mounier, L.: Enforcement Monitoring wrt. the Safety-Progress Classification of Properties. In SAC 09. Falcone, Y., Fernandez, J.C, Mounier, L.: untime Verification of Safety-Progress Properties. In V 09. Falcone, Y., Mounier, L., Fernandez, J-C., ichier, J-L.: untime Enforcement Monitors: composition, synthesis, and enforcement abilities under review at FMSD Thank you for your attention (L. Mounier - Verimag/UJF) untime Verif. of SP properties 24/11/09 - Prague 43 / 43

Runtime Verification of Safety-Progress Properties

Runtime Verification of Safety-Progress Properties Unité Mixte de Recherche 5104 CNRS - INPG - UJF Centre Equation 2, avenue de VIGNATE F-38610 GIERES tel : +33 456 52 03 40 fax : +33 456 52 03 50 http://www-verimag.imag.fr Runtime Verification of Safety-Progress

More information

More Testable Properties

More Testable Properties Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) More Testable roperties Yliès Falcone 1, Jean-Claude Fernandez 2, Thierry Jéron 3, Hervé Marchand 3, Laurent Mounier

More information

Lecture 11 Safety, Liveness, and Regular Expression Logics

Lecture 11 Safety, Liveness, and Regular Expression Logics Lecture 11 Safety, Liveness, and Regular Expression Logics Safety and Liveness Regular Expressions w-regular Expressions Programs, Computations, and Properties Guarantee, Response, and Persistance Properties.

More information

2 Preliminaries and Notation

2 Preliminaries and Notation Runtime Enforcement of Timed Properties Srinivas Pinisetty 1, Yliès Falcone 2, Thierry Jéron 1, Hervé Marchand 1, Antoine Rollet 3 and Omer Nguena Timo 4 1 INRIA Rennes - Bretagne Atlantique, France First.Last@inria.fr

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

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

A Symbolic Approach to Safety LTL Synthesis

A Symbolic Approach to Safety LTL Synthesis A Symbolic Approach to Safety LTL Synthesis Shufang Zhu 1 Lucas M. Tabajara 2 Jianwen Li Geguang Pu 1 Moshe Y. Vardi 2 1 East China Normal University 2 Rice Lucas M. Tabajara (Rice University) 2 University

More information

Probabilistic Model Checking and Strategy Synthesis for Robot Navigation

Probabilistic Model Checking and Strategy Synthesis for Robot Navigation Probabilistic Model Checking and Strategy Synthesis for Robot Navigation Dave Parker University of Birmingham (joint work with Bruno Lacerda, Nick Hawes) AIMS CDT, Oxford, May 2015 Overview Probabilistic

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

Impartial Anticipation in Runtime-Verification

Impartial Anticipation in Runtime-Verification Impartial Anticipation in Runtime-Verification Wei Dong 1, Martin Leucker 2, and Christian Schallhart 2 1 School of Computer, National University of Defense Technology, P.R.China 2 Institut für Informatik,

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

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

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

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

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

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

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006 THEORY OF SYSTEMS MODELING AND ANALYSIS Henny Sipma Stanford University Master class Washington University at St Louis November 16, 2006 1 1 COURSE OUTLINE 8:37-10:00 Introduction -- Computational model

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

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: Specification Patterns Copyright 2001-2002, Matt Dwyer, John Hatcliff, Robby. The syllabus and all lectures for this

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

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Salamah Salamah, Ann Q. Gates, Vladik Kreinovich, and Steve Roach Dept. of Computer Science, University of Texas

More information

Runtime Verification. Grigore Roşu. University of Illinois at Urbana-Champaign

Runtime Verification. Grigore Roşu. University of Illinois at Urbana-Champaign Runtime Verification Grigore Roşu University of Illinois at Urbana-Champaign 2 Contents 1 Introduction 7 2 Background, Preliminaries, Notations 13 3 Safety Properties 17 3.1 Finite Traces...........................

More information

arxiv: v1 [cs.lo] 5 Jan 2018

arxiv: v1 [cs.lo] 5 Jan 2018 Monitoring Data Minimisation Srinivas Pinisetty 1, Thibaud Antignac 4, David Sands 2, Gerardo Schneider 3 1 University of Gothenburg, Sweden srinivas.pinisetty@gu.se 2 Chalmers University of Technology,

More information

Generating Linear Temporal Logic Formulas for Pattern-Based Specifications

Generating Linear Temporal Logic Formulas for Pattern-Based Specifications Generating Linear Temporal Logic Formulas for Pattern-Based Specifications Salamah Salamah, Vladik Kreinovich, and Ann Q. Gates Dept. of Computer Science, University of Texas at El Paso El Paso, TX 79968,

More information

Synthesis of Designs from Property Specifications

Synthesis of Designs from Property Specifications Synthesis of Designs from Property Specifications Amir Pnueli New York University and Weizmann Institute of Sciences FMCAD 06 San Jose, November, 2006 Joint work with Nir Piterman, Yaniv Sa ar, Research

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

A Framework for Automated Competitive Analysis of On-line Scheduling of Firm-Deadline Tasks

A Framework for Automated Competitive Analysis of On-line Scheduling of Firm-Deadline Tasks A Framework for Automated Competitive Analysis of On-line Scheduling of Firm-Deadline Tasks Krishnendu Chatterjee 1, Andreas Pavlogiannis 1, Alexander Kößler 2, Ulrich Schmid 2 1 IST Austria, 2 TU Wien

More information

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications Salamah Salamah, Ann Q. Gates, Vladik Kreinovich, and Steve Roach Dept. of Computer Science, University

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

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

Learning Regular ω-languages

Learning Regular ω-languages Learning Regular ω-languages 1 2 Overview Motivation Background (ω-automata) 2014 Previous work on learning regular ω-languages Why is it difficult to extend L* [Angluin] to ω- languages? L* works due

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

Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications

Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications Shengbing Jiang and Ratnesh Kumar Abstract The paper studies failure diagnosis of discrete event systems with

More information

Language Stability and Stabilizability of Discrete Event Dynamical Systems 1

Language Stability and Stabilizability of Discrete Event Dynamical Systems 1 Language Stability and Stabilizability of Discrete Event Dynamical Systems 1 Ratnesh Kumar Department of Electrical Engineering University of Kentucky Lexington, KY 40506-0046 Vijay Garg Department of

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

A Enforceable Security Policies Revisited

A Enforceable Security Policies Revisited A Enforceable Security Policies Revisited DAVID BASIN, ETH Zurich VINCENT JUGÉ, MINES ParisTech FELIX KLAEDTKE, ETH Zurich EUGEN ZĂLINESCU, ETH Zurich We revisit Schneider s work on policy enforcement

More information

arxiv: v1 [cs.lo] 31 Oct 2018

arxiv: v1 [cs.lo] 31 Oct 2018 Efficient LTL Decentralized Monitoring Framework Using Formula Simplification Table Omar Bataineh, David Rosenblum, and Mark Reynolds arxiv:1810.13129v1 [cs.lo] 31 Oct 2018 National University of Singapore

More information

Fine Grain Quality Management

Fine Grain Quality Management Fine Grain Quality Management Jacques Combaz Jean-Claude Fernandez Mohamad Jaber Joseph Sifakis Loïc Strus Verimag Lab. Université Joseph Fourier Grenoble, France DCS seminar, 10 June 2008, Col de Porte

More information

Symbolic Control of Incrementally Stable Systems

Symbolic Control of Incrementally Stable Systems Symbolic Control of Incrementally Stable Systems Antoine Girard Laboratoire Jean Kuntzmann, Université Joseph Fourier Grenoble, France Workshop on Formal Verification of Embedded Control Systems LCCC,

More information

Synthesis weakness of standard approach. Rational Synthesis

Synthesis weakness of standard approach. Rational Synthesis 1 Synthesis weakness of standard approach Rational Synthesis 3 Overview Introduction to formal verification Reactive systems Verification Synthesis Introduction to Formal Verification of Reactive Systems

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

On Safety Properties and Their Monitoring

On Safety Properties and Their Monitoring Scientific Annals of Computer Science vol.??, 201?, pp. 1 39 On Safety Properties and Their Monitoring Grigore Roşu 1 Abstract This paper addresses the problem of runtime verification from a foundational

More information

Comparing LTL Semantics for Runtime Verification

Comparing LTL Semantics for Runtime Verification Comparing LTL Semantics for Runtime Verification Andreas Bauer 1, Martin Leucker 2, and Christian Schallhart 2 1 National ICT Australia (NICTA) 2 Institut für Informatik, Technische Universität München

More information

Runtime Verification. Grigore Roşu. University of Illinois at Urbana-Champaign

Runtime Verification. Grigore Roşu. University of Illinois at Urbana-Champaign Runtime Verification Grigore Roşu University of Illinois at Urbana-Champaign 2 Contents 1 Introduction 11 1.1 A Taxonomy of Runtime Analysis Techniques......... 22 1.1.1 Trace Storing versus Non-Storing

More information

On Real-time Monitoring with Imprecise Timestamps

On Real-time Monitoring with Imprecise Timestamps On Real-time Monitoring with Imprecise Timestamps David Basin 1, Felix Klaedtke 2, Srdjan Marinovic 1, and Eugen Zălinescu 1 1 Institute of Information Security, ETH Zurich, Switzerland 2 NEC Europe Ltd.,

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

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

Reactive Synthesis. Swen Jacobs VTSA 2013 Nancy, France u

Reactive Synthesis. Swen Jacobs VTSA 2013 Nancy, France u Reactive Synthesis Nancy, France 24.09.2013 u www.iaik.tugraz.at 2 Property Synthesis (You Will Never Code Again) 3 Construct Correct Systems Automatically Don t do the same

More information

Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 9

Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 9 Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 9 Prof. Dr. Reinhard von Hanxleden Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and

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

Automata-based Verification - III

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

More information

Assertions and Measurements for Mixed-Signal Simulation

Assertions and Measurements for Mixed-Signal Simulation Assertions and Measurements for Mixed-Signal Simulation PhD Thesis Thomas Ferrère VERIMAG, University of Grenoble (directeur: Oded Maler) Mentor Graphics Corporation (co-encadrant: Ernst Christen) October

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

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Wen-ling Huang and Jan Peleska University of Bremen {huang,jp}@cs.uni-bremen.de MBT-Paradigm Model Is a partial

More information

Finite-state machines (FSMs)

Finite-state machines (FSMs) Finite-state machines (FSMs) Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada January 10, 2017 1/19 Finite-state machines (FSMs) and state

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms CS 249 Project Fall 2005 Wing Wong Outline Introduction Asynchronous distributed systems, distributed computations,

More information

Recognizing Safety and Liveness by Alpern and Schneider

Recognizing Safety and Liveness by Alpern and Schneider Recognizing Safety and Liveness by Alpern and Schneider Calvin Deutschbein 17 Jan 2017 1 Intro 1.1 Safety What is safety? Bad things do not happen For example, consider the following safe program in C:

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

Digital Systems. Validation, verification. R. Pacalet January 4, 2018

Digital Systems. Validation, verification. R. Pacalet January 4, 2018 Digital Systems Validation, verification R. Pacalet January 4, 2018 2/98 Simulation Extra design tasks Reference model Simulation environment A simulation cannot be exhaustive Can discover a bug Cannot

More information

Classes and conversions

Classes and conversions Classes and conversions Regular expressions Syntax: r = ε a r r r + r r Semantics: The language L r of a regular expression r is inductively defined as follows: L =, L ε = {ε}, L a = a L r r = L r L r

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

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

Variable Automata over Infinite Alphabets

Variable Automata over Infinite Alphabets Variable Automata over Infinite Alphabets Orna Grumberg a, Orna Kupferman b, Sarai Sheinvald b a Department of Computer Science, The Technion, Haifa 32000, Israel b School of Computer Science and Engineering,

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

An Algebra of Hybrid Systems

An Algebra of Hybrid Systems Peter Höfner University of Augsburg August 22, 2008 The University of Queensland, August 2008 1 c Peter Höfner Hybrid Systems Definition hybrid systems are heterogeneous systems characterised by the interaction

More information

Semi-Automatic Distributed Synthesis

Semi-Automatic Distributed Synthesis Semi-Automatic Distributed Synthesis Bernd Finkbeiner and Sven Schewe Universität des Saarlandes, 66123 Saarbrücken, Germany {finkbeiner schewe}@cs.uni-sb.de Abstract. We propose a sound and complete compositional

More information

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007 Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This

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

Introduction to Automata

Introduction to Automata Introduction to Automata Seungjin Choi Department of Computer Science and Engineering Pohang University of Science and Technology 77 Cheongam-ro, Nam-gu, Pohang 37673, Korea seungjin@postech.ac.kr 1 /

More information

Notes. Corneliu Popeea. May 3, 2013

Notes. Corneliu Popeea. May 3, 2013 Notes Corneliu Popeea May 3, 2013 1 Propositional logic Syntax We rely on a set of atomic propositions, AP, containing atoms like p, q. A propositional logic formula φ Formula is then defined by the following

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

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

Optimal Control of Markov Decision Processes with Temporal Logic Constraints

Optimal Control of Markov Decision Processes with Temporal Logic Constraints Optimal Control of Markov Decision Processes with Temporal Logic Constraints Xuchu (Dennis) Ding Stephen L. Smith Calin Belta Daniela Rus Abstract In this paper, we develop a method to automatically generate

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

Introduction to Turing Machines

Introduction to Turing Machines Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability

More information

CSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS

CSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS CSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS 1. [6 POINTS] For language L 1 = {0 n 1 m n, m 1, m n}, which string is in L 1? ANSWER: 0001111 is in L 1 (with n =

More information

Static Program Analysis using Abstract Interpretation

Static Program Analysis using Abstract Interpretation Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible

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

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties Bernd Finkbeiner, Christopher Hahn, and Marvin Stenger Saarland Informatics Campus, Saarland University, Saarbrücken, Germany

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

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

EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016

EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Discrete Event Simulation Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley)

More information

Logics of Rational Agency Lecture 3

Logics of Rational Agency Lecture 3 Logics of Rational Agency Lecture 3 Eric Pacuit Tilburg Institute for Logic and Philosophy of Science Tilburg Univeristy ai.stanford.edu/~epacuit July 29, 2009 Eric Pacuit: LORI, Lecture 3 1 Plan for the

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

7. Queueing Systems. 8. Petri nets vs. State Automata

7. Queueing Systems. 8. Petri nets vs. State Automata Petri Nets 1. Finite State Automata 2. Petri net notation and definition (no dynamics) 3. Introducing State: Petri net marking 4. Petri net dynamics 5. Capacity Constrained Petri nets 6. Petri net models

More information

A Tutorial on Runtime Verification

A Tutorial on Runtime Verification A Tutorial on Runtime Verification Yliès FALCONE a, Klaus HAVELUND b,1 and Giles REGER c,2 a University of Grenoble I (UJF), Laboratoire d Informatique de Grenoble, France b Jet Propulsion Laboratory,

More information

Revising UNITY Programs: Possibilities and Limitations 1

Revising UNITY Programs: Possibilities and Limitations 1 Revising UNITY Programs: Possibilities and Limitations 1 Ali Ebnenasir, Sandeep S. Kulkarni, and Borzoo Bonakdarpour Software Engineering and Network Systems Laboratory Department of Computer Science and

More information

IC3 and Beyond: Incremental, Inductive Verification

IC3 and Beyond: Incremental, Inductive Verification IC3 and Beyond: Incremental, Inductive Verification Aaron R. Bradley ECEE, CU Boulder & Summit Middle School IC3 and Beyond: Incremental, Inductive Verification 1/62 Induction Foundation of verification

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

Bridging the Gap between Reactive Synthesis and Supervisory Control

Bridging the Gap between Reactive Synthesis and Supervisory Control Bridging the Gap between Reactive Synthesis and Supervisory Control Stavros Tripakis University of California, Berkeley Joint work with Ruediger Ehlers (Berkeley, Cornell), Stéphane Lafortune (Michigan)

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

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

Automata, Logic and Games. C.-H. L. Ong Automata, Logic and Games C.-H. L. Ong March 6, 2013 2 Contents 0 Automata, Logic and Games 1 0.1 Aims and Prerequisites............................... 1 0.2 Motivation.....................................

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

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, 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

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Stavros Tripakis Abstract We introduce problems of decentralized control with communication, where we explicitly

More information

Synthesizing Robust Systems

Synthesizing Robust Systems Synthesizing Robust Systems Roderick Bloem and Karin Greimel (TU-Graz) Thomas Henzinger (EPFL and IST-Austria) Barbara Jobstmann (CNRS/Verimag) FMCAD 2009 in Austin, Texas Barbara Jobstmann 1 Motivation

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

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: Automata, State machines, Circuits Stavros Tripakis University of California, Berkeley Stavros

More information