from first order temporal logic to parametric trace
play

From First-order Temporal Logic to Parametric Trace Slicing Giles - PowerPoint PPT Presentation

Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude From First-order Temporal Logic to Parametric Trace Slicing Giles Reger David Rydeheard University of Manchester, Manchester, UK September 25, 2015 Motivation


  1. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude From First-order Temporal Logic to Parametric Trace Slicing Giles Reger David Rydeheard University of Manchester, Manchester, UK September 25, 2015

  2. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Outline Motivation FO-LTL f Parametric Trace Slicing Slicability Usable Fragment Translation Conclude

  3. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Motivation • There are lots and lots of languages used for specifying RV properties (see the competition) • Particularly for first-order/parametric/data properties • Whilst propositional case seems well understood, lots more freedom with first-order • Mainly how to organise the domain of quantification • Languages often driven by monitoring concerns • We should understand how they are related • Parametric trace slicing can be efficiently monitored • Temporal logic is well understand and widely used • If we can understand their connection we can leverage both advantages

  4. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace • satisfy this formula • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  5. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace • satisfy this formula ∀ x : � ( p ( x ) → � q ( x )) • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  6. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace p ( a ) . p ( b ) . q ( a ) . q ( b ) . p ( c ) . q ( c ) . p ( d ) . q ( d ) • satisfy this formula ∀ x : � ( p ( x ) → � q ( x )) • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  7. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace p ( a ) . p ( b ) . q ( a ) . q ( b ) . p ( c ) . q ( c ) . p ( d ) . q ( d ) • satisfy this formula ∀ x : � ( p ( x ) → � q ( x )) • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  8. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace p ( a ) . p ( b ) . q ( a ) . q ( b ) . p ( c ) . q ( c ) . p ( d ) . q ( d ) • satisfy this formula ∀ x : � ( p ( x ) → � q ( x )) • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  9. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace p ( a ) . p ( b ) . q ( a ) . q ( b ) . p ( c ) . q ( c ) . p ( d ) . q ( d ) • satisfy this formula ∀ x : ¬ q ( x ) U p ( x ) • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  10. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace open ( A ) . open ( B ) . open ( B ) . close ( A ) . close ( A ) • satisfy this formula ∀ f : open ( f ) → ( ¬ open ( f ) U ◦ close ( f )) • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  11. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace open ( A ) . open ( B ) . open ( B ) . close ( A ) . close ( A ) • satisfy this formula ∀ f : open ( f ) → ( ¬ open ( f ) U ◦ close ( f )) • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  12. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace open ( A ) . open ( B ) . open ( B ) . close ( A ) . close ( A ) • satisfy this formula ∀ f : open ( f ) → ( ¬ open ( f ) U ◦ close ( f )) • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification?

  13. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Interpreting Formulas • Does this trace • satisfy this formula • In the ‘standard’ view of quantification? • In the ‘slicing’ view of quantification? • Other notions of quantification exist that give different interpretations, we stick to these two for now

  14. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Introducing FO-LTL f • Time is linear, discrete and future • Finite-trace semantics • Syntax (note use of next-Until) φ = true | a | ∀ x : φ | ¬ φ | φ ∨ φ | φ U ◦ φ • Semantics D , τ, v , i | = true D , τ, v , i | = a if τ i = v ( a ) D , τ, v , i | = ¬ φ if D , τ, v , i �| = φ D , τ, v , i | = φ 1 ∨ φ 2 if D , τ, v , i | = φ 1 or D , τ, v , i | = φ 2 φ 1 U ◦ φ 2 D , τ, v , i | = if there exists a j > i such that either D , τ, v , j | = φ 2 or ( j = | τ | and φ 2 = false ) and for i < k < j we have D , τ, v , k | = φ 1 D , τ, v , i | = ∀ x : φ if for every d ∈ D ( x ) we have D , τ, v † [ x �→ d ] , i | = φ

  15. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Introducing FO-LTL f • Time is linear, discrete and future • Finite-trace semantics • Syntax (note use of next-Until) φ = true | a | ∀ x : φ | ¬ φ | φ ∨ φ | φ U ◦ φ • Semantics D , τ, v , i | = true D , τ, v , i | = a if τ i = v ( a ) D , τ, v , i | = ¬ φ if D , τ, v , i �| = φ D , τ, v , i | = φ 1 ∨ φ 2 if D , τ, v , i | = φ 1 or D , τ, v , i | = φ 2 φ 1 U ◦ φ 2 D , τ, v , i | = if there exists a j > i such that either D , τ, v , j | = φ 2 or ( j = | τ | and φ 2 = false ) and for i < k < j we have D , τ, v , k | = φ 1 D , τ, v , i | = ∀ x : φ if for every d ∈ D ( x ) we have D , τ, v † [ x �→ d ] , i | = φ

  16. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Introducing FO-LTL f • Time is linear, discrete and future • Finite-trace semantics • Syntax (note use of next-Until) φ = true | a | ∀ x : φ | ¬ φ | φ ∨ φ | φ U ◦ φ • Semantics D , τ, v , i | = true D , τ, v , i | = a if τ i = v ( a ) D , τ, v , i | = ¬ φ if D , τ, v , i �| = φ D , τ, v , i | = φ 1 ∨ φ 2 if D , τ, v , i | = φ 1 or D , τ, v , i | = φ 2 φ 1 U ◦ φ 2 D , τ, v , i | = if there exists a j > i such that either D , τ, v , j | = φ 2 or ( j = | τ | and φ 2 = false ) and for i < k < j we have D , τ, v , k | = φ 1 D , τ, v , i | = ∀ x : φ if for every d ∈ D ( x ) we have D , τ, v † [ x �→ d ] , i | = φ

  17. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Definitions • Can define the normal things in terms of U ◦ false U ◦ ϕ � ϕ = φ 2 ∨ ( φ 1 ∧ ( φ 1 U ◦ φ 2 )) φ 1 U φ 2 = ♦ φ = true U φ � φ = φ U false • Next is strong i.e. � a is false at the end of the trace • But � a will be true at the end of the trace • And ♦ a will be false at the end of the trace • Slightly non-standard finite trace semantics, would like to vary in the future

  18. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Domain of quantification • The (other) controversial bit • We write τ | = φ if a trace τ satisfies a property φ , defined as follows τ | = φ dom ( τ, φ ) , τ, [] , 0 | = φ iff where the domain function dom is defined as:   e ( . . . , d i , . . . ) ∈ τ ∧   dom ( τ, φ )( x ) =  d i where e ( . . . , x i , . . . ) ∈ events ( φ ) ∧ x i = x  • The domain of quantification is dependent on the full trace

  19. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Parametric Trace Slicing • Given a trace τ and valuation θ let τ ↓ θ be the θ -slice of τ ǫ ↓ θ = ǫ � ( τ ↓ θ ) . e ( v ) if ∃ e ( z ) ∈ A ( X ) : θ ( e ( z )) = e ( v ) τ. e ( v ) ↓ θ = ( τ ↓ θ ) otherwise • The trace τ is accepted for quantification list Λ( X ) and = P ( X ) propositional property P ( X ) if τ | Λ( X ) , defined as [] = P ( X ) = P ( X ) τ | ∀ x : Λ if for every d ∈ dom ( x ) we have τ | θ † [ x �→ d ] Λ θ = P ( X ) = P ( X ) τ | ∃ x : Λ if for some d ∈ dom ( x ) we have τ | θ † [ x �→ d ] Λ θ = P ( X ) τ | ǫ if τ ↓ θ ∈ L ( θ, P ( X )) θ • Using the same domain of quantification dom

  20. Motivation FO-LTL f Slicing Slicability Usable Fragment Translation Conclude Example Given the trace call ( A ) . call ( B ) . call ( C ) . return ( C ) . return ( B ) . call ( C ) . return ( C ) . return ( A ) And a property ϕ that whenever a method m 2 is called inside a method m 1 , the method m 2 should return before m 1 . events ( ϕ ) = { call ( m 1 ) , return ( m 1 ) , call ( m 2 ) , return ( m 2 ) } We get the following slices m 1 m 2 slice A B call ( A ) . call ( B ) . return ( B ) . return ( A ) A C call ( A ) . call ( C ) . return ( C ) . call ( C ) . return ( C ) . return ( A ) B C call ( B ) . call ( C ) . return ( C ) . return ( B ) . call ( C ) . return ( C ) Each slice can be checked by some unquantified checker P ( m 1 , m 2 )

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend