摘要 | 第5-6页 |
Abstract | 第6页 |
第一章 引言 | 第10-19页 |
1.1 研究背景和意义 | 第10-11页 |
1.2 软件测试技术 | 第11-13页 |
1.3 国内外研究现状 | 第13-17页 |
1.3.1 静态检测技术研究现状 | 第13-15页 |
1.3.2 静态检测工具研究现状 | 第15-17页 |
1.4 主要工作 | 第17-18页 |
1.5 论文结构 | 第18页 |
1.6 小结 | 第18-19页 |
第二章 基于抽象句法树的静态代码缺陷挖掘方案设计 | 第19-24页 |
2.1 检测架构分析 | 第19-20页 |
2.2 检测流程描述 | 第20-21页 |
2.3 检测工具设计 | 第21-23页 |
2.3.1 设计目标 | 第21页 |
2.3.2 需求分析 | 第21-22页 |
2.3.3 工具实现 | 第22-23页 |
2.4 测试框架描述 | 第23页 |
2.5 小结 | 第23-24页 |
第三章 静态检测标准缺陷库构建 | 第24-35页 |
3.1 缺陷库的构建方法 | 第24-25页 |
3.2 GJB5369-2005航天型号软件C语言安全子集 | 第25-28页 |
3.3 PVS-Studio挖掘的缺陷库 | 第28-34页 |
3.4 小结 | 第34-35页 |
第四章 从抽象语法树提取静态信息 | 第35-57页 |
4.1 抽象语法树介绍 | 第35-38页 |
4.1.1 基本概念 | 第35-37页 |
4.1.2 抽象语法树的构造 | 第37-38页 |
4.1.3 常见用途 | 第38页 |
4.2 从抽象语法树提取信息 | 第38-49页 |
4.2.1 提取上下文信息 | 第39-41页 |
4.2.2 提取程序结构信息 | 第41-43页 |
4.2.3 提取控制流信息 | 第43-46页 |
4.2.4 提取数据流信息 | 第46-49页 |
4.3 使用提取信息检测缺陷类型 | 第49-56页 |
4.3.1 重复代码类型 | 第49-50页 |
4.3.2 数值范围类型 | 第50-51页 |
4.3.3 越界类型 | 第51-52页 |
4.3.4 控制流类型 | 第52页 |
4.3.5 数据流类型 | 第52-53页 |
4.3.6 函数调用类型 | 第53-54页 |
4.3.7 代码格式类型 | 第54-56页 |
4.4 小结 | 第56-57页 |
第五章 规则设计流程 | 第57-69页 |
5.1 规则设计架构 | 第57-58页 |
5.2 规则定义 | 第58页 |
5.3 规则算法思路 | 第58-61页 |
5.4 规则实现 | 第61-62页 |
5.5 有效性测试 | 第62-63页 |
5.6 规则核心代码 | 第63-67页 |
5.7 小结 | 第67-69页 |
第六章 静态代码检测工具的实验验证 | 第69-82页 |
6.1 实验工具 | 第69页 |
6.2 实验数据 | 第69-70页 |
6.3 检测过程 | 第70-71页 |
6.4 实验检测结果 | 第71-81页 |
6.4.1 各项目测试结果 | 第72-73页 |
6.4.2 整体测试结果 | 第73-75页 |
6.4.3 检测结果举例 | 第75-81页 |
6.5 小结 | 第81-82页 |
结束语 | 第82-83页 |
参考文献 | 第83-87页 |
致谢 | 第87页 |