第1章 程序分析技术
1.1 程序的正确性及其分析
1.2 控制流分析
1.2.1 控制流图
1.2.2 程序依赖图
1.2.3 系统依赖图
1.3 数据流分析
1.3.1 数据流分析概述
1.3.2 可达定义分析
1.3.3 活性变量分析
本章小结
第2章 符号执行技术
2.1 符号执行概述
2.2 传统符号执行
2.3 混合符号执行
2.4 符号执行技术面临的挑战
2.4.1 内存相关问题
2.4.2 环境相关问题
2.4.3 路径 问题
2.4.4 约束求解问题
2.5 符号执行工具
2.5.1 KLEE
2.5.2 SPF
2.5.3 SAGE
2.5.4 SymCC
本章小结
第3章 软件测试与错误定位技术
3.1 软件测试与错误定位的研究背景
3.1.1 软件测试
3.1.2 软件错误定位
3.2 基于符号执行的软件测试
3.2.1 摘要计算
3.2.2 路径包含与等价分析
3.2.3 约束不充分的符号执行
3.2.4 前置条件与输入特征利用
3.2.5 符号执行状态合并
3.2.6 程序分析及优化技术
3.2.7 目标导向与启发式策略
3.2.8 增量符号执行
3.2.9 并行符号执行
3.3 软件错误定位方法
3.3.1 基于切片的错误定位
3.3.2 基于程序状态的错误定位
3.3.3 基于统计分析的错误定位
3.3.4 基于人工智能的错误定位
3.3.5 演化软件错误定位
本章小结
第4章 基于执行路径的 弱前置条件计算
4.1 弱前置条件概述
4.2 弱前置条件计算