当前位置:文档之家› 基于机器学习的软件缺陷预测方法与工具

基于机器学习的软件缺陷预测方法与工具

目录

摘要 (i)

ABSTRACT ......................................................................................................... i i 第一章绪论 (1)

1.1 研究背景与意义 (1)

1.2 缺陷预测研究现状 (2)

1.2.1 学习算法的研究 (2)

1.2.2 预测度量元的研究 (3)

1.2.3 模型评价指标的研究 (4)

1.3 论文研究内容 (5)

1.4 论文结构 (5)

第二章相关工作 (7)

2.1 缺陷预测分类 (7)

2.2 缺陷预测模型 (8)

2.2.1 预测模型 (8)

2.2.2 度量元与数据集 (9)

2.2.3 常用算法 (10)

2.2.4 评价标准 (16)

2.3 本章小结 (17)

第三章基于组合机器学习的缺陷预测模型 (18)

3.1 提出问题 (18)

3.2 基于组合机器学习的缺陷预测模型 (18)

3.2.1 数据预处理 (19)

3.2.2 组合预测模型 (19)

3.2.3 模型评价 (23)

3.3 实验与分析 (23)

3.3.1 实验环境 (23)

3.3.2 实验数据 (23)

3.3.3 实验结果 (24)

3.4 本章小结 (29)

第四章缺陷预测与静态分析的组合有效性研究 (30)

4.2 提出问题 (31)

4.3 静态分析结果对缺陷预测的影响 (31)

4.3.1 Spearman相关系数 (31)

4.3.2 静态分析作为预测度量元 (33)

4.4 组合结果对代码审查工作量的影响 (34)

4.5 本章小结 (36)

第五章缺陷预测工具实现 (37)

5.1平台设计 (37)

5.2 技术路线 (39)

5.2.1 MVC模式 (39)

5.2.2 DWZ_JUI框架 (39)

5.2.3 WEKA (39)

5.3 平台实现 (40)

5.3.1 数据库实现 (40)

5.3.2 平台实现 (41)

5.4 难点与解决方案 (48)

5.5 本章小结 (50)

结束语 (51)

致谢 (53)

参考文献 (54)

作者在学期间取得的学术成果 (58)

表目录

表2.1 CK度量元 (10)

表2.2混淆矩阵 (16)

表3.1 Eclipse数据集的复杂性度量 (24)

表3.2 file级别预测的部分结果 (24)

表3.3 package级别预测的部分结果 (25)

表3.4 file级别组合预测的部分结果 (26)

表3.5 package级别组合预测的部分结果 (27)

表3.6文献[44]的分类预测结果 (28)

表4.1 静态分析与缺陷预测spearman相关系数 (32)

表4.2 静态分析做度量元的缺陷预测结果 (33)

表4.3 静态分析报告统计 (34)

表4.4 缺陷预测报告统计 (35)

表4.5 缺陷预测报告统计 (35)

表5.1 预测任务task表结构 (40)

图目录

图2.1 基于监督的软件缺陷预测模型 (8)

图2.2 一元线性回归 (12)

图2.3 逻辑曲线 (13)

图2.4 简单的贝叶斯网络模型 (14)

图2.5 多层感知机神经网络拓扑 (15)

图2.6 CLC曲线 (17)

图3.1 基于组合机器学习算法的缺陷预测模型 (19)

图3.2 特征选择过程 (21)

图4.1 Eclipse源码静态分析报告 (30)

图5.1 缺陷预测平台功能结构图 (37)

图5.2 缺陷预测平台系统架构 (38)

图5.3 MVC架构 (39)

图5.4 实体-关系图 (40)

图5.5 登录界面 (41)

图5.6 缺陷预测平台主界面 (41)

图5.7 用户管理界面 (42)

图5.8 用户修改 (42)

图5.9 top命令获取CPU和Memory信息 (42)

图5.10 项目创建 (43)

图5.11 项目列表 (43)

图5.12 项目详细信息 (44)

图5.13 创建学习任务 (44)

图5.14 后台学习流程 (45)

图5.15 缺陷预测模块 (45)

图5.16 创建预测任务 (46)

图5.17 缺陷预测报告 (48)

图5.18 checkPHP.sh (48)

图5.19 配置crontab (49)

图5.20 进程守护 (49)

相关主题
文本预览
相关文档 最新文档