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