[发明专利]一种基于基因表达式编程算法的软件缺陷预测方法在审
申请号: | 202210536193.7 | 申请日: | 2022-05-17 |
公开(公告)号: | CN114968773A | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 肖文辉;彭虎;韩雨鹏 | 申请(专利权)人: | 九江学院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/12 |
代理公司: | 常州品益专利代理事务所(普通合伙) 32401 | 代理人: | 侯利娜 |
地址: | 332005 江西*** | 国省代码: | 江西;36 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 基因 表达式 编程 算法 软件 缺陷 预测 方法 | ||
1.一种基于基因表达式编程算法的软件缺陷预测方法,其特征在于包括:
S1:定义初始化参数,将软件历史的数据集分成训练数据集和测试数据集;
S2:令当前目标函数评价次数FEs=0;
S3:随机产生字符编码的初始化种群P{X1,X2…XNP},其中Xi是1行Gsize*(H+L)列的矩阵,其中矩阵中每一个基因的头部取值范围是函数符号集F和终止符号集T中的任意符号,而每一个基因的尾部取值范围只能是终止符号集T中的符号;
S4:通过树状结构对种群P中的所有个体Xi进行编码,由字符串转变成表达式树;
S5:通过中序遍历对种群P中的所有个体Xi的表达式树进行解码,表达出每个个体Xi所对应的程序模型;
S6:计算每个个体Xi的适应度值,通过轮盘赌选择机制,从种群P中选择出优生个体Xi构建成优生种群P*;
S7:将种群P替换成优生种群P*,执行基于领域变异策略的基因表达式编程算法对种群P进行演化计算,产生新种群P;
S8:重复S4至S7直至评价次数FEs达到MAX_FEs后结束,计算结束得到的最优个体即为软件缺陷预测的模型;
S9:通过测试集对模型进行测试,得到最终预测模型,并将取到的实况软件缺陷数据资料输入到最终预测模型中进行预测。
2.根据权利要求1所述的方法,其特征在于:计算每个个体Xi的适应度值f(Xi)时:将训练集的数据输入到个体Xi对应的模型中,得到一个计算值y,如果计算值y大于或等于舍入阈值,则被分类为1,否则为0,其中软件有缺陷被标记为1,软件无缺陷被标记为0;
将预测结果和真实结果进行比对,统计出真阴性(TNi)、真阳性(TPi)、假阴性(FNi)、假阳性(FPi)的数量;
计算适应度值,适应度值函数SSPNi定义如下:
SSPNi=SNi×SPi×PPVi×NPVi
其中,SNi、SPi、PPVi、NPVi分别为敏感性、特异性、阳性识别值、阴性识别值,定义公式如下:
评估次数Fes=Fes+1,转到S7。
3.根据权利要求1所述的方法,其特征在于:每个个体Xi被选中的概率Pi计算公式如下:
4.根据权利要求1所述的方法,其特征在于:对种群P进行演化计算时:
计数器i=1,其中i表示当前个体下标;
如果i大于种群数NP,则转到步骤10.6,否则执行以下步骤;
令j为当前领域内个体的下标,取值范围为[i-k,i+k],如果j等于0,则令j等于NP,如果j<1或者j>NP,则用以下公式对j进行取值:
j=(j+NP)%NP
从当前领域Ki中随机选择一个个体Xi;
通过变异概率Pm选择出变异的基因位;
如果变异的基因位是头部,则从函数符号集F或终止符号集T中随机选择一个符号将之替换,如果是尾部,则只从终止符号集T中选择;
依据各遗传操作的概率,依次进行以下操作:插串,包括非根插串、根插串和基因变换;重组,包括单点重组、两点重组和基因重组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于九江学院,未经九江学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210536193.7/1.html,转载请声明来源钻瓜专利网。