摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
1 绪论 | 第10-17页 |
1.1 研究背景及意义 | 第10-11页 |
1.2 国内外研究现状 | 第11-14页 |
1.2.1 项目内基于变更的缺陷预测 | 第11-12页 |
1.2.2 跨项目的缺陷预测 | 第12-14页 |
1.3 论文的主要工作 | 第14-15页 |
1.4 论文的组织结构 | 第15-17页 |
2 相关理论和技术 | 第17-24页 |
2.1 基于抽象语法树的变更抽取算法 | 第17-18页 |
2.1.1 抽象语法树建模 | 第17页 |
2.1.2 changedistiller算法 | 第17-18页 |
2.2 数据挖掘中的分类技术 | 第18-20页 |
2.2.1 分类方法 | 第18-19页 |
2.2.2 常见的分类器 | 第19-20页 |
2.3 基于分类器的缺陷预测 | 第20-21页 |
2.3.1 代码变更分类 | 第20-21页 |
2.3.2 特征值选取 | 第21页 |
2.4 Transfer Component Analysis (TCA)方法 | 第21-23页 |
2.5 本章小结 | 第23-24页 |
3 基于细粒度代码变更的缺陷预测方法 | 第24-31页 |
3.1 基于细粒度变更的缺陷预测 | 第24-28页 |
3.1.1 细粒度变更实体切分 | 第24页 |
3.1.2 实体变更分类 | 第24-25页 |
3.1.3 特征值选取 | 第25-26页 |
3.1.4 缺陷预测流程 | 第26-28页 |
3.2 基于细粒度变更的特征值选择 | 第28-30页 |
3.2.1 特征过滤和包装筛选 | 第28-29页 |
3.2.2 特征值选择算法 | 第29-30页 |
3.3 本章小结 | 第30-31页 |
4 基于迁移学习的跨项目缺陷预测 | 第31-41页 |
4.1 数据预处理 | 第31-34页 |
4.2 基于迁移学习的缺陷预测理论 | 第34-37页 |
4.3 类别不平衡处理 | 第37-38页 |
4.4 缺陷预测流程 | 第38-40页 |
4.5 本章小结 | 第40-41页 |
5 实验验证及分析 | 第41-52页 |
5.1 实验数据集 | 第41-42页 |
5.2 实验步骤 | 第42-46页 |
5.2.1 变更采集和类别标记 | 第42-43页 |
5.2.2 特征值选取 | 第43-44页 |
5.2.3 特征值选择方法 | 第44页 |
5.2.4 归一化选择 | 第44-45页 |
5.2.5 基于迁移学习的缺陷预测 | 第45页 |
5.2.6 类别不平衡处理 | 第45页 |
5.2.7 跨项目的分类器的训练和验证 | 第45-46页 |
5.3 实验结果与评估 | 第46-51页 |
5.3.1 评估标准 | 第46-48页 |
5.3.2 评估结果及分析 | 第48-51页 |
5.4 本章小结 | 第51-52页 |
6 总结与展望 | 第52-54页 |
6.1 总结 | 第52页 |
6.2 进一步的工作 | 第52-54页 |
参考文献 | 第54-57页 |
攻读硕士学位期间学术成果 | 第57-58页 |
致谢 | 第58-59页 |