一种基于分层数据筛选的跨项目软件缺陷预测方法与流程

文档序号:21973564发布日期:2020-08-25 19:04阅读:来源:国知局

技术特征:

1.一种基于分层数据筛选的跨项目软件缺陷预测方法,其特征在于:

包括以下步骤:

步骤1:从软件缺陷数据集中选择训练集和测试集,并且对所有项目集数据进行log变换;训练集即源项目集,测试集即目标项目集;

步骤2:提取所有项目属性的分布特征向量和项目分布向量,计算源项目与目标项目之间的相似度,选择与目标项目最相似的k个源项目集得到候选源项目集;

步骤3:合并k个候选源项目集,计算源项目中所有实例与目标项目实例相关程度,选择与目标项目中实例相关程度最高的h个实例得到候选实例集;

步骤4:使用候选实例集训练朴素贝叶斯模型;

步骤5:使用测试数据集测试预测模型;

步骤6:对提出的方法进行显著性检验,看该方法是否明显区别于其他方法。

2.根据权利要求1所述的一种基于分层数据筛选的跨项目软件缺陷预测方法,其特征在于:所述步骤1中采用下式(1)对所有项目集数据进行log变换:

y=ln(1+x)(1)

式中x表示变换前的项目内各个属性数据,y表示变换后的数据。如原数据存在0值,则变换后数据值为1。

3.根据权利要求1所述的一种基于分层数据筛选的跨项目软件缺陷预测方法,其特征在于:所述步骤2中提取的项目属性分布特征向量dj={mean(fj),median(fj),skew(fj),kurt(fj)};项目分布向量v={d1,d2...dm};其中dj表示表示一个软件项目中所有n个实例的第j个度量属性的分布特征,v表示一个项目中所有n个实例的所有m个度量属性的分布特征。

4.根据权利要求1所述的一种基于分层数据筛选的跨项目软件缺陷预测方法,其特征在于:所述步骤2中采用下式(2)计算源项目与目标项目之间的相似度:

式中,dsi表示源项目中属性分布特征向量,dti表示目标项目中属性分布特征向量,依据计算结果选出k个相似度最高的候选源项目。

5.根据权利要求1所述的一种基于分层数据筛选的跨项目软件缺陷预测方法,其特征在于:所述步骤3中采用下式(3)计算源项目中所有实例与目标项目中实例之间的相关程度:

式中,cov(x,y)为实例x与实例y的协方差,var[x]为实例x的方差,var[y]为实例y的方差。

6.根据权利要求1所述的一种基于分层数据筛选的跨项目软件缺陷预测方法,其特征在于:所述步骤5中采用下式(4)对测试数据进行预测:

式中,x=(x1,x2...,xn),y∈{0,1},0表示该软件模块不存在缺陷,1则相反,表示软件模块中有缺陷;

预测结果为一个条件概率值,若p(1|x)>p(0|x),则认为该模块有缺陷。

7.根据权利要求1所述的一种基于分层数据筛选的跨项目软件缺陷预测方法,其特征在于:所述步骤6中采用wilcoxcon符号秩检验对方法进行显著性检验。


技术总结
本发明公开了一种基于分层数据筛选的跨项目软件缺陷预测方法,针对跨项目软件缺陷预测方法中项目之间以及实例之间的差异性降低缺陷预测性能的问题。该方法将训练数据的筛选过程分为项目层筛选和实例层筛选,首先从其他数据集中按照最近邻算法选出与目标项目数据分布最接近的候选项目集,其次在候选项目集中按照相关程度高低选出与目标项目中实例相似度较高的训练实例集,最后使用训练实例集结合朴素贝叶斯算法训练出缺陷预测模型。使用该模型在Promise数据集上进行缺陷预测,该方法有效降低了跨项目的训练数据和目标数据的分布差异。

技术研发人员:祝义;赵宇
受保护的技术使用者:江苏师范大学
技术研发日:2020.06.16
技术公布日:2020.08.25
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1