[发明专利]一种软件缺陷预测的改进排序学习方法在审
申请号: | 201910231073.4 | 申请日: | 2019-03-26 |
公开(公告)号: | CN109947652A | 公开(公告)日: | 2019-06-28 |
发明(设计)人: | 杨晓杏;温武少;李鑫 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/00 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 林梅繁 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 排序 训练数据 复杂度 预处理 模型参数 软件缺陷 优化模型 回归 多目标优化算法 源代码文件 测试数据 构造预测 模型分析 缺陷信息 软件模块 实际需求 应用场景 优化算法 单目标 组模型 预测 度量 改进 学习 赋予 | ||
1.一种软件缺陷预测的改进排序学习方法,其特征在于,包括以下步骤:
步骤1、从已知缺陷个数的源代码文件中提取度量元和相应的缺陷个数,作为训练数据;
步骤2、对训练数据进行预处理,包括对重复样本、不一致样本、缺失数据的处理;
步骤3、利用预处理过的训练数据构造预测模型,使用多目标优化算法同时优化模型的排序性能、回归性能以及模型复杂度,得到一组模型参数,然后根据实际需要选择合适的模型参数;或者先根据实际需求对模型的排序性能、回归性能以及模型复杂度赋予相应的权值,然后使用单目标优化算法求得模型参数;
步骤4、输入测试数据,利用训练得到的模型分析测试数据,得到相应软件模块的缺陷信息。
2.根据权利要求1所述的软件缺陷预测的改进排序学习方法,其特征在于,所述步骤3使用线性预测模型,根据演化算法得到模型参数:
S31、使用平均缺陷百分比FPA衡量模型的排序性能,平均绝对误差AAE作为模型的回归性能度量,非零参数的个数作为模型复杂度的衡量指标;
S32、利用预处理过的训练数据构造预测模型,使用多目标优化算法同时优化模型的排序性能、回归性能以及模型复杂度,得到一组模型参数,然后根据实际需要选择合适的模型参数;或者先根据实际需求对模型的排序性能、回归性能以及模型复杂度赋予相应的权值,然后使用单目标优化算法求得模型参数。
3.根据权利要求2所述的软件缺陷预测的改进排序学习方法,其特征在于,步骤3中,假设线性预测模型为使用组合差分进化算法求得模型参数αi:
a)、输入M个训练向量xi=(xi1,xi2,...,Xid),i=1,2,...,M,以及最小化目标函数G(x)=-λ1G1(x)+λ2G2(x)+λ3G3(x);其中即平均缺陷百分比FPA,用于衡量模型的排序性能;即平均绝对误差AAE,用来衡量模型的回归性能;G3(x)为非零参数的个数,是模型复杂度的衡量指标;λ1、λ2、λ3分别是模型的排序性能、回归性能及模型复杂度的权重;
b)、初始化N为每一次迭代的种群数量,随机生成N个解,组成初始种群P0,设置为第0代种群t=0;
c)、设tmax为设定的最大种群代数,当t<tmax时,循环以下步骤:
(1)对于Pt中的每一个解vi,通过杂交或变异方法根据以下三种策略生成三个新解:
Rand-1-bin:
Rand-2-bin:
Current-to-rand-1:
每一种策略创造出一个新解其中F和杂交控制参数Cr是从[F=1.0,Cr=0.1],[F=1.0,Cr=0.9],[F=0.8,Cr=0.2]中随机选择的,r1、r2、r3、r4、r5是从[1,N]中随机选择的不相同整数,rand和F1是(0,1)中均匀分布的随机数,jrand是从[1,d]中随机选择的整数;根据目标函数,从三个新解以及原始解vi中选择出最优的解进入到下一代种群中;
(2)令t=t+1,当t<tmax时返回步骤(1),否则转入步骤d);
d)、根据目标函数G(x),求得种群Pt+1中的最优解,即从第t代种群中选择目标函数值最大的作为最终解,最终得到预测模型
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910231073.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:人工智能引擎优化方法和装置
- 下一篇:用于测试用例库自动更新的方法与设备