学位论文 > 优秀研究生学位论文题录展示
基于机器学习的软件缺陷预测技术研究
作 者: 马樱
导 师: 罗光春
学 校: 电子科技大学
专 业: 计算机系统结构
关键词: 软件缺陷预测 机器学习 迁移学习 主动学习 半监督学习
分类号: TP311.53
类 型: 博士论文
年 份: 2012年
下 载: 549次
引 用: 1次
阅 读: 论文下载
内容摘要
软件缺陷预测是软件工程中的一个非常重要的研究课题,它基于软件历史数据中的模块缺陷记录(包括了软件模块的静态代码特征)来对新的软件模块进行缺陷预测,还能提供决策支持来指导软件项目的规划和过程管理。本文从机器学习的角度分析了软件缺陷预测的特点。同时分析了当前已有的预测方法在应用过程中存在的三个主要问题:(1)因为数据集是来自不同的项目或不同的领域,他们具有不同的数据分布。因此,基于传统方法建立的预测模型具有较弱的适应能力。(2)通过代码审查来手工标记有缺陷的模块是既费资金又费时间的活动,因此,数据集中的正样本数据是有限的。当前的方法是基于监督学习算法建立的预测模型,是仅基于有标记的数据的学习过程。这些方法不能满足要求,因为数量有限的标记数据不具备建立合适的预测模型的足够信息。(3)软件缺陷数据通常是类不平衡的,正样例数远远高于负样例数。该类不平衡问题已经很大程度上地影响了缺陷预测模型的性能。本文研究了软件缺陷预测中的最先进的方法技术,包括这些方法的动机,进展,特点和劣势。在此基础上提出了创新的实用技术,并为解决软件缺陷预测中上述的三个问题提供了有效方法。本文在以下几个方面取得了一些有价值的研究成果:(1)基于迁移学习的缺陷预测研究提出了新的缺陷预测算法,基于朴素贝叶斯的迁移学习算法(TNB)。不同于已有的预测模型选择与测试数据相类似的训练数据,该算法使用了训练数据中所有特征的实用信息。TNB首先计算出测试数据的分布情况,并将跨公司的待预测的数据信息通过赋权的方式作用于训练数据。然后基于这些加权数据,建立缺陷预测模型。我们还对已有的方法进行了理论分析,并在来自不同组织的数据集上进行了实验比较。结果表明通过TNB建立的预测模型能得到更好的AUC性能,同时具有较低的运行时间。(2)基于半监督学习的缺陷预测研究提出了改进的半监督学习方法,用于解决软件缺陷预测中类不平衡和标记数据有限的问题。基于协同训练风范的半监督学习,该方法采用随机抽样技术来对原始训练数据集和每轮更新后训练数据集进行抽样。这能解决半监督学习中的类不平衡问题,使得缺陷预测模型更实用。我们的方法与传统的机器学习方法相比,具有更好的预测性能。实验结果还表明,通过解决半监督学习中的类不平衡问题,有可能设计出更好的半监督分类器。(3)基于主动学习的软件缺陷预测研究引入主动学习策略,用于减少缺陷预测中标记缺陷模块的代价。本文提出了一种主动学习的方法,两阶段主动学习算法(TAL),用于预测软件缺陷模块。该方法结合聚类方法和支持向量机技术,提高了预测性能并具有较少的标记代价。实验验证了其有效性。(4)基于核理论的软件缺陷预测研究提出了基于核理论的非对称分类器用于建立软件缺陷预测模型。核方法能有效的解决线性不可分数据的分类问题。我们从理论上分析了类不平衡问题对核主成分分析的影响。在此基础上,提出了非对称核主成分分类器(AKPCC),试图解决核主成分分析中的类不平衡问题。由于在核主成分分析的基础上弥补了类不平衡问题带来的性能影响,这种方法提高了类不平衡数据集上的预测性能。这种方法较其他知名方法具有较优的F-measure性能。
|
全文目录
摘要 5-7 ABSTRACT 7-9 目录 9-13 图形目录 13-14 表格目录 14-15 简略字表 15-17 主要符号表 17-19 第一章 绪论 19-29 1.1 软件可靠性面临的挑战 19-20 1.2 软件缺陷预测技术研究内容及意义 20-24 1.2.1 软件缺陷预测基本概念 20-22 1.2.2 软件缺陷预测研究的基本内容 22-23 1.2.3 软件缺陷预测的研究意义 23-24 1.3 本文研究内容与创新点 24-27 1.3.1 研究内容 24-26 1.3.2 研究成果与创新点 26-27 1.4 论文结构 27-29 第二章 软件缺陷预测相关技术 29-50 2.1 预测模型的发展 29-30 2.2 预测模型的特征属性 30-32 2.3 软件缺陷预测的模型及相关算法 32-47 2.3.1 基于监督学习的缺陷预测算法 32-39 2.3.1.1 基于示例学习的预测模型 33-34 2.3.1.2 基于决策树的预测模型 34-36 2.3.1.3 基于朴素贝叶斯的预测模型 36-37 2.3.1.4 基于支持向量机的预测模型 37-38 2.3.1.5 基于集成的预测模型 38-39 2.3.2 基于无监督的软件缺陷预测模型及相关算法 39-42 2.3.3 基于半监督的软件缺陷预测模型及相关算法 42-43 2.3.4 基于回归模型的软件缺陷预测方法 43-45 2.3.5 基于属性约简的缺陷预测方法 45-47 2.4 预测模型的评估指标 47-49 2.5 本章小结 49-50 第三章 基于迁移学习的软件缺陷预测 50-72 3.1 迁移学习 50-52 3.1.1 简述 51-52 3.1.2 相关研究 52 3.2 软件缺陷预测的迁移学习模型 52-55 3.2.1 预测模型的适应性问题阐述 52-53 3.2.2 软件缺陷预测的迁移学习模型 53-55 3.3 基于朴素贝叶斯的迁移学习算法 55-60 3.3.1 NB 预测算法 55-56 3.3.2 TNB 算法 56-59 3.3.3 TNB 算法分析 59-60 3.4 实验与分析 60-71 3.4.1 比较的算法 60 3.4.2 数据集介绍 60-61 3.4.3 性能评估参数 61-62 3.4.4 实验结果及分析 62-71 3.5 本章小结 71-72 第四章 基于抽样与集成的半监督软件缺陷预测 72-92 4.1 半监督软件缺陷预测 72-78 4.1.1 半监督软件缺陷预测模型 72-74 4.1.2 半监督学习概述 74-77 4.1.3 半监督学习存在的问题分析 77-78 4.2 基于抽样与集成的预测算法 78-83 4.2.1 算法描述 78-81 4.2.2 基础分类器 81-82 4.2.3 算法分析 82-83 4.3 实验与分析 83-91 4.3.1 数据集 83 4.3.2 实验结果 83-91 4.4 本章小节 91-92 第五章 基于主动学习的软件缺陷预测 92-101 5.1 研究背景 92-94 5.2 两阶段主动学习算法 94-98 5.2.1 第一阶段获取代表性数据 95-96 5.2.2 第二阶段获取关键信息数据 96-98 5.3 实验与分析 98-100 5.4 本章小结 100-101 第六章 基于核理论的软件缺陷预测 101-117 6.1 缺陷预测中类不平衡问题 101-103 6.1.1 类不平衡问题的研究意义 101-102 6.1.2 解决类不平衡问题的方法 102-103 6.2 核理论 103-107 6.2.1 核理论简述 104-107 6.2.2 基于核理论的属性约简方法 107 6.3 基于非对称的核主成分分析分类算法 107-115 6.3.1 线性映射与非线性映射 107-108 6.3.2 核方法中类不平衡问题的影响分析 108-113 6.3.3 非对称的核主成分分类算法 113-115 6.4 实验与分析 115-116 6.4.1 性能评价的度量 115 6.4.2 实验结果与分析 115-116 6.5 本章小结 116-117 第七章 结束语 117-120 7.1 全文总结 117-118 7.2 进一步研究工作 118-120 致谢 120-121 参考文献 121-132 攻博期间取得的研究成果 132-133 攻博期间参加的科研项目 133-134
|
相似论文
- 英汉命名实体翻译方法研究,TP391.2
- 应用层协议识别和还原方法的研究与实现,TP393.08
- 基于数据分布特征的文本分类研究,TP391.1
- 人类抗原肽载体结合力预测,R392.1
- 基于半监督模糊聚类的入侵防御技术研究,TP393.08
- 指纹图像分割方法评价与半监督学习在指纹图像分割中的应用研究,TP391.41
- 学习表达式的映射机制研究,TP181
- 军事港口目标分类平台的设计与实现,TP751
- 基于多视角的分类器设计与权值优化方法研究,TP18
- 领域知识指导的半监督学习和主动学习倾向性分类研究,TP181
- 基于稀疏非负矩阵分解的图像检索,TP391.41
- 跨语言文本分类的研究,TP391.1
- 流形学习的方差最小化准则,TP181
- 基于SIFT特征和SVM的场景分类,TP391.41
- 特定领域中文术语抽取,TP391.1
- 基于内容的商品图像分类技术研究,TP391.41
- 随机森林特征选择,TP311.13
- 弥散张量成像的脑连接模式分析,R445.2
- 图像与文本数据间的异构迁移学习,TP391.41
- 基于蚁群聚类的SVM算法在入侵检测中的应用,TP393.08
- 半监督学习方法研究,TP181
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件维护
© 2012 www.xueweilunwen.com
|