[发明专利]一种基于灾变的演化测试的动态优化方法无效
申请号: | 201010198471.X | 申请日: | 2010-06-11 |
公开(公告)号: | CN101882106A | 公开(公告)日: | 2010-11-10 |
发明(设计)人: | 王猛;李必信;王正山;蒋玉婷;张功源;邱栋;吉顺慧 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 黄雪兰 |
地址: | 210096*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 灾变 演化 测试 动态 优化 方法 | ||
1.一种基于灾变的演化测试的动态优化方法,其特征在于如下步骤:
步骤1).分析指定的作为测试对象的程序并构造对应的控制流图,在测试对象中指定测试目标并根据指定的测试目标构造适应值函数,所述的测试目标是公知的语句覆盖、分支覆盖及路径覆盖,
步骤2).随机生成k个数,这k个数组成一个测试用例即每个测试用例包含k个数,然后每个测试用例编码成种群中的一个个体,重复上述过程直至初始种群有n个个体,其中k和n都是正整数,所述的编码方法是公知的二进制编码和格雷码编码方法,
步骤3).将种群中的个体解码为测试用例并将该测试用例作为测试对象的输入,运行测试对象并根据步骤1)构造的适应值函数计算适应值,适应值的值域为(0,1.0],当某个体的适应值为1.0时,该个体就是所需的全局最优解,该个体对应的是满足测试目标的测试用例,所述的解码是将二进制编码或者格雷码编码的个体转换为十进制数值的测试用例,
步骤4).将种群中个体的适应值按照设定的划分标准进行划分,统计每个划分区域中的个体数,根据DCP=-∑Pi*log10Pi度量初始种群的多样性,所述的DCP为种群的多样性,Pi表示种群中适应值在第i个划分区域的个体数占个体总数的比例,且Pi∈[0,1.0],i为正整数且为划分区域的编号,如果初始种群的多样性DCP高于设定的第一阀值,就重新生成初始种群直到初始种群的多样性DCP低于第一阀值,第一阀值的值域为(0,1.0],
步骤5).如果种群中的个体包含所需的全局最优解或者种群演化满足预设终止条件,则转至步骤11),否则,进入步骤6),所述的全局最优解是种群中适应值为1.0的个体,且该个体对应的是满足测试目标的测试用例,所述的预设终止条件是种群演化迭代次数达到预设的种群最大迭代次数max,所述的max是正整数,
步骤6).如果种群的多样性DCP低于设定的第二阀值,则进行灾变操作,产生一个新种群,并转入步骤9),否则,将当前种群作为旧种群,进入步骤7),第二阀值的值域为(0,1.0],
步骤7).对旧种群进行演化操作,并生成临时种群,
步骤8).按照设定的存活概率Ps对旧种群和临时种群进行存活操作,形成一个新种群,新种群中的个体为二进制编码或者格雷码编码的个体,所述的存活概率Ps∈(0,1.0);
步骤9).将新种群作为当前种群,并将当前种群中的个体解码为测试用例并将该测试用例作为测试对象的输入,运行测试对象并根据步骤1)构造的适应值函数计算适应值,
步骤10).转至步骤5),
步骤11).结束测试。
2.根据权利要求1所述的基于灾变的演化测试的动态优化方法,其特征在于步骤6)中的灾变操作的具体步骤如下:保留旧种群中的最佳个体,将旧种群中的其余n-1个个体全部抛弃,再随机生成一个包含n-1个个体的新种群,并将保留的旧种群的最佳个体放到新种群中,此时新种群中共有n个个体,所述的旧种群中的最佳个体是旧种群中适应值最大的个体,所述的n是正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010198471.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种移动存储设备的加密共享方法
- 下一篇:触控键盘