买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种基于进化特征构建的工作量感知即时缺陷预测方法_大连理工大学_202410011643.X 

申请/专利权人:大连理工大学

申请日:2024-01-04

公开(公告)日:2024-03-22

公开(公告)号:CN117743803A

主分类号:G06F18/20

分类号:G06F18/20;G06F18/213;G06F18/241;G06F8/30

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.04.09#实质审查的生效;2024.03.22#公开

摘要:本发明属于软件缺陷预测技术领域,提出了一种基于进化特征构建的工作量感知即时缺陷预测方法。该方法主要通过多目标遗传优化算法,以模型预测的准确率与所需的工作量作为目标函数,进行机器学习模型的特征构建,并将构建好的特征应用在机器学习模型上。本发明将工作量感知与特征工程相结合,从而更加灵活地应用在不同的模型上。

主权项:1.一种基于进化特征构建的工作量感知即时缺陷预测方法,其特征在于,具体步骤如下:步骤1:数据收集与处理;收集软件度量元与软件实体标签来构造即时软件缺陷预测数据集;由于数据集属于类不平衡数据集,对数据集进行类不平衡数据预处理;步骤2:计算数据集的工作量度量;采用代码变更行数codechurn来作为工作量度量,根据数据集修改的代码行度量元计算得到codechurn;对于代码变更c,具体计算如下:codechurn=lac+ldc其中,lac和ldc代表了代码变更c增加与删除的代码行数;步骤3:特征构建;在训练集上,通过多目标优化方法来构建进化特征集种群,用表现好的特征个体更新种群,从最终种群中选取最优个体作为最终特征集;具体过程如下:a初始化:随机初始化种群;使用GP树来表示特征;树的叶子节点是被叫做终止集,非叶子节点叫做符号集;终止集被分成了两类,常数和参数x,y,z...;常数在整个进化过程中保持不变,而参数是由程序输入的;由多棵GP树构成的特征集组成进化算法基本单位的个体φ,表示为代表了一组可用于构造的特征集;而由多个个体组成的,存储进化算法过程中的表现良好的个体集合则为种群,一个种群由多个个体构成,表示为P={φ1,φ2,...,φs};b评估:根据训练数据的交叉验证来评估每个新个体的适应度值;适应度评估函数由两个目标函数组成:准确率指标函数与工作量感知函数;对于工作量感知的即时软件缺陷预测,构建模型时主要考虑优化目标,第一个目标是从分类模型角度考虑,对于一组数据,分类指标函数f1通过以下公式计算: 其中,precision和recall分别代表分类预测结果的准确率和召回率指标;f1值可以度量分类模型的性能好坏,该值越高,则代表分类模型性能越好;第二个目标是从工作量感知角度考虑,对于一组数据,通过计算检测该代码变更所需的工作量,也就是codechurn,来计算缺陷密度: 对于一个代码变更c,denistyc代表该变更的缺陷密度,ypred代表该变更在分类模型上的预测值,那么工作量指标代码密度平均比例avd用如下公式计算: 其中,c1,c2,...,cM为M个代码变更按照预测缺陷密度升序进行排列,denistyci代表代码变更ci的实际缺陷密度;因此,缺陷密度之和定义为D;对于检查每个代码变更所需的缺陷密度占总缺陷密度的比例用pd来表示,则M个代码变更的pd平均值用avd可以计算得出,工作量感知模型性能越好,则越会将缺陷密度大的代码变更排序在前,即avd越大;c进化:每个个体都包含一组GP树;在后代生成中,从每个个体中随机挑选GP树来执行如下变异和交叉操作;1变异算子:随机选择一个子树并用随机生成的树替换它;2交叉算子:用来自另一个父代的子树随机替换来自一个父代的子树;为了保持种群多样性,强制变异算子生成新的个体;d选择:将父子两代的进行合并,对合并后的种群,基于NSGA-II算法进行多目标优化选择,具体步骤如下:首先,通过快速非支配排序算法对个体之间的Pareto支配与非支配关系进行排序分层,分为不同的Pareto前沿;Pareto支配与非支配关系的定义如下:假设φi和φj是种群中的两个个体,当f1φi>f1φj且avdφi≥avdφj或f1φi≥f1φj且avdφi>avdφj时,称φi对φj是Pareto支配;如果当前目标空间中不存在支配φ的个体,则称该个体φ为Pareto最优解;由一组Pareto最优解组成的解集对应的向量表示就是Pareto前沿;为保证群体的多样性,需要在每一层级Pareto前沿上计算每个个体的拥挤度,从而在每个层级上比较个体的优异程度;种群中的每个个体都设定一个拥挤度参数,针对每个目标函数,找出与该解函数值相邻的两个解并计算这两个解之间的函数差值;当前解的拥挤距离就是所有目标函数获得的相邻解函数差值之和,拥挤距离越小就代表该个体周围越拥挤;最后,通过采用精英策略来防止优秀个体的流失,首先将父代种群和子代种群合成种群,根据以下偏序规则从合并后的种群生成新的父代种群:如果两个个体具有不同的Pareto前沿层级,则偏向于低Pareto前沿层级的个体;如果两个个体具有相同的Pareto前沿层级,则偏向于大拥挤距离的个体;e生成最终特征集:达到进化算法最终条件后,停止进化并得到最终种群,也就是最优解集,计算得到最优解集中分类指标最大的个体作为最优解,即最终构造的特征集;步骤4:模型训练;通过特征构建阶段生成的特征集来重新构建训练数据集,为新构建出来的数据集训练分类预测模型,生成最终模型;采用决策树算法作为分类模型,决策树是一种树状结构,它的每一个叶节点对应着一个分类,非叶节点对应着在某个属性上的划分,根据样本在该属性上的不同取值将其划分成若干个子集;该分类模型的具体算法如下:假定共有y类样本,当前样本集合D中第k类样本所占的比例为pk,则D的信息熵EntD定义为: EntD的值越小,则D的纯度越高;假设离散属性a可能存在V个取值,则使用a对集合D进行划分,会产生V个分支,其中第v个分支结点包含了D中所有在属性a上取值av为的样本,即为Dv;给分支结点赋予权重可以得到信息增益Gain: 信息增益越大表示使用属性a来划分所获得的纯度提升越大,以信息增益作为依据来划分,根据样本在该属性上的不同取值将其划分成若干个子集,即分为不同类;在即时软件缺陷预测领域中,属性就是数据集的特征,划分的类别分为缺陷与干净两种类型;将最终生成的决策树模型用于后续的代码变更的缺陷预测,保证工作量感知场景下的预测准确率。

全文数据:

权利要求:

百度查询: 大连理工大学 一种基于进化特征构建的工作量感知即时缺陷预测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。