基于信息保留协同优化的异构跨项目软件缺陷预测方法技术

技术编号:37067039 阅读:15 留言:0更新日期:2023-03-29 19:45
本发明专利技术公开了基于信息保留协同优化的异构跨项目软件缺陷预测方法,通过综合边缘分布差异最小化、条件分布差异最小化以及原始数据类别信息保留最大化三个优化目标形成总体优化目标。求解总体优化目标得到源域数据与目标域数据的映射矩阵及对应权重,并据此构建软件缺陷预测模型以及对新的软件模块的缺陷倾向性进行预测。本发明专利技术综合利用特征和实例两个层面上的信息进行协同优化,实现了源域数据和目标域数据在最大程度上的对齐;特征变换过程中最大程度上保留原始数据类别信息,使得原本可分的数据在特征变换之后仍旧可分,进一步提高了缺陷预测模型的性能。了缺陷预测模型的性能。了缺陷预测模型的性能。

【技术实现步骤摘要】
基于信息保留协同优化的异构跨项目软件缺陷预测方法


[0001]本专利技术涉及软件缺陷预测
,更具体的说是涉及一种基于信息保留协同优化的异构跨项目软件缺陷预测方法。

技术介绍

[0002]软件缺陷预测作为提高软件测试效率、保证软件项目质量的重要方式,近年来受到学术界和工业界越来越多的关注。软件缺陷预测方法主要指利用软件缺陷数据(例如静态代码特征、搅动数据、缺陷信息)和机器学习方法构建缺陷预测模型,并利用此模型对新的软件模块数据的缺陷倾向性进行预测的一类方法。软件缺陷预测能够有效解决传统软件测试方法中存在的问题,有利于软件测试人员合理分配测试资源,提高测试效率,节省软件总体开发时间。
[0003]软件缺陷预测方法种类多样,具体有如下分类方法:
[0004]根据缺陷预测模型训练数据与预测数据是否来源于同一个项目,分为项目内软件缺陷预测和跨项目软件缺陷预测,当来自于同一个项目时,服从相同的分布;
[0005]在跨项目软件缺陷预测场景中,用于构建缺陷预测模型的训练数据称为源数据,源数据所在的项目称为源项目,模型将要进行预测的预测数据称为目标数据,目标数据所在的项目称为目标项目;根据源项目与目标项目是否使用相同的度量元又可以分为同构跨项目缺陷预测和异构跨项目缺陷预测。
[0006]目前,对于异构跨项目软件缺陷预测方法,主要包括基于特征匹配及基于特征变换的异构跨项目软件缺陷预测方法,
[0007]基于特征匹配方法的基本思路为从源域和目标域中选择共有的特征或者相似度较高的特征进行匹配,然后利用匹配后的特征构建软件缺陷预测模型并进行缺陷预测,例如HDP方法和FMT方法。该方法思想简单,可解释性强,但是预测效果往往不够好,因为源项目与目标项目之间可能不存在匹配度很高的特征。
[0008]而基于特征变换的方法的基本思路为通过对原始特征进行特征变换获得分布差异更小且维度相同的新特征,利用新特征进行软件缺陷预测模型构建和缺陷的预测。当前基于特征变换的异构跨项目软件缺陷预测方法主要有CCA+方法、KCCA+方法、MVSE方法和KSETE方法等。虽然基于特征变换的异构跨项目软件缺陷预测方法不需要源项目与目标项目之间存在匹配度很高的特征,但是特征变换的过程往往忽略了对原始数据类别信息的保留,导致原本可分的实例在特征变换之后不再可分。
[0009]且当前基于特征匹配的方法和基于特征变换的方法存在共同一个共同问题,即只考虑了特征层面的优化,忽略了实例层面的优化,即当前方法在优化过程中同等对待所有实例,这会导致模型对异常实例的过度重视,导致模型预测性能的降低。
[0010]因此,针对上述问题,如何提供一种性能优良的异构跨项目软件缺陷预测方法,是本领域技术人员亟需解决的问题。

技术实现思路

