【技术实现步骤摘要】
一种基于线性规划的工作量感知即时软件缺陷预测方法
[0001]本专利技术涉及软件缺陷预测
,尤其涉及一种基于线性规划的工作量感知即时软件缺陷预测方法。
技术介绍
[0002]随着信息化时代的到来,计算机软件行业得到了蓬勃的发展,人们对软件的需求日益增加,软件技术正影响着我们身边的每一个人。然而在软件开发过程中,会出现一些难以避免的问题,比如软件新技术的系统兼容性问题,项目成员之间的沟通问题等,也就不可避免的会引入软件缺陷,尽可能早的发现这些缺陷并将其修复,对软件后期的开发及维护具有极其重要的作用,检测软件缺陷的过程称为软件缺陷预测。
[0003]传统的软件缺陷预测技术主要是针对软件代码或软件开发过程的粗粒度度量,例如方法级别、类级别、文件级别或者包级别的缺陷预测,但是这种粗粒度的度量在预测出某一个模块有缺陷倾向性后,要在方法、类、文件或包中定位缺陷存在的位置并修复,开发者需回忆开发时的细节,此时定位并修复缺陷的过程需要花费较多的时间和精力,传统的软件缺陷预测在实际应用中的成本是相对比较高的。由此,研究者提出了即时软件缺陷预测,其是在软件开发过程中,对开发者在一段时间内提交的代码变更是否引入缺陷进行预测,开发者对刚提交的代码还很清楚,定位缺陷的具体位置,及时修复缺陷是比较容易的。即时软件缺陷预测的度量是代码变更级别的,与传统的软件缺陷预测相比,它是细粒度的,即时的,易追溯的。因此,它可以用比较少的开发成本去预测出较多的缺陷。
[0004]现有基于分类器的即时软件缺陷预测方法大都是有参模型,通常使用 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种基于线性规划的工作量感知即时软件缺陷预测方法,其特征在于,包括如下步骤:抽取软件度量元和标注软件实体来构造即时软件缺陷数据集;对即时软件缺陷数据集进行类不平衡数据处理;对处理后的即时软件缺陷数据集中软件实体的度量元进行数据归一化处理,消除软件实体不同度量元之间量纲的影响;在数据归一化处理得到的即时软件缺陷预测数据集上构建LPDP模型;通过LPDP模型预测新提交的软件代码变更,得到其预测标签。2.如权利要求1所述的一种基于线性规划的工作量感知即时软件缺陷预测方法,其特征在于,在所述类不平衡数据处理的过程中采用数据抽样算法进行数据类不平衡处理,通过随机增加缺陷类软件实体或减少非缺陷类软件实体的数目改变原始数据的分布,实现两类数据在数量上的平衡。3.如权利要求2所述的一种基于线性规划的工作量感知即时软件缺陷预测方法,其特征在于,所述数据抽样算法采用随机上采样算法。4.如权利要求1所述的一种基于线性规划的工作量感知即时软件缺陷预测方法,其特征在于,所述数据归一化处理方法为z
‑
score方法,计算方法如下:其中x
i
是软件实体x第i个度量的原始值,是x
i
归一化后的值,μ
x
是软件实体x的平均值,σ
x
是软件实体x的标准差。5.如权利要求1所述的一种基于线性规划的工作量感知即时软件缺陷预测方法,其特征在于,通过定义概率标注矩阵、构造鉴别距离矩阵与构造目标函数来构建所述LPDP模型。6.如权利要求5所述的一种基于线性规划的工作量感知即时软件缺陷预测方法,其特征在于,所述概率标注矩阵的定义包括:用C={c1,c2}表示训练集的类,即缺陷类和非缺陷类;用μ={μ1,μ2}表示训练集的类中心;用Ω
S
={x1,x2,...,x
m
}表示训练集中的软件实体;用p={0,1}来表示训练集中软件实体的实际标签,用Ω
T
={x1,x2,...,x
n
}表示测试集中的软件实体,用表示测试集中软件实体的预测标签,m与n分别表示训练集与测试集中软件实体的数目,用d表示软件实体的度量元数目;用M表示概率标注矩阵,则M
ij
技术研发人员:李志强,杜倩男,谢娟英,任杰,
申请(专利权)人:陕西师范大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。