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

pulse plural to evmdd smc the compiler and model generator
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 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

slide-3
SLIDE 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

slide-4
SLIDE 4

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Contributions

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

slide-5
SLIDE 5

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Contributions

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

slide-6
SLIDE 6

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion States Space and Relations

Abstract Models of Specifications

◮ Access Permissions associated to object reference rj i :

apj

i ∈ AP = {⊥, Unique, Full, Pure, Immutable, Share} ◮ Typestate associated to object referencerj i :

tsi ∈ T Si = {⊥} ∪ {t1

i , . . . , thi i } ◮ Program Counter associated to method mi:

(pcj

i) ∈ PCi = {Exe, notExe} ×

  • {⊥} ∪ {M1

i , . . . Mmi i }

  • Ijaz Ahmed N´

estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

slide-7
SLIDE 7

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion States Space and Relations

States Space and Relations

◮ Set of potential global states S:

S =

c

  • i=1

 

  • ⊥, t1

i , . . . , thi i

  • ×

K

  • j=0

(PCi × AP)  

◮ 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

slide-8
SLIDE 8

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Translation Algorithm(Co.)

Translation Algorithm

@Perm(requires=”full(this) in A”, ensures=”full(this) in B”) StartMethod( s:GlobalState, t:GlobalTypestate, rj

i :Reference,

m:Methodi,

  • rj0

i0 , tsk0 i0 , ap0

  • ,
  • rj1

i1 , tsk1 i1 , ap1

  • :Triple × Triple )

guard ← s[i][j].ap = ⊥ ∧ s[i][j].pc = (notExe, ·) ∧ t[i0] = tsj0

i0 ∧

Comp (s[i0][j0].ap, ap0) ∧ Comp (s[i1][j1].ap, ap1) update ← s′[i][j].pc = (Exe, m) ∧ ChangePermission (s[i0][j0], ap0) return guard ⇒ update

Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

slide-9
SLIDE 9

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion Translation Algorithm(Co.)

Translation Algorithm (Co.)

EndMethod( s: GlobalState, t: GlobalTypestate, rj

i : Reference,

m : Methodi,

  • rj0

i0 , tsk0 i0 , ap0

  • ,
  • rj1

i1 , tsk1 i1 , ap1

  • :Triple ×Triple )

guard ← s[i][j].pc = (Exe, m) update ← t′[i1] = tsk1

i1 ∧ s′[i1][j1].ap = ap1 ∧ s′[i][j].pc = (notExe, m

m) ∧ ChangePermission (s[i1][j1].ap, ap1) return guard ⇒ update

Ijaz Ahmed N´ estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

slide-10
SLIDE 10

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion CTL Properties

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

slide-11
SLIDE 11

Plural and EVMDD-SMC Pulse Abstract Models of Specifications Translation Algorithm Model Structure Demonstration through Eclipse Conclusion CTL Properties

CTL Properties

◮ Sink States (Deadlock)

deadlock : ¬EX(true)

◮ Typesates Transition Matrix(Graph)

adjacenti (t1, t2) : statei = t1 ∧ EX(statei = t2)

◮ Concurrency

concurrenti (m1, m2) : EF

  • pcj1

i = (m1, Exe) ∧ pcj2 i = (m2, Exe)

  • ◮ Methods Reachability

methodj

i : EX

  • pcj

i = (mi, Exe)

  • Ijaz Ahmed N´

estor Cata˜ no Radu I. Siminiceanu Pulse: Plural To EVMDD-SMC The Compiler and Model Generato

slide-12
SLIDE 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

slide-13
SLIDE 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

slide-14
SLIDE 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