| 摘要 | 第5-6页 |
| ABSTRACT | 第6页 |
| 缩略语对照表 | 第9-12页 |
| 第一章 绪论 | 第12-18页 |
| 1.1 课题研究的意义和背景 | 第12-13页 |
| 1.2 国内外研究与发展现状 | 第13-15页 |
| 1.3 研究内容和目标 | 第15-16页 |
| 1.4 论文结构 | 第16-18页 |
| 第二章 相关技术与工具 | 第18-28页 |
| 2.1 CPAChecker简介 | 第18-22页 |
| 2.1.1 CPAChecker概要 | 第18页 |
| 2.1.2 抽象 | 第18-19页 |
| 2.1.3 验证 | 第19-20页 |
| 2.1.4 细化 | 第20页 |
| 2.1.5 控制流自动机与抽象可达图 | 第20-21页 |
| 2.1.6 抽象数据结构CPA | 第21-22页 |
| 2.1.7 路径公式 | 第22页 |
| 2.2 CIL工具简介 | 第22-23页 |
| 2.3 求解器介绍 | 第23-27页 |
| 2.3.1 SMT | 第23-24页 |
| 2.3.2 Z3求解器 | 第24-26页 |
| 2.3.3 SMTInterpol求解器 | 第26页 |
| 2.3.4 Craig插值 | 第26-27页 |
| 2.4 本章小结 | 第27-28页 |
| 第三章 基于模型检测的C程序循环检测方法 | 第28-38页 |
| 3.1 抽象模型检测方法 | 第28-29页 |
| 3.2 以CPAChecker为例的CEGAR算法 | 第29-30页 |
| 3.3 改进的算法框架 | 第30-33页 |
| 3.4 简单循环的检测流程 | 第33-36页 |
| 3.5 本章小结 | 第36-38页 |
| 第四章 简单循环的检测和实现 | 第38-58页 |
| 4.1 简单循环处理的总体算法 | 第38-40页 |
| 4.2 模拟执行次数的计算方法 | 第40-43页 |
| 4.3 简单循环的处理 | 第43-57页 |
| 4.3.1 循环的分类 | 第43-48页 |
| 4.3.2 简单循环数据的收集 | 第48-54页 |
| 4.3.3 简单循环公式的生成 | 第54-57页 |
| 4.4 本章小结 | 第57-58页 |
| 第五章 实验结果与分析 | 第58-60页 |
| 第六章 总结与展望 | 第60-62页 |
| 6.1 总结 | 第60页 |
| 6.2 展望 | 第60-62页 |
| 参考文献 | 第62-66页 |
| 致谢 | 第66-68页 |
| 作者简介 | 第68-69页 |