[发明专利]一种基于GA算法的测试数据进化生成方法有效
申请号: | 201710077936.8 | 申请日: | 2017-02-14 |
公开(公告)号: | CN106919504B | 公开(公告)日: | 2020-09-22 |
发明(设计)人: | 包晓安;郑腾飞;张娜;熊子健 | 申请(专利权)人: | 浙江理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/12 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 郑海峰 |
地址: | 310018 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ga 算法 测试数据 进化 生成 方法 | ||
1.一种基于GA算法的测试数据进化生成方法,其特征在于包括如下步骤:
1)初始化子种群,赋值算法参数,采用位串形式编码,为种群个体染色体与二进制串之间建立一对一的映射关系;
2)插桩被测程序,将测试用例输入到程序中执行计算种群的个体距离;计算节点覆盖率和分支距离;然后构造个体适应值函数;计算子种群中每个个体的适应值,并且按照降序排序;引入节点贡献度,根据贡献度权重调整适应值函数,计算调整后的适应值函数值,并作为阈值;
3)选取各子种群中适应值大于阈值的个体构成主种群,再对主种群中的个体按适应值降序排序,选取排序前1/2的个体,替换掉各个子种群中适应值小于阈值的个体;
4)对步骤3)处理后的各子种群依次进行选择、交叉、变异操作,生成子代种群;
5)判断是否满足设定的终止条件,若满足,则迭代停止,输出测试数据;反之,则跳转到步骤2)。
2.根据权利要求1所述的基于GA算法的测试数据进化生成方法,其特征在于所述的步骤2)具体为:
步骤a:计算种群的个体距离公式为:
式中,d(x,y)表示两个个体之间的曼哈顿距离,xi和xj表示第k个种群中的任意两个不同个体;
步骤b:分支距离的计算公式为:
式中,Odistance表示分支距离,S是覆盖目标路径的路径数目,θ为大于零的常数;
步骤c:节点覆盖率的计算公式为:
式中,Ncr表示节点覆盖率,τ是覆盖目标路径节点的节点数目,ω为目标路径的节点数目;
步骤d:个体适应值函数为:
fit(xi,t)=αOdistance(xi,t)+βNcr(xi,t)+γd(xi,xj,t)
式中,fit(xi,t)表示个体适应值函数,Odistance(xi,t)、Ncr(xi,t)和d(xi,xj,t)分别是第t代第k个种群中个体xi的分支距离、节点覆盖率和个体距离,α+β+γ=1,α是覆盖率影响因子,β是分支谓词影响因子,γ是种群多样性影响因子;
步骤e:种群多样性的计算公式为:
Vk=ηDk+(1-η)fitk
式中,Vk表示种群的多样性,Dk是种群的曼哈顿距离fitk是个体的适应值,η不为零的常数,k表示当前种群,1≤k≤m,m为子种群总数;
步骤f:调整原来的适应值函数:
式中,Fit表示调整后的适应值函数,Q(xi,t)是个体xi的贡献度。
3.根据权利要求1所述的基于GA算法的测试数据进化生成方法,其特征在于所述的步骤3)具体为:
步骤a:选择操作采用改进的截断选择法和精英个体保留策略相结合的方法进行选择母个体,选择概率为:
式中,Pk(xi)是第k个种群中个体xi被选为母个体的概率,SK是种群中大于阈值的个体数目;
步骤c:交叉操作通过引入种群个体相似度来达到交叉概率的动态自适应改变;
种群个体xi和xj之间的相似度为:
式中,xig表示第i个输入变量的二进制串中第g个符号,l是二进制串的长度;
步骤c:变异操作采用动态的自适应改变变异率Pm来增强种群多样性;变异率:
式中,fmax是当前种群中最大的适应值,是当前种群中的平均适应值,Vk是当前种群的多样性值,p是实际设定的小变异率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江理工大学,未经浙江理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710077936.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种采集日志消息的方法和装置
- 下一篇:软件缺陷预测方法及装置