基于断言制导的多线程符号执行的设计与实现
| 摘要 | 第5-6页 |
| ABSTRACT | 第6-7页 |
| 缩略语对照表 | 第10-13页 |
| 第一章 绪论 | 第13-19页 |
| 1.1 研究背景与意义 | 第13-14页 |
| 1.2 国内外研究现状 | 第14-16页 |
| 1.3 研究内容和组织结构 | 第16-19页 |
| 1.3.1 研究内容 | 第16页 |
| 1.3.2 组织结构 | 第16-19页 |
| 第二章 相关理论与技术 | 第19-29页 |
| 2.1 动态符号执行概述 | 第19-23页 |
| 2.1.2 动态符号执行基本流程 | 第19-21页 |
| 2.1.3 动态符号执行各模块介绍 | 第21-22页 |
| 2.1.4 动态符号执行面临的挑战 | 第22-23页 |
| 2.2 KLEE概述 | 第23-26页 |
| 2.2.1 解释模块 | 第24页 |
| 2.2.2 符号表示模块 | 第24页 |
| 2.2.3 约束求解模块 | 第24页 |
| 2.2.4 路径选择模块 | 第24-26页 |
| 2.2.5 错误检测模块 | 第26页 |
| 2.3 Cloud9概述 | 第26-27页 |
| 2.4 本章小结 | 第27-29页 |
| 第三章 基于断言制导的多线程符号执行的设计 | 第29-43页 |
| 3.1 一般多线程符号执行 | 第29-33页 |
| 3.1.1 多线程程序的描述 | 第29-30页 |
| 3.1.2 广义交错图 | 第30-32页 |
| 3.1.3 算法描述 | 第32-33页 |
| 3.2 基于断言制导的多线程符号执行 | 第33-41页 |
| 3.2.1 主要思想 | 第33-36页 |
| 3.2.2 算法描述 | 第36-38页 |
| 3.2.3 最弱前置条件的计算 | 第38-39页 |
| 3.2.4 b-PP结点的谓词摘要 | 第39页 |
| 3.2.5 i-PP结点的谓词摘要 | 第39-40页 |
| 3.2.6 基于谓词摘要的冗余执行修剪 | 第40页 |
| 3.2.7 谓词摘要的优化 | 第40-41页 |
| 3.3 本章小结 | 第41-43页 |
| 第四章 基于断言制导的多线程符号执行的实现 | 第43-55页 |
| 4.1 方法实现的流程框架 | 第43-44页 |
| 4.2 符号执行模块 | 第44-46页 |
| 4.3 谓词摘要计算模块 | 第46-51页 |
| 4.3.1 递归过程的实现 | 第47-48页 |
| 4.3.2 结点分类的实现 | 第48-50页 |
| 4.3.3 状态更新的实现 | 第50页 |
| 4.3.4 谓词摘要生成的实现 | 第50-51页 |
| 4.4 冗余执行修剪模块 | 第51-53页 |
| 4.5 本章小结 | 第53-55页 |
| 第五章 实验与结果分析 | 第55-61页 |
| 5.1 实验环境介绍 | 第55页 |
| 5.2 实验测试 | 第55-59页 |
| 5.3 实验结果分析 | 第59-60页 |
| 5.4 本章小结 | 第60-61页 |
| 第六章 总结与展望 | 第61-63页 |
| 6.1 总结 | 第61页 |
| 6.2 展望 | 第61-63页 |
| 参考文献 | 第63-67页 |
| 致谢 | 第67-69页 |
| 作者简介 | 第69-70页 |