[0011]针对当前异构跨项目缺陷预测方法中存在的特征变换导致原始数据信息丢失、以及优化层面单一导致的模型对异常实例的过度重视问题,本专利技术的提供了一种在特征变换过程中能够实现原始数据类别信息保留、且可以实现实例与特征协同优化的异构跨项目软件缺陷预测方法,
[0012]为了实现上述目的,本专利技术采用如下技术方案:
[0013]一种基于信息保留协同优化的异构跨项目软件缺陷预测方法,其特征在于,包括:
[0014]软件缺陷预测模型构建步骤:
[0015]S1、确定源域数据与目标域数据边缘分布差异优化目标、条件分布差异优化目标和原始数据类别信息保留的优化目标,所述源域数据与目标域数据来自不同项目,且使用不同的度量元;
[0016]S2、根据三个所述优化目标得到总体优化目标;
[0017]S3、对所述总体优化目标进行求解,得到源域数据与目标域数据的映射矩阵以及对应权重;
[0018]利用所述映射矩阵将源域数据与目标域数据分别映射到由所述映射矩阵张成的空间中,使用映射到所述空间中的数据及所述对应权重训练软件缺陷预测模型,得到训练好的软件缺陷预测模型;
[0019]软件缺陷预测模型预测步骤:
[0020]S5、使用映射到由所述映射矩阵张成的空间中的目标域数据,通过所述训练好的软件缺陷预测模型进行预测,得到测试数据的缺陷类型标签。
[0021]优选的,S1中,所述源域数据与目标域数据边缘分布差异E
M
为:
[0022][0023]式中,为源域数据,为加入到源数据中的目标数据,为剩余目标域数据,A和B为所述源域数据与目标域数据的映射矩阵,α
i
为源域样本的权重,β
i
为目标域样本的权重,δ表示实例优化占总体优化的重要性比重;
[0024]所述源域数据与目标域数据条件分布差异为:
[0025][0026]式中,用于计算类间分布差异,用于保留数据的相邻关系;
[0027]所述原始数据类别信息保留包括类内据信息保留和类间距信息保留,对应公式为:
[0028]和
[0029]式中,和分别代表目标域数据的类内散度矩阵和类间散度矩阵。
[0030]优选的,所述源域数据与目标域数据条件分布差异中,和通过如下公式
获得:
[0031][0032][0033]其中,代表类别为c的源域数据,和表示类别为c的目标数据,j为循环变量。
[0034]优选的,S2中,得到的所述总体优化目标为:
[0035][0036]其中,W
T
=[A
T
,B
T
]表示优化变量,表示目标数据散度矩阵;γ,μ和λ分别为控制类别信息保留、目标数据方差以及目标数据正则项的超参数;阵;γ,μ和λ分别为控制类别信息保留、目标数据方差以及目标数据正则项的超参数;其中,表示边缘分布差异优化目标在总体优化目标中形成的系数;而表示条件分布差异优化目标在总体优化目标中形成的系数。
[0037]优选的,S3中,对所述总体优化目标进行求解,得到源域数据与目标域数据的映射矩阵,包括如下步骤:
[0038]根据约束优化理论,得到所述总体优化目标的拉格朗日函数为:
[0039][0040]对拉格朗日函数求导,并令得到转化后公式为:
[0041][0042]其中,Φ=diag(φ1,φ2,


k
)表示k个最大的特征值。
[0043]对所述转化后公式进行求解,得到优化变量W,所述优化变量W为映射矩阵A和B。
[0044]优选的,S3中,对所述总体优化目标进行求解,得到对应权重是将所述总体优化目标转化为如下形式:
[0045][0046][0047]然后利用求解二次规划问题的方法求解所述对应权重。
[0048]优选的,利用所述映射矩阵将源域数据与目标域数据分别映射到由所述映射矩阵张成的空间中,是根据矩阵运算法则,利用线性映射的方法直接将源域数据、目标域数据映射到由所述映射矩阵张成的空间中。
[0049]优选的,确定三个所述优化目标前先获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于信息保留协同优化的异构跨项目软件缺陷预测方法,其特征在于,包括:软件缺陷预测模型构建步骤:S1、确定源域数据与目标域数据边缘分布差异优化目标、条件分布差异优化目标和原始数据类别信息保留的优化目标,所述源域数据与目标域数据来自不同项目,且使用不同的度量元;S2、根据三个所述优化目标得到总体优化目标;S3、对所述总体优化目标进行求解,得到源域数据与目标域数据的映射矩阵以及对应权重;S4、利用所述映射矩阵将源域数据与目标域数据分别映射到由所述映射矩阵张成的空间中,使用映射到所述空间中的数据及所述对应权重训练软件缺陷预测模型,得到训练好的软件缺陷预测模型;软件缺陷预测模型预测步骤:S5、使用映射到由所述映射矩阵张成的空间中的目标域数据,通过所述训练好的软件缺陷预测模型进行预测,得到测试数据的缺陷类型标签。2.根据权利要求1所述的基于信息保留协同优化的异构跨项目软件缺陷预测方法,其特征在于,S1中,所述源域数据与目标域数据边缘分布差异E
M
为:式中,为源域数据,为加入到源数据中的目标数据,为剩余目标域数据,A和B为所述源域数据与目标域数据的映射矩阵,α
i
为源域样本的权重,β
i
为目标域样本的权重,δ表示实例优化占总体优化的重要性比重;所述源域数据与目标域数据条件分布差异为:式中,用于计算类间分布差异,用于保留数据的相邻关系;所述原始数据类别信息保留包括类内据信息保留和类间距信息保留,对应公式为:式中,和分别代表目标域数据的类内散度矩阵和类间散度矩阵。3.根据权利要求2所述的基于信息保留协同优化的异构跨项目软件缺陷预测方法,其特征在于,所述源域数据与目标域数据条件分布差异中,和通过如下公式获得:
其中,代表类别为c的源域数据,和表示类别为c的目标数据,j为循环变量。4.根据权利要求1所述的基于信息保留协同优化的异构跨项目软件缺陷预测方法,其特征在于,S2中,得到的所述总体优化目标为:其中,W
T
=[A
T<...

【专利技术属性】
技术研发人员:任玉杰王世海刘斌路云峰
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1