Presentation is loading. Please wait.

Presentation is loading. Please wait.

Construction of Abstract State Graphs with PVS Susanne Graf and Hassen Saidi VERIMAG.

Similar presentations


Presentation on theme: "Construction of Abstract State Graphs with PVS Susanne Graf and Hassen Saidi VERIMAG."— Presentation transcript:

1 Construction of Abstract State Graphs with PVS Susanne Graf and Hassen Saidi VERIMAG

2 Summary of the Paper Method based on abstract interpretation –a weaker abstract transition relation –automatically construct an abstract state graph –input: infinite state program Monomials: particular set of abstract states –defined w.r.t. a set of state predicates  1...  k Successor states: computed by using PVS –upper approximation of the successor states Construct abstract state graph –verify invariants –LTL prop. by MC

3 Summary of the Paper (2) Abstract State Graph: –represents a relatively precise global control flow graph of the system –can be used to generate stronger structural invariants –assumes that control depends on data Implemented the method in a tool: –interfaced with PVS, ALDÉBARAN Verified bounded retransmission protocol: –protocol developed by Philips –used the tool to prove correctness almost automatically

4 Parallel Systems: Syntax Basic intuition: parallel composition of processes by interleaving and synchronization by shared variables (unity) Process: process P is varsx 1 :T 1,..., x n :T n → global, what P uses initinit_pred(x 1,..., x n )→ implicit pc (control var) update □ g 1 (x) → ass 1 (x)-  1 □ g n (x) → ass n (x)-  n Parallel composition (P 1 || P 2 ): is a process P s.t. P_init = P 1 _init  P 2 _init P_vars = P 1 _vars  P 2 _vars P_upd = P 1 _upd  P 2 _upd Type - might be infinite (PVS type)

5 Transition Graph for P Given is P (vars, init, update) Define the transition graph S P = (Q P, R P, I P ) Q P = T 1 x... x T n R P = U  i where  i (q) = I P = {q | init(q) = true} R P : Q P → P(Q P ) ≡ R P  Q P x Q P i=1 P  if g i (q) = false ass i (q) otherwise

6 Predicate Transformers Definition: R  Q x Q and   P(Q) {  } g → ass {  } strongest postcondition:post[R](  ) =  q. R(q,q')   (q) weakest precondition:pre[R](  ) =  q'. R(q,q')   (q') R(q, q 1 )   (q 1 ) ... R(q, q n )   (q n ) property:  = post[R](  )   = pre[R](  ) preconditionpostcondition set of guarded assignments ass(q) pre[  i ](  ) = g i (x)   [ass i (x) / x]  no quantifiers


Download ppt "Construction of Abstract State Graphs with PVS Susanne Graf and Hassen Saidi VERIMAG."

Similar presentations


Ads by Google