【教学课件】第7章程序验证.ppt
《【教学课件】第7章程序验证.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第7章程序验证.ppt(32页珍藏版)》请在三一办公上搜索。
1、第7章 程序验证,内容概述程序逻辑:描述和论证程序行为的逻辑Hoare逻辑Dijkstra最弱前条件演算从程序到定理验证条件生成从定理到证明定理证明器判定过程循环不变式的推断以George C.Necula教授的讲稿为主来介绍,程 序 逻 辑,Hoare逻辑良形公式(well-formed formula)的形式为 P C Q C是程序片段需要介绍编程语言P 和Q是断言需要介绍断言及推理规则 P C Q 称为程序规范需要介绍规范语言及推理规则Hoare逻辑也称为语言的一种公理语义,作为例子的核心编程语言,语法整数表达式E:=n|x|E|E+E|E E|E E|(E)布尔表达式B:=true|f
2、alse|!B|B y=y z,Hoare逻辑,断言语言用来描述程序变量满足的性质,如x=5,x+y 30通常,断言P,Q的语法同编程语言布尔表达式的语法有些区别:如可以出现量词Hoare逻辑的良形公式 P C Q C是一段程序,P和Q分别是C的前条件和后条件例如 x=5 x=x+1 x=6,Hoare逻辑,Hoare逻辑良形公式 P C Q 的解释部分正确性在满足P的任何状态下执行C,若C终止则结果状态一定满足Q。记作 par P C Q 完全正确性在满足P的任何状态下执行C,则C一定终止并且结果状态一定满足Q。记作 tot P C Q 通常建议用部分正确性证明终止性证明来得到完全正确性证明
3、,Hoare逻辑,例1 Succ 例2 Fac1 x=0 a=x+1;y=1;if(a-1=0)z=0;y=1;while(z!=x)else z=z+1;y=a;y=y z;y=x+1 y=x!,Hoare逻辑,例2 Fac1 例3 Fac2 x=0 x0是辅助的逻辑变量 y=1;x=0 x=x0 z=0;y=1;while(z!=x)while(x!=0)z=z+1;y=y x;y=y z;x=x 1;y=x!y=x0!,Hoare逻辑,部分正确性的证明规则赋值公理赋值公理的实例 2=2 x=2 x=2 2=4 x=2 x=4 2=y x=2 x=y 2 0 x=2 x 0 x+1+5=y
4、 x=x+1 x+5=y x+1 0 y 0 x=x+1 x 0 y 0,Hoare逻辑,部分正确性的证明规则赋值公理复合规则条件规则循环规则,Hoare逻辑,部分正确性的证明规则推论规则AR P P 表示P P在谓词逻辑的自然演绎演算中可以证明,Hoare逻辑,n=0function mult(m,n)(0=m0)(0=n)x=0;(x=m0)(0=n)y=0;(x=my)(y=n)while y n do(x+m=m(y+1)(y+1)=n)x=x+m;(x=m(y+1)(y+1)=n)y=y+1;(x=my)(y=n)x=m n,/一个简单的例子,最弱前条件演算,Dijkstra的思路为
5、了验证 P C Q,找出所有使得 P C Q 的断言P,称为Pre(C,Q)验证存在P Pre(C,Q)that P P这些断言形成一个格变成计算WP(C,Q)并且证明P WP(C,Q),最弱前条件演算,断言形成一个格 WP(C,Q)=lub(Pre(C,Q)按上面的式子计算WP(C,Q)有时是困难的1、lub P1,P2=P1 P22、lub PS=PPS P3、但是当集合PS无限时怎么办?,最弱前条件演算,断言形成一个格 WP(C,Q)=lub(Pre(C,Q)按上面的式子计算WP(C,Q)有时是困难的1、lub P1,P2=P1 P22、lub PS=PPS P3、但是当集合PS无限时怎
6、么办?即使得到了WP(C,Q),检查蕴涵P WP(C,Q)也可能是困难的,最弱前条件演算,演算规则(和Hoare逻辑规则对比)WP(x=E,Q)=QE/xWP(C1;C2,Q)=WP(C1,WP(C2,Q)WP(if B C1 else C2,Q)=(B WP(C1,Q)(B WP(C2,Q),最弱前条件演算,演算规则对于循环语句怎么办?定义一族WPWPk(while B C,Q)=“循环的执行终止于不多于k次的迭代,其终止状态满足Q”的最弱前条件:WP0=B QWP1=B WP(C,WP0)B Q.WP(while B C,Q)=k 0WPk=lubWPk|k 0,最弱前条件演算,演算规则计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 章程 验证

链接地址:https://www.31ppt.com/p-5659405.html