pulse plural to evmdd smc the compiler and model generator
play

Pulse: Plural To EVMDD-SMC The Compiler and Model Generator Ijaz - PowerPoint PPT Presentation

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Pulse: Plural To EVMDD-SMC The Compiler and Model Generator Ijaz Ahmed N estor Cata no Radu


  1. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Pulse: Plural To EVMDD-SMC The Compiler and Model Generator Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu University of Madeira, Portugal National Institute of Aerospace, Virginia, USA August 2, 2011 Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  2. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Plural and EVMDD-SMC Pulse Contributions Abstract Models of Specifications States Space and Relations Translation Algorithm Translation Algorithm(Co.) Model Structure CTL Properties Demonstration through Eclipse Conclusion Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  3. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Plural and EVMDD-SMC ◮ Plural A lightweight verification tool of Java programs by CMU Verify access permissions and typestates An Eclipse plug-in based on static analysis ◮ EVMDD-SMC A symbolic model checking tool by NIA Orders of magnitude faster than SAL model checker Less syntactic sugar and edge value decision diagrams EVMDD Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  4. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Contributions Model Structure Demonstration through Eclipse Conclusion Pulse ◮ Translates Plural specification into EVMDD-SMC model ◮ Depends on PluralAnnotationsAnalysis ◮ Uses the Antlr parser generator ◮ An Eclipse plug-in like Plural Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  5. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Contributions Model Structure Demonstration through Eclipse Conclusion Contributions ◮ Absence of sink(deadlocked) states ◮ Typestate transition matrix (Plaid!) ◮ Possible ways to concurrency (Plaid!) ◮ Correct use of the access permission Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  6. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm States Space and Relations Model Structure Demonstration through Eclipse Conclusion Abstract Models of Specifications ◮ Access Permissions associated to object reference r j i : ap j i ∈ AP = {⊥ , Unique , Full , Pure , Immutable , Share } ◮ Typestate associated to object reference r j i : i , . . . , t h i ts i ∈ T S i = {⊥} ∪ { t 1 i } ◮ Program Counter associated to method m i : ( pc j i , . . . M m i � {⊥} ∪ { M 1 � i ) ∈ PC i = { Exe , notExe } × i } Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  7. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm States Space and Relations Model Structure Demonstration through Eclipse Conclusion States Space and Relations ◮ Set of potential global states S:   c K � � � i , . . . , t h i � ⊥ , t 1 S = × ( PC i × AP )   i i =1 j =0 ◮ Transition relation between states: R ⊆ S × S . Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  8. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Translation Algorithm(Co.) Model Structure Demonstration through Eclipse Conclusion Translation Algorithm @Perm( requires=”full(this) in A” , ensures=”full(this) in B” ) StartMethod( s : GlobalState , t : GlobalTypestate , r j i : Reference , �� � � �� r j 0 i 0 , ts k 0 r j 1 i 1 , ts k 1 m : Method i , i 0 , ap 0 i 1 , ap 1 : Triple × Triple ) , s [ i ][ j ] . ap � = ⊥ ∧ s [ i ][ j ] . pc = (notExe , · ) ∧ t [ i 0 ] = ts j 0 guard ← i 0 ∧ Comp ( s [ i 0 ][ j 0 ] . ap , ap 0 ) ∧ Comp ( s [ i 1 ][ j 1 ] . ap , ap 1 ) s ′ [ i ][ j ] . pc = (Exe , m ) ∧ ChangePermission ( s [ i 0 ][ j 0 ] , ap 0 ) update ← return guard ⇒ update Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  9. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Translation Algorithm(Co.) Model Structure Demonstration through Eclipse Conclusion Translation Algorithm (Co.) EndMethod( s : GlobalState , t : GlobalTypestate , r j i : Reference , �� � � �� r j 0 r j 1 i 0 , ts k 0 i 1 , ts k 1 m : Method i , i 0 , ap 0 i 1 , ap 1 : Triple × Triple ) , guard ← s [ i ][ j ] . pc = (Exe , m ) t ′ [ i 1 ] = ts k 1 update ← i 1 ∧ s ′ [ i 1 ][ j 1 ] . ap = ap 1 ∧ s ′ [ i ][ j ] . pc = (notExe , m m ) ∧ ChangePermission ( s [ i 1 ][ j 1 ] . ap , ap 1 ) return guard ⇒ update Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  10. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm CTL Properties Model Structure Demonstration through Eclipse Conclusion Model Structure ◮ Variables Declarations ◮ Variables Initilisation ◮ Transitions Relations ◮ Create Alias ◮ CTL Properties Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  11. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm CTL Properties Model Structure Demonstration through Eclipse Conclusion CTL Properties ◮ Sink States (Deadlock) deadlock : ¬ EX ( true ) ◮ Typesates Transition Matrix(Graph) adjacent i ( t 1 , t 2 ) : state i = t 1 ∧ EX ( state i = t 2 ) ◮ Concurrency concurrent i ( m 1 , m 2 ) : � � pc j 1 i = ( m 1 , Exe ) ∧ pc j 2 i = ( m 2 , Exe ) EF ◮ Methods Reachability � � method j pc j i : EX i = ( m i , Exe ) Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  12. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Demonstration through Eclipse Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  13. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Conclusion ◮ Implementation contains Simple Plural Specification Specification with @Cases Specification with Parameters Specification with @Refine Clause Specification with *(and) Clause ◮ Implementation does not contain Abstraction for state invaraiants Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

  14. Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Conclusion (co.) ◮ New window to evaluate Plural specifications ◮ Enhances existing strengths of Plural ◮ Approach is scalable ◮ Practically useful evaluated through MTTS ◮ Find numerous error typesate and method reachability Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

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