一种跨项目软件缺陷预测数据选择方法技术

技术编号:34615942 阅读:27 留言:0更新日期:2022-08-20 09:22
本发明专利技术公开了一种跨项目软件缺陷预测数据选择方法,首先度量源项目数据与目标项目数据的概率分布,通过计算源项目数据和目标项目数据之间的Wasserstein距离,从项目的角度选取与目标项目数据更为相似的源项目数据,从而为从事软件缺陷预测相关工作人员提供可靠的项目数据选择依据。项目数据选择依据。项目数据选择依据。

【技术实现步骤摘要】
一种跨项目软件缺陷预测数据选择方法


[0001]本专利技术涉及软件缺陷预测
,更具体的说是涉及一种跨项目软件缺陷预测数据选择方法。

技术介绍

[0002]软件缺陷预测技术是目前提高软件测试效率的重要手段之一。其主要流程如下。首先通过分析软件的历史数据库,并从中选择程序模块,对其进行标记,之后构建缺陷预测数据,随后根据软件代码在编写过程中固有的特征以及代码的复杂程度,为程序设计出特征空间,特征空间的特征要求与软件缺陷紧密相关,并测量已提取的程序模块的特征值,在得到测量的结果后,这些程序模块便可作为训练数据,基于机器学习的方法,得到训练模型。同样将需要预测的程序模块进行按设计的特征进行测量,得到测试集,最后用机器学习得到的训练模型进行缺陷预测,其预测的输出可以是模块内是否含有缺陷、缺陷的数量以及缺陷的密度等。但在现实软件开发的情况下,需要进行缺陷预测的项目(目标项目)很可能并没有历史数据库,或者说仅有少量历史数据而不足以进行模型训练,这时可以借助其他具有充足历史数据的项目(源项目)数据,此方法称为跨项目软件缺陷预测。
[0003]针对跨项目软件缺陷数据匮乏的问题,采用其他软件缺陷数据进行数据补充,然而不同项目之间因其使用场景、软件开发人员的开发模式、设计方案、编程的方法等并不相同,所以这就导致两个不同项目数据会不可避免地存在差异性,这也是最终的预测效果并不好的原因。为了能够让预测效果更理想,采用其他软件缺陷数据进行数据补充时,其选择条件为选取与目标软件信息量更加相似的其他软件的缺陷数据。基于这一目的,计算项目间软件缺陷样本数据之间的相似性是十分重要的。
[0004]目前比较常见的方法是基于实例的样本相似性选择方法,例如Bruak过滤法和Peter过滤法,其主要目的是通过欧氏距离度量个体样本与目标样本之间的相似度,从而筛选出适合目标项目的源项目数据进行数据补充,之后再进行模型训练。但是这会存在一个问题,在多个源项目同时存在时,如何挑选源项目,也就是说需要先从项目的层面上解决问题,而不是直接选择样本数据,即使选择样本数据也需要尽可能寻找与目标项目分布相似的源项目数据。
[0005]因此,如何度量多源跨项目软件缺陷数据的相似性,为跨项目软件缺陷预测提供数据支持是本领域技术人员亟需解决的问题。

技术实现思路

[0006]有鉴于此,本专利技术提供了一种跨项目软件缺陷预测数据选择方法,首先度量源项目数据与目标项目数据的概率分布,通过计算源项目数据和目标项目数据之间的Wasserstein距离,从项目的角度选取与目标项目数据更为相似的源项目数据,然后同时结合机器学习方法,提出对相似性度量验证,验证本专利技术提出方法的有效性,从而为从事软件缺陷预测相关工作人员提供项目数据选择依据,并证明其可靠性。
[0007]为了实现上述目的,本专利技术采用如下技术方案:
[0008]一种跨项目软件缺陷预测数据选择方法,包括以下步骤:
[0009]步骤1:对多个干源项目数据和目标项目数据进行数据预处理;
[0010]步骤2:计算预处理后的每个源项目数据和目标项目数据之间的Wasserstein距离;
[0011]步骤3:根据Wasserstein距离判断每个源项目数据与目标项目数据的相似性,选定源项目数据。
[0012]优选的,所述数据预处理包括剔除冗余样本、剔除含缺失值的样本和数据标准化;采用主成分分析方法,把原始样本数据线性映射到低维空间中,使得投影后的数据在新的低维空间中具有各特征线性无关的特性,通过投影后,高维的数据可以映射为低维的数据,从而实现数据的简约,即降维;利用Z

