面向程序验证的循环不变式自动构造技术研究
| 摘要 | 第1-10页 |
| ABSTRACT | 第10-12页 |
| 第一章 绪论 | 第12-26页 |
| ·引言 | 第12-14页 |
| ·研究对象和成果 | 第14-15页 |
| ·相关研究工作 | 第15-23页 |
| ·可满足性理论 | 第15-17页 |
| ·循环不变式构造算法 | 第17-18页 |
| ·面向软件源程序的形式化分析与验证方法 | 第18-23页 |
| ·本文结构 | 第23-26页 |
| 第二章 程序验证与循环不变式构造的基本概念和方法 | 第26-36页 |
| ·基本模型和概念 | 第26-29页 |
| ·最强后置条件 | 第26-27页 |
| ·最弱前置条件 | 第27页 |
| ·Hoare 推理系统 | 第27-28页 |
| ·迁移系统 | 第28页 |
| ·循环不变式 | 第28-29页 |
| ·多项式理想与Gr(o|¨)bner 基 | 第29-32页 |
| ·循环不变式自动构造技术 | 第32-35页 |
| ·基于抽象解释的循环不变式构造技术 | 第32-33页 |
| ·基于约束求解的循环不变式构造技术 | 第33-35页 |
| ·本章小结 | 第35-36页 |
| 第三章 循环不变式构造中的控制流精化技术 | 第36-56页 |
| ·引言 | 第36-37页 |
| ·非确定分支程序模型 | 第37-39页 |
| ·循环不变式构造中的控制流精化 | 第39-52页 |
| ·赋值循环 | 第39-41页 |
| ·多路径循环 | 第41-42页 |
| ·控制流精化算法 | 第42-49页 |
| ·算法分析 | 第49-52页 |
| ·析取形式的循环不变式 | 第52-53页 |
| ·安全性质验证 | 第53-54页 |
| ·本章小结 | 第54-56页 |
| 第四章 基于表达式有限差分的循环不变式构造技术 | 第56-68页 |
| ·引言 | 第56页 |
| ·基于表达式有限差分的不变式构造技术 | 第56-62页 |
| ·表达式的有限差分 | 第56-58页 |
| ·基于有限差分的循环不变式构造算法 | 第58-61页 |
| ·约束求解 | 第61-62页 |
| ·应用分析 | 第62-65页 |
| ·本章小结 | 第65-68页 |
| 第五章 基于QBF的循环不变式构造技术 | 第68-92页 |
| ·引言 | 第68-69页 |
| ·QBF 及其求解算法 | 第69-80页 |
| ·QBF 基础 | 第69-70页 |
| ·QBF求解算法 | 第70-77页 |
| ·QBF求解算法中的常用的优化技术 | 第77-80页 |
| ·基于QBF 的循环不变式构造算法 | 第80-83页 |
| ·约束生成 | 第81-82页 |
| ·约束求解 | 第82-83页 |
| ·启发式策略 | 第83-85页 |
| ·循环不变式构造工具与实验结果 | 第85-90页 |
| ·基于QBF 的不变式构造工具 | 第85-86页 |
| ·实验结果与分析 | 第86-90页 |
| ·本章小结 | 第90-92页 |
| 第六章 循环不变式与程序验证 | 第92-110页 |
| ·引言 | 第92-93页 |
| ·缓冲区溢出漏洞 | 第93-95页 |
| ·缓冲区溢出漏洞的类型 | 第93-94页 |
| ·缓冲区溢出漏洞的刻画 | 第94-95页 |
| ·基于符号执行的漏洞检测技术 | 第95-105页 |
| ·程序代码预处理技术 | 第95-96页 |
| ·循环处理技术 | 第96页 |
| ·函数调用的处理技术 | 第96页 |
| ·基址安全表达式 | 第96-102页 |
| ·优化的符号执行过程 | 第102-104页 |
| ·循环不变式 | 第104-105页 |
| ·实验结果 | 第105-107页 |
| ·相关工作 | 第107-108页 |
| ·本章小结 | 第108-110页 |
| 第七章 总结与展望 | 第110-112页 |
| ·本文的主要工作 | 第110-111页 |
| ·进一步的工作 | 第111-112页 |
| 致谢 | 第112-114页 |
| 参考文献 | 第114-121页 |
| 攻读博士学位期间撰写的主要论文 | 第121-122页 |
| 攻读博士学位期间参加的主要科研工作 | 第122页 |