代码静态分析工具的能力评估与集成优化技术研究
摘要 | 第10-11页 |
ABSTRACT | 第11页 |
第一章 绪论 | 第12-18页 |
1.1 研究背景和研究意义 | 第12-15页 |
1.2 主要工作和创新点 | 第15-16页 |
1.2.1 主要工作 | 第15页 |
1.2.2 创新点 | 第15-16页 |
1.3 论文组织结构 | 第16-18页 |
第二章 相关研究工作 | 第18-27页 |
2.1 静态分析工具评估 | 第18-20页 |
2.2 测试集构建扩展 | 第20-24页 |
2.3 静态分析工具集成优化 | 第24-26页 |
2.3.1 静态分析工具集成 | 第24-25页 |
2.3.2 缺陷报告误报缓解技术 | 第25-26页 |
2.4 本章小结 | 第26-27页 |
第三章 基于Juliet测试集的静态分析工具评估 | 第27-58页 |
3.1 Juliet测试集 | 第27-30页 |
3.2 评估指标 | 第30-34页 |
3.2.1 精确度 | 第30-31页 |
3.2.2 召回率 | 第31页 |
3.2.3 F-Score | 第31-32页 |
3.2.4 区分度 | 第32页 |
3.2.5 覆盖度 | 第32-33页 |
3.2.6 交叉度 | 第33页 |
3.2.7 问题 | 第33-34页 |
3.3 评估维度 | 第34-37页 |
3.3.1 CWE类型 | 第34-35页 |
3.3.2 Flow类型(代码结构复杂度类型) | 第35-37页 |
3.4 评估过程 | 第37-39页 |
3.5 评估结果 | 第39-57页 |
3.5.1 工具综合评估 | 第39-41页 |
3.5.2 基于CWE类型的工具评估 | 第41-48页 |
3.5.3 基于Flow类型的工具评估 | 第48-51页 |
3.5.4 工具交叉分析 | 第51-55页 |
3.5.5 工具集成分析 | 第55-57页 |
3.6 本章小结 | 第57-58页 |
第四章 基于机器学习算法的工具集成优化 | 第58-70页 |
4.1 优化目标 | 第58页 |
4.2 工具集成优化模型 | 第58-65页 |
4.2.1 优化方法 | 第59页 |
4.2.2 机器学习算法 | 第59-61页 |
4.2.3 优化过程设计 | 第61-65页 |
4.3 效果评估方法 | 第65-66页 |
4.3.1 机器学习算法分类效果评估方法 | 第65-66页 |
4.3.2 工具集成优化效果评估方法 | 第66页 |
4.4 实验结果评估 | 第66-69页 |
4.4.1 分类算法效果评估 | 第67-68页 |
4.4.2 工具集成优化效果评估 | 第68-69页 |
4.5 本章小结 | 第69-70页 |
第五章 基于开源和闭源代码的测试集扩展 | 第70-83页 |
5.1 测试集扩展与静态分析工具评估 | 第70-76页 |
5.1.1 基于人工审查缺陷报告的测试集扩展过程 | 第70-72页 |
5.1.2 评估指标 | 第72-73页 |
5.1.3 基于开源和闭源代码的工具评估结果分析 | 第73-76页 |
5.2 基于缺陷跟踪系统的测试集扩展方法 | 第76-82页 |
5.2.1 常用缺陷跟踪系统 | 第77页 |
5.2.2 缺陷跟踪系统的缺陷信息分析 | 第77-78页 |
5.2.3 专用缺陷信息爬取程序 | 第78-79页 |
5.2.4 缺陷信息爬取结果 | 第79-80页 |
5.2.5 测试集扩展方法 | 第80-82页 |
5.3 本章小结 | 第82-83页 |
第六章 静态分析工具自动评估框架设计与实现 | 第83-95页 |
6.1 评估框架设计 | 第83-84页 |
6.2 评估框架关键实现 | 第84-90页 |
6.2.1 Juliet测试集的分析 | 第84-86页 |
6.2.2 静态分析工具的批量检测过程 | 第86-87页 |
6.2.3 缺陷报告的解析与标准化 | 第87-90页 |
6.2.4 评估与分析过程 | 第90页 |
6.3 框架实现 | 第90-94页 |
6.3.1 框架的易用性和易扩展性 | 第90-91页 |
6.3.2 基于Web的可视化系统 | 第91-94页 |
6.4 本章小结 | 第94-95页 |
结束语 | 第95-97页 |
致谢 | 第97-98页 |
参考文献 | 第98-103页 |
作者在学期间取得的学术成果 | 第103页 |