Introduc)on ¡to ¡Program ¡ Verifica)on ¡
CSE ¡501 ¡ Spring ¡15 ¡
1 ¡
Introduc)on to Program Verifica)on CSE 501 Spring 15 - - PowerPoint PPT Presentation
Introduc)on to Program Verifica)on CSE 501 Spring 15 1 Announcements Project midpoint report due tonight at 11pm Submit on dropbox 2 Course
1 ¡
2 ¡
3 ¡
4 ¡
5 ¡
– Define ¡the ¡seman)cs ¡of ¡a ¡construct ¡by ¡describing ¡its ¡effect ¡on ¡ asser%ons ¡about ¡the ¡program ¡state. ¡ ¡
– A ¡language ¡for ¡sta)ng ¡asser)ons ¡(“the ¡asser)on ¡logic”) ¡ ¡
– Deduc)ve ¡rules ¡(“the ¡program ¡logic”) ¡for ¡establishing ¡the ¡truth ¡of ¡such ¡ asser)ons ¡ ¡
6 ¡
7 ¡
8 ¡
9 ¡
10 ¡
11 ¡
12 ¡
13 ¡
⊢ {A[x à e]} x := e {A} ⊢ {A∧b} c1 {B} ⊢ {A∧¬b} c2 {B} ⊢ {A} if b then c1 else c2 {B} ⊢ {A∧b} c {A} ⊢ {A} while b do c {A∧¬b} ⊢ {A} c1 {C} ⊢ {C} c2 {B} ⊢ {A} c1 ; c2 {B}
⊢ A’ à A ⊢ {A} c {B} ⊢ {B à B’} ⊢ {A’} c {B’}
arithme)c ¡(Gödel) ¡
14 ¡
{ x=x0 and y=y0 } if(x > y){ t = x – y; while(t > 0){ x = x – 1; y = y + 1; t = t – 1; } } { x0 > y0 ⇒ y=x0 and x=y0 }
16 ¡
⊢ [𝐵 ∧ 𝑐]𝑑1 ¡[𝐶] ¡ ¡ ¡ ¡ ¡⊢ [𝐵 ∧ 𝑜𝑝𝑢 ¡𝑐]𝑑2 ¡[𝐶] ⊢ [𝐵]𝑗𝑔 ¡𝑐 ¡𝑢ℎ𝑓𝑜 ¡𝑑1𝑓𝑚𝑡𝑓 ¡𝑑2 ¡[𝐶]
¡
19 ¡
20 ¡
Command ¡ Predicate ¡ P ¡ Q
22 ¡
23 ¡
24 ¡
25 ¡
26 ¡
27 ¡
28 ¡
29 ¡
30 ¡
31 ¡
32 ¡
33 ¡
34 ¡
35 ¡
36 ¡
37 ¡