摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第1章 绪论 | 第10-18页 |
1.1 研究背景及意义 | 第10-11页 |
1.2 国内外研究现状 | 第11-16页 |
1.2.1 模糊测试研究现状 | 第12-13页 |
1.2.2 符号执行研究现状 | 第13-15页 |
1.2.3 基于动态符号执行的模糊测试研究现状 | 第15-16页 |
1.3 主要研究内容 | 第16页 |
1.4 论文组织与结构 | 第16-17页 |
1.5 本章小结 | 第17-18页 |
第2章 相关理论与方法 | 第18-26页 |
2.1 模糊测试 | 第18-21页 |
2.1.1 模糊测试概述 | 第18页 |
2.1.2 基本流程 | 第18-21页 |
2.1.3 测试用例生成方法 | 第21页 |
2.2 动态符号执行 | 第21-25页 |
2.2.1 符号执行概述 | 第21-22页 |
2.2.2 动态符号执行的过程 | 第22-24页 |
2.2.3 动态符号执行面对的问题 | 第24页 |
2.2.4 动态符号执行工具 | 第24-25页 |
2.3 本章小结 | 第25-26页 |
第3章 基于动态符号执行的模糊测试方法框架 | 第26-42页 |
3.1 总体设计 | 第26-28页 |
3.1.1 工作流程 | 第26-27页 |
3.1.2 总体架构 | 第27-28页 |
3.2 插桩模块 | 第28-32页 |
3.2.1 源代码插桩与二进制插桩 | 第28-29页 |
3.2.2 静态插桩与动态插桩 | 第29页 |
3.2.3 动态二进制插桩工具Pin | 第29-30页 |
3.2.4 插桩模块的实现 | 第30-32页 |
3.3 路径约束生成模块 | 第32-38页 |
3.3.1 路径约束生成模块流程 | 第32-34页 |
3.3.2 广度优先策略(Breadth-First Search,BFS) | 第34页 |
3.3.3 深度优先策略(Depth-First Search,DFS) | 第34-35页 |
3.3.4 基于代的路径遍历策略(Generation Search,GS) | 第35-38页 |
3.4 求解器模块 | 第38-41页 |
3.4.1 求解器模块流程 | 第38-39页 |
3.4.2 常见的求解器 | 第39-40页 |
3.4.3 求解器面临的问题 | 第40-41页 |
3.5 本章小结 | 第41-42页 |
第4章 基于动态符号执行的模糊测试方法优化 | 第42-59页 |
4.1 基于代的启发式路径遍历策略 | 第42-49页 |
4.1.1 启发式路径遍历策略 | 第42-47页 |
4.1.2 基于代的启发式路径遍历策略具体实现 | 第47-49页 |
4.2 Z3与STP综合求解器 | 第49-58页 |
4.2.1 Z3与STP | 第50-51页 |
4.2.2 SMT-LIB2.0标准语言 | 第51-53页 |
4.2.3 中间层 | 第53-54页 |
4.2.4 综合求解器具体实现 | 第54-58页 |
4.3 本章小结 | 第58-59页 |
第5章 实验与分析 | 第59-64页 |
5.1 实验环境 | 第59页 |
5.2 实验内容 | 第59-63页 |
5.2.1 实验指标 | 第59-60页 |
5.2.2 实验案例 | 第60-61页 |
5.2.3 实验结果分析 | 第61-63页 |
5.3 本章小结 | 第63-64页 |
第6章 总结与展望 | 第64-66页 |
6.1 论文主要工作总结 | 第64-65页 |
6.2 下一步工作展望 | 第65-66页 |
参考文献 | 第66-69页 |
攻读学位期间公开发表论文 | 第69-70页 |
致谢 | 第70页 |