score方法对源项目数据和目标项目数据进行标准化。
[0013]优选的,计算Wasserstein距离的具体过程为:
[0014]步骤21:源项目数据为X
S
,目标项目数据为X
T
,源项目数据中样本数量为N
S
,目标项目数据中样本个数为N
T
,则源项目数据与目标项目数据的概率分布公式为:
[0015][0016]其中p(x
s,i
)和p(x
t,i
)分别是源项目数据X
S
和目标项目数据X
T
中第的i个样本的概率分布;源项目数据和目标项目数据均为均匀分布,即p(x
s,i
)=1/N
S
,p(x
t,i
)=1/N
T

[0017]步骤22:最优运输就是将源项目数据X
S
移动到目标项目数据X
T
的最小工作量,也即找到从P(X
S
)到P(X
T
)的最优运输方案;
[0018]计算P(X
S
)和P(X
T
)两个分布之间的概率耦合矩阵,
[0019][0020]其中,P为两个分布之间的概率耦合矩阵;其中,P为两个分布之间的概率耦合矩阵;而P是所有运输方案的集合;R表示特征空间;
[0021]步骤23:根据概率耦合矩阵计算Wasserstin距离,公式为:
[0022][0023]其中<
·
,
·
>
F
代表矩阵内积,C为代价矩阵;
[0024][0025]C(i,j)代表样本x
s,i
与样本x
t,j
的平方欧式距离。
[0026]优选的,所述步骤3中按照所述Wasserstein距离从小到大进行排序,选定所述Wasserstein距离最小的源项目数据作为跨项目软件缺陷数据。
[0027]优选的,所述步骤3中根据所述Wasserstein距离为所有所述源项目数据分配权重,所述Wasserstein距离越小权重越大,根据所述权重对所有所述源项目数据进行加权,获得选定源项目数据。
[0028]优选的,所述步骤3的具体实现过程为:
[0029]步骤31:根据Wasserstein距离D计算e值;
[0030][0031]其中是第i个源项目数据与目标项目数据的欧式距离的平方,ω是用来控制Wasseerstein距离范围的参数;
[0032]步骤32:根据e值计算出k个源项目数据的权重;
[0033][0034]其中α
i
是第i个源项目数据的权重,用权重控制不同源域的重要性;
[0035]步骤33:将所有源项目数据的数据合并在一起,即将加权后的k个源项目数据以及其标签连接起来,形成训练集为:
[0036]X=[α1X
s,1
,...,α
k
X
s,k
],y=[y
s,1
,...,y
s,k
]ꢀꢀ
(6)
[0037]其中X
s,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨项目软件缺陷预测数据选择方法,其特征在于,包括以下步骤:步骤1:对多个源项目数据和目标项目数据进行数据预处理;步骤2:计算预处理后的每个源项目数据和目标项目数据之间的Wasserstein距离;步骤3:根据Wasserstein距离判断每个源项目数据与目标项目数据的相似性,选定源项目数据。2.根据权利要求1所述的一种跨项目软件缺陷预测数据选择方法,其特征在于,所述数据预处理包括剔除冗余样本、剔除含缺失值的样本和数据标准化;采用主成分分析方法对原始样本进行降维;利用Z

score方法对源项目数据和目标项目数据进行标准化。3.根据权利要求1所述的一种跨项目软件缺陷预测数据选择方法,其特征在于,计算Wasserstein距离的具体过程为:步骤21:源项目数据为X
S
,目标项目数据为X
T
,源项目数据中样本数量为N
S
,目标项目数据中样本个数为N
T
,则源项目数据与目标项目数据的概率分布公式为:其中p(x
s,i
)和p(x
t,i
)分别是源项目数据X
S
和目标项目数据X
T
中第的i个样本的概率分布;源项目数据和目标项目数据均为均匀分布,p(x
s,i
)=1/N
S
,p(x
t,i
)=1/N
T
;步骤22:计算P(X
S
)和P(X
T
)两个分布之间的概率耦合矩阵,其中,P为两个分布之间的概率耦合矩阵;其中,P为两个分布之间的概率耦合矩阵;R表示特征空间;步骤23:根据概率耦合矩阵计算Wasserstin距...

【专利技术属性】
技术研发人员:吴玉美姚京秀王江山胡峥涛于永利
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1