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

Recommend


More recommend