程序验证中的规约生成与验证技术研究
摘要 | 第4-7页 |
Abstract | 第7-9页 |
第一章 绪论 | 第16-23页 |
1.1 研究背景 | 第16-18页 |
1.2 研究问题 | 第18-20页 |
1.2.1 循环 | 第18-19页 |
1.2.2 类库 | 第19-20页 |
1.3 主要工作 | 第20-21页 |
1.4 论文组织结构 | 第21-23页 |
第二章 程序分析验证的基本概念和相关工作 | 第23-35页 |
2.1 逻辑 | 第23-27页 |
2.1.1 Hoare逻辑 | 第23页 |
2.1.2 Scope逻辑 | 第23-27页 |
2.2 程序规约 | 第27-30页 |
2.2.1 循环不变式 | 第27-28页 |
2.2.2 最弱前置条件 | 第28-29页 |
2.2.3 最强后置条件 | 第29-30页 |
2.3 规约的自动生成技术 | 第30-33页 |
2.3.1 循环不变式的构造技术 | 第30-31页 |
2.3.2 循环的前置条件的计算技术 | 第31-32页 |
2.3.3 循环摘要的生成技术 | 第32-33页 |
2.3.4 环境模型的构建技术 | 第33页 |
2.4 本章小结 | 第33-35页 |
第三章 基于断言的循环不变式的自动生成 | 第35-53页 |
3.1 循环类型 | 第35-39页 |
3.2 基于后置条件的循环不变式构造技术 | 第39-45页 |
3.2.1 非循环单链表的规则 | 第40-42页 |
3.2.2 数组的规则 | 第42-45页 |
3.3 基于循环体断言的循环不变式构造技术 | 第45-48页 |
3.3.1 全称量词的引入 | 第46-47页 |
3.3.2 递推关系 | 第47-48页 |
3.4 证明循环不变式的正确性 | 第48-49页 |
3.5 实现与实例研究 | 第49-52页 |
3.5.1 实例研究 | 第50-52页 |
3.6 本章小结 | 第52-53页 |
第四章 基于语句摘要的规约的自动生成 | 第53-72页 |
4.1 语句摘要的定义 | 第53-56页 |
4.2 非循环语句的摘要的自动合成方法 | 第56-58页 |
4.2.1 赋值语句的摘要的自动合成 | 第56页 |
4.2.2 顺序语句的摘要的自动合成 | 第56-57页 |
4.2.3 条件语句的摘要的自动合成 | 第57-58页 |
4.3 循环语句的摘要的自动合成方法 | 第58-63页 |
4.3.1 元组合成方法 | 第59-61页 |
4.3.2 元组转换方法 | 第61-62页 |
4.3.3 嵌套循环 | 第62-63页 |
4.4 语句摘要的应用 | 第63-68页 |
4.4.1 后置条件的生成 | 第63-64页 |
4.4.2 前置条件的生成 | 第64-68页 |
4.4.3 循环不变式的生成 | 第68页 |
4.5 实例研究 | 第68-71页 |
4.6 本章小结 | 第71-72页 |
第五章 基于类库模型的规约生成 | 第72-108页 |
5.1 方法概述 | 第73-76页 |
5.1.1 基本思想 | 第73-74页 |
5.1.2 整体设计 | 第74-76页 |
5.2 文本抽取与分析 | 第76-78页 |
5.2.1 Javadoc解析器 | 第76-77页 |
5.2.2 预处理器 | 第77-78页 |
5.2.3 文本分析引擎 | 第78页 |
5.3 树结构的变换 | 第78-82页 |
5.4 中间表示的生成 | 第82-89页 |
5.4.1 参数识别 | 第83-87页 |
5.4.2 程序结构识别 | 第87-89页 |
5.5 模型的合成 | 第89-91页 |
5.6 模型的过滤 | 第91-93页 |
5.7 规约的生成 | 第93-95页 |
5.8 实验评估 | 第95-106页 |
5.8.1 整体结果 | 第96-100页 |
5.8.2 模型与类库的比较 | 第100-103页 |
5.8.3 静态污点分析 | 第103-105页 |
5.8.4 动态切片分析 | 第105-106页 |
5.9 本章小结 | 第106-108页 |
第六章 总结与展望 | 第108-112页 |
6.1 论文的主要工作 | 第108-110页 |
6.2 进一步的工作 | 第110-112页 |
参考文献 | 第112-121页 |
攻读博士学位期间发表的论文 | 第121-123页 |
致谢 | 第123-125页 |