摘要 | 第5-6页 |
abstract | 第6-7页 |
1 绪论 | 第10-20页 |
1.1 研究背景 | 第10-11页 |
1.2 研究现状分析 | 第11-18页 |
1.2.1 有监督、半监督和无监督的缺陷预测方法 | 第11-15页 |
1.2.2 基于分类和基于排序的缺陷预测方法 | 第15-16页 |
1.2.3 缺陷预测模型的特征选择 | 第16-18页 |
1.3 研究目标和总体思路 | 第18-19页 |
1.4 论文结构 | 第19-20页 |
2 基于半监督学习的软件缺陷分类预测 | 第20-45页 |
2.1 相关技术 | 第20-26页 |
2.1.1 朴素贝叶斯模型 | 第20-21页 |
2.1.2 逻辑回归模型 | 第21页 |
2.1.3 决策树 | 第21-24页 |
2.1.4 随机森林算法 | 第24-26页 |
2.2 软件缺陷分类预测方法 | 第26-27页 |
2.3 改进的随机森林算法extRF | 第27-30页 |
2.3.1 算法步骤 | 第27页 |
2.3.2 数据样本的自动标注和选择 | 第27-28页 |
2.3.3 提升过程 | 第28-29页 |
2.3.4 算法伪代码 | 第29-30页 |
2.4 特征集 | 第30-36页 |
2.4.1 静态代码度量特征 | 第30-31页 |
2.4.2 变更历史度量特征 | 第31-34页 |
2.4.3 缺失值处理方法 | 第34-36页 |
2.5实验 | 第36-43页 |
2.5.1 实验数据 | 第36页 |
2.5.2 对比方法 | 第36-38页 |
2.5.3 分类能力评价指标 | 第38-39页 |
2.5.4 实验结果 | 第39-43页 |
2.6 本章小结 | 第43-45页 |
3 基于无监督学习的软件缺陷模块投票排序 | 第45-55页 |
3.1 相关技术 | 第45-47页 |
3.1.1 投票排序和集体决策规则 | 第45-47页 |
3.1.2 Spearman秩相关系数 | 第47页 |
3.2 投票者和投票策略的选择 | 第47-49页 |
3.2.1 投票者的选择 | 第48页 |
3.2.2 投票策略 | 第48-49页 |
3.3 基于投票排序的软件缺陷模块排序 | 第49页 |
3.4 实验 | 第49-54页 |
3.4.1 实验设计 | 第49-50页 |
3.4.2 软件度量特征的选择 | 第50-52页 |
3.4.3 实验结果 | 第52-54页 |
3.5 本章小结 | 第54-55页 |
4 结合半监督学习和投票决策理论的软件缺陷模块排序 | 第55-73页 |
4.1 软件缺陷模块排序方法 | 第55-56页 |
4.2 基于排序的extRF算法 | 第56-61页 |
4.2.1 算法步骤 | 第56-57页 |
4.2.2 数据样本选择策略 | 第57页 |
4.2.3 提升过程 | 第57-58页 |
4.2.4 软件缺陷模块排序 | 第58-60页 |
4.2.5 算法伪代码 | 第60-61页 |
4.3 实验 | 第61-71页 |
4.3.1 实验数据 | 第61-63页 |
4.3.2 实验设计 | 第63-64页 |
4.3.3 实验结果 | 第64-71页 |
4.4 本章小结 | 第71-73页 |
5 总结与展望 | 第73-75页 |
5.1 本文工作小结 | 第73-74页 |
5.2 展望 | 第74-75页 |
参考文献 | 第75-79页 |
致谢 | 第79-80页 |
攻读学位期间发表的学术论文 | 第80页 |