Download presentation
Presentation is loading. Please wait.
Published byClifford Burke Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.