基于代价敏感的源代码警告分类研究
| 中文摘要 | 第3-4页 |
| 英文摘要 | 第4-5页 |
| 1 绪论 | 第8-14页 |
| 1.1 研究背景及意义 | 第8-9页 |
| 1.2 国内外研究现状 | 第9-12页 |
| 1.2.1 国内研究现状分析 | 第9-10页 |
| 1.2.2 国外研究现状分析 | 第10-12页 |
| 1.3 主要研究内容 | 第12-13页 |
| 1.4 论文组织结构 | 第13页 |
| 1.5 本章小结 | 第13-14页 |
| 2 相关理论基础 | 第14-23页 |
| 2.1 静态分析 | 第14-19页 |
| 2.1.1 分析方法与原理 | 第14-16页 |
| 2.1.2 常见分析工具 | 第16-17页 |
| 2.1.3 FindBugs简介 | 第17-19页 |
| 2.2 神经网络 | 第19-20页 |
| 2.3 代价敏感方法 | 第20-22页 |
| 2.3.1 过采样 | 第21页 |
| 2.3.2 欠采样 | 第21页 |
| 2.3.3 阈值操作 | 第21-22页 |
| 2.4 本章小结 | 第22-23页 |
| 3 实验数据抽取及处理 | 第23-33页 |
| 3.1 概述 | 第23-24页 |
| 3.2 实验数据集 | 第24-25页 |
| 3.3 源代码警告获取 | 第25-28页 |
| 3.3.1 FindBugs缺陷模式查找方法 | 第25-26页 |
| 3.3.2 FindBugs分析 | 第26-28页 |
| 3.4 自动化警告标注 | 第28-32页 |
| 3.4.1 各版本中有效警告分布 | 第28-31页 |
| 3.4.2 各文件中有效警告分布 | 第31-32页 |
| 3.5 本章小结 | 第32-33页 |
| 4 基于代价敏感神经网络的警告分类 | 第33-42页 |
| 4.1 概述 | 第33页 |
| 4.2 警告标注方法的可行性验证 | 第33-37页 |
| 4.2.1 缺陷数据抽取 | 第33-35页 |
| 4.2.2 相关性分析 | 第35-37页 |
| 4.3 源代码警告分类过程 | 第37-41页 |
| 4.3.1 警告特征提取 | 第38页 |
| 4.3.2 代价敏感神经网络分类方法 | 第38-41页 |
| 4.4 本章小结 | 第41-42页 |
| 5 警告分类实验结果与分析 | 第42-57页 |
| 5.1 概述 | 第42页 |
| 5.2 实验数据 | 第42-49页 |
| 5.2.1 基于类别的警告数据分析 | 第43-45页 |
| 5.2.2 基于类型的警告数据分析 | 第45-48页 |
| 5.2.3 基于优先级的警告数据分析 | 第48-49页 |
| 5.3 评估指标 | 第49-51页 |
| 5.3.1 警告标注方法可行性评估指标 | 第49-50页 |
| 5.3.2 分类结果评估指标 | 第50-51页 |
| 5.4 结果与分析 | 第51-56页 |
| 5.4.1 警告标注方法有效性结果分析 | 第51-52页 |
| 5.4.2 警告分类结果分析 | 第52-56页 |
| 5.5 本章小结 | 第56-57页 |
| 6 总结与展望 | 第57-59页 |
| 6.1 总结 | 第57页 |
| 6.2 展望 | 第57-59页 |
| 致谢 | 第59-60页 |
| 参考文献 | 第60-64页 |
| 附录 | 第64-66页 |
| A 各版本相关数据及其密度 | 第64-65页 |
| B 各项目在类型下的警告和有效警告分布 | 第65-66页 |
| C 作者在攻读学位期间发表的论文目录 | 第66页 |