基于抽象解释的带指针算术程序的分析方法
| 摘要 | 第9-10页 |
| ABSTRACT | 第10页 |
| 第一章 绪论 | 第11-18页 |
| 1.1 研究背景 | 第11-12页 |
| 1.2 研究动机 | 第12-13页 |
| 1.3 研究目标及主要结果 | 第13-14页 |
| 1.4 相关工作 | 第14-16页 |
| 1.5 论文结构 | 第16-18页 |
| 第二章 抽象解释与指针分析技术 | 第18-26页 |
| 2.1 抽象解释 | 第18-21页 |
| 2.1.1 偏序和格 | 第18-19页 |
| 2.1.2 抽象解释理论 | 第19-21页 |
| 2.2 指针分析技术 | 第21-25页 |
| 2.2.1 指针内存模型 | 第21-25页 |
| 2.2.2 指针分析算法 | 第25页 |
| 2.3 本章小结 | 第25-26页 |
| 第三章 指针内存模型的设计及指向抽象域的实现 | 第26-38页 |
| 3.1 指针内存模型的设计与分析 | 第26-31页 |
| 3.1.1 指针内存模型的定义 | 第26-27页 |
| 3.1.2 动态和静态指针信息的提取 | 第27-29页 |
| 3.1.3 指针算术的分析思路 | 第29-31页 |
| 3.2 指向抽象域的设计 | 第31-36页 |
| 3.2.1 域表示 | 第31-32页 |
| 3.2.2 域操作 | 第32-36页 |
| 3.3 本章小结 | 第36-38页 |
| 第四章 指向分析和数值分析的结合 | 第38-51页 |
| 4.1 指向关系的抽象与分析 | 第38-40页 |
| 4.2 数值性质的抽象与分析 | 第40-43页 |
| 4.2.1 基于抽象解释的数值分析 | 第40-42页 |
| 4.2.2 面向指针内存模型的数值抽象与分析 | 第42-43页 |
| 4.3 指向分析与数值分析的结合 | 第43-50页 |
| 4.3.1 指向抽象与数值抽象的结合语义 | 第43-45页 |
| 4.3.2 基于指针算术的数组操作分析 | 第45-49页 |
| 4.3.3 指向与数值抽象相结合的实例分析 | 第49-50页 |
| 4.4 本章小结 | 第50-51页 |
| 第五章 基于抽象解释的工具原型及实验结果 | 第51-70页 |
| 5.1 工具原型基本框架 | 第51-65页 |
| 5.1.1 编译前端CIL | 第52-55页 |
| 5.1.2 抽象域库 | 第55-58页 |
| 5.1.3 不动点求解模块 | 第58-61页 |
| 5.1.4 报警模块 | 第61-65页 |
| 5.2 工具原型的实验结果与分析 | 第65-68页 |
| 5.1.1 实验结果分析 | 第65-66页 |
| 5.1.2 工具原型PAA精度分析 | 第66-68页 |
| 5.3 本章小结 | 第68-70页 |
| 第六章 结束语 | 第70-72页 |
| 6.1 工作总结 | 第70-71页 |
| 6.2 研究展望 | 第71-72页 |
| 致谢 | 第72-73页 |
| 参考文献 | 第73-76页 |
| 作者在学期间取得的学术成果 | 第76页 |