APP下载

基于分层数据筛选的跨项目缺陷预测方法

2021-10-28陈小颖

计算机工程与应用 2021年20期
关键词:实验方法模型

赵 宇,祝 义,2,于 巧,陈小颖

1.江苏师范大学 计算机科学与技术学院,江苏 徐州 221116

2.南京航空航天大学 计算机科学与技术学院,南京 210016

软件缺陷预测是当前软件测试和机器学习紧密结合的一个研究热点,目的是期望在项目开发的早期阶段预测出某些模块中是否含有缺陷,从而合理地分配测试资源,最大化资源利用率。目前大部分的学术研究都关注项目内缺陷预测(Within Project Defect Prediction,WPDP)[1],也就是选择同一项目的部分数据集作为训练数据,剩下的部分作为测试数据来构建模型。但是一方面这种模型的普适性太差,不能用于预测其他项目;另一方面就是实际开发中的项目可能是一个新启动的软件项目,没有历史数据作为训练数据,因此无法构建缺陷预测模型。针对此实际问题有学者提出了跨项目缺陷预测(Cross Project Defect Prediction,CPDP)[2-3],从其他项目中选择合适的数据集作为训练数据来训练缺陷预测模型,然后用于预测目标项目是否含有缺陷。Herbold[4]提出了两种基于距离相似性的源项目训练数据集选择策略。但是他们的方法与项目内缺陷预测的性能存在差距。李勇等人[5]提出了一种基于目标项目的两阶段筛选训练数据集的方法,但是训练出的模型与项目内预测相比性能提升有限。MA等人[6]从为源项目中的实例设置权重的角度出发,提出一种新颖的跨项目缺陷预测方法TNB(Transfer Naïve Bayes),该方法通过对目标项目数据的分布进行预测,来为候选源项目中的实例设置权重,但该方法仅适用于朴素贝叶斯模型。……

登录APP查看全文

猜你喜欢

实验方法模型
一半模型
记一次有趣的实验
重尾非线性自回归模型自加权M-估计的渐近分布
做个怪怪长实验
3D打印中的模型分割与打包
NO与NO2相互转化实验的改进
实践十号上的19项实验
用对方法才能瘦
四大方法 教你不再“坐以待病”!
捕鱼