| 摘要 | 第1-6页 |
| ABSTRACT | 第6-8页 |
| 目录 | 第8-11页 |
| 图目录 | 第11-12页 |
| 表目录 | 第12-13页 |
| 第1章 绪论 | 第13-19页 |
| ·研究背景 | 第13-14页 |
| ·研究现状 | 第14-15页 |
| ·研究内容与贡献 | 第15-17页 |
| ·论文结构 | 第17-19页 |
| 第2章 软件安全缺陷 | 第19-62页 |
| ·常见的软件安全缺陷 | 第19-22页 |
| ·缓冲区溢出 | 第19-20页 |
| ·运算溢出 | 第20-21页 |
| ·资源泄漏 | 第21-22页 |
| ·安全缺陷的发掘方法 | 第22-24页 |
| ·软件缺陷发掘方法 | 第22-23页 |
| ·缺陷模式 | 第23页 |
| ·缺陷模式示例 | 第23-24页 |
| ·漏洞的手工分析方法 | 第24-61页 |
| ·漏洞的基本信息 | 第24-25页 |
| ·漏洞的机理分析 | 第25-26页 |
| ·漏洞的利用价值 | 第26页 |
| ·漏洞研究平台环境的搭建 | 第26-27页 |
| ·漏洞溢出点的定位、触发流程 | 第27-34页 |
| ·漏洞的动态调试和内存空间分析 | 第34-42页 |
| ·漏洞利用程序的编写和测试 | 第42-60页 |
| ·讨论 | 第60-61页 |
| ·本章小结 | 第61-62页 |
| 第3章 白盒测试策略和自动测试生成 | 第62-70页 |
| ·基于路径分析的白盒测试策略 | 第63-66页 |
| ·控制流测试策略 | 第63-64页 |
| ·数据流测试策略 | 第64-65页 |
| ·路径覆盖策略的相互关系 | 第65-66页 |
| ·基于符号执行的自动测试生成方法 | 第66-69页 |
| ·程序静态分析 | 第66-67页 |
| ·符号执行在自动测试生成中的应用 | 第67-68页 |
| ·基于符号执行的自动测试生成方法的改进 | 第68页 |
| ·约束求解 | 第68-69页 |
| ·本章小结 | 第69-70页 |
| 第4章 需求驱动的软件安全缺陷自动测试生成 | 第70-90页 |
| ·需求驱动的白盒测试策略 | 第70-71页 |
| ·补丁指导的自动测试生成方法 | 第71-79页 |
| ·补丁信息 | 第71-73页 |
| ·方法框架 | 第73-74页 |
| ·程序模型 | 第74-75页 |
| ·路径查找算法 | 第75-77页 |
| ·符号执行算法 | 第77-79页 |
| ·按需回溯的自动测试生成方法 | 第79-89页 |
| ·一个例子 | 第80-81页 |
| ·回溯的测试生成 | 第81-83页 |
| ·程序模型 | 第83-84页 |
| ·过程内分析阶段 | 第84-86页 |
| ·回溯阶段 | 第86-87页 |
| ·展开阶段 | 第87-88页 |
| ·讨论 | 第88-89页 |
| ·本章小结 | 第89-90页 |
| 第5章 需求驱动的安全缺陷自动检测系统的设计与原型实现 | 第90-106页 |
| ·总体框架 | 第90-91页 |
| ·C2Simulator模块 | 第91-93页 |
| ·算法 | 第91-92页 |
| ·接口 | 第92-93页 |
| ·讨论 | 第93页 |
| ·Gcc2Phx模块 | 第93-96页 |
| ·算法 | 第94-95页 |
| ·接口 | 第95-96页 |
| ·讨论 | 第96页 |
| ·缺陷检测模块 | 第96-103页 |
| ·算法 | 第97-100页 |
| ·接口 | 第100-102页 |
| ·讨论 | 第102-103页 |
| ·结果显示模块 | 第103页 |
| ·实验结果与分析 | 第103-105页 |
| ·本章小结 | 第105-106页 |
| 第6章 结束语 | 第106-109页 |
| ·本文的主要工作 | 第106-107页 |
| ·本文的贡献 | 第107-108页 |
| ·未来的工作 | 第108-109页 |
| 参考文献 | 第109-118页 |
| 致谢 | 第118-119页 |
| 在读期间发表的学术论文与取得的研究成果 | 第119-120页 |
| 在读期间参加的科研项目 | 第120页 |