基于机器学习的软件缺陷预测方法研究

来源 :西南大学 | 被引量 : 0次 | 上传用户:andykwok
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息时的到来,软件成了人们生产与生活中不可或缺的存在。在软件需求迅猛上升的情况下,软件开发的规模和复杂度不断增大。由于软件工程师的开发能力不一定能够完美满足软件开发的需求,因此不可避免的产生软件缺陷。暗藏的软件缺陷可能会对人们的生产和生活造成难以估量的损失,这些让人难以承受的后果让人们开始关注软件质量的重要性。软件测试可以有效地探测出软件产品中隐藏的缺陷,但是由于软件项目时间和人力成本以及功能的复杂性等方面的影响,软件测试工程师不能考虑到软件模块所有方面,无法对软件模块完全覆盖测试。而软件缺陷预测技术结合机器学习等热门技术,利用软件产品的历史度量数据构建预测模型,进而预测软件中存在缺陷的模块,该技术对软件测试技术进行了卓有成效的补充。本论文主要从机器学习角度剖析软件缺陷预测的特点,并针对当前实际应用中软件缺陷预测研究存在的问题提出了对应的解决方法。主要包含问题如下:(1)缺陷数据集中存在部分冗余或者不相关的特征,这些特征严重影响缺陷预测模型的性能;(2)软件缺陷数据中存在的类不平衡以及数据集未完全进行类标记,现实情况中,软件缺陷数据的正负样例数目比例相差较大,并且不是所有的数据都存在类标记,因此传统的监督学习不能满足预测模型构建的需要;(3)新项目缺少足够的历史缺陷数据来训练预测模型,因此无法使用独立同分布的训练集和测试集进行缺陷预测模型的构建和验证;(4)未来传统的单机模型已经不能满足大模软件缺陷数据的存储和计算的需要。具体针对措施如下:(1)针对缺陷数据集中存在部分冗余或者不相关的特征的问题,本文提出一种基于相关度和冗余度的稳定特征选择方法(RRSFS)。RRSFS在K重交叉检验下通对特征与特征之间冗余度与特征与类之间的相关度进行两阶段多算法融合选取最优子集,RRSFS算法不仅降低了建模过程中数据运算的成本,还加强了特征选择算法的稳定性。(2)针对软件缺陷数据中存在的类不平衡以及数据集未完全进行类标记等问题,本文提出了一种基于采样与集成的半监督软件缺陷预测方法(SISDP)。SISDP首先通过采取类别平衡的样本构建稳健的KNN打标模型,来对一批未标记的数据进行打标,再通过迭代形式,将新标记的数据加入原有数据集进行下一次打标模型构建,迭代到数据标记完毕。对打标完毕的数据集,最后用混合采样算法获取训练集,并对多分类算法构成的集成分类模型进行分类训练。SISDP不仅减少了少数类对打标过程的干扰,而且提升了缺陷预测模型的泛化能力。(3)针对新项目缺少足够的历史缺陷数据来训练预测模型问题,本文主要提出了基于卷积神经网络的迁移学习算法(CNNTL)进行缺陷预测,该方法将迁移学习过程分为A、B两类任务,首先提升A任务中源项目数据集的特征维度,并将其输入到多次卷积网络之中进行初步训练,将训练A任务源项目数据集得到的卷积层权重参数,应用到B任务目标项目数据集的卷积层训练中,从而实现了迁移学习。CNNTL算法不仅特征迁移能力强,并且有不错的预测性能。(4)针对大规模软件缺陷数据的存储和计算这类问题,本文提出了基于神经网络的分布式缺陷预测算法(NNDDP)。该方法基于集成了Kerberos的Hadoop集群进行研究,将需要处理的缺陷数据集存储在分布式文件系统HDFS上,再对数据进行预处理得到训练集和测试集,通过将数据划分并分配到多台服务器上进行同步并行训练,最终由参数服务器进行局部参数汇总,训练出一个全局的缺陷预测模型。NNDDP算法不仅能够处理大规模数据集,而且拥有不俗的预测性能。为了探究本文提出算法的可行性,本文对每个算法都进行了相应的对比实验。同时为了探究本文提出算法的稳定性,本文在不同数据集上进行了多批次实验。实验结果表明本文所提算法对软件缺陷预测数据集的处理拥有较优的性能。本文的所有研究旨在为软件质量保障提供新的理论基础,为软件缺陷预测技术探索新的研究方向。
其他文献
目的探讨骨髓水肿综合征(BMES)的临床诊断、鉴别诊断、治疗及预后。方法回顾性分析43例(51髋)资料完整的BMES患者的临床资料,治疗予以保护性负重、口服活血化瘀中成药,症状严
本实验研究了用三异辛胺(TIOA)萃取分离铀(VI)和钚(IV)的条件,并在此基础上拟定了废水铀钚联合测定方法。用 TIOA-二甲苯从盐酸中提取铀(VI)和钚(IV),用硝酸反萃铀,加偶氮氯磷 III(CPAII
目的探讨颅脑术后并发吞咽障碍留置胃管患者延续管理的应用效果。方法 90例颅脑手术并发吞咽障碍留置胃管患者,随机分为观察组和对照组,每组45例。观察组院外由延续管理小组
本文讨论了直流电动机双闭环调速系统动态仿真中的若干问题。实验结果表明用SIMULINK对控制系统进行仿真来辅助系统设计是一种行之有效的方法
衍射光栅已广泛应用于国防、科研和国民经济的许多领域,因此跟踪世界先进的衍射光栅制造技术具有十分重要的意义。文中对衍射光栅制取的两个重要方法—刻划光栅与全息光栅的
审计舞弊风险日益突出,而这一问题让外部使用人深受其害。我国针对于此也做出不少努力,然而,效果却微乎其微,审计舞弊事件还是时有发生。对此,本文将引入舞弊权衡模型来深入
HT公司是一家行业领先的工业连接器生产营销企业。在经济高速发展时期,存在着一些物料供不应求,一些物料呆滞的问题。本文运用产品生命周期的规律,通过对典型X物料近三年的销售
近年来,随着我国现代科学技术的快速发展,地质测绘技术取得了长远的进步,各项工程在开工之前都会应用地质测绘技术进行地质勘查,在一定程度上需要高质量的现代测绘技术的支持
目的:分析螺旋CT扫描应用于踝关节骨折诊断中的价值。方法:对某医院一年之内接受的104位踝关节损伤的病人依次进行口头问诊、X光拍摄和螺旋CT扫描,依照对患者表述的病情以及
由金属离子引起的环境问题和健康问题日益严重,这就对在水介质甚至活体细胞中对离子实现低浓度检测提出了更高的要求。荧光分析法作为一种有效的检测方法,在金属离子的检测方