1.一种基于拓扑超立方体学习策略的差分演化DE‑TH算法的测试用例生成方法,其特征在于,包括:对被测程序进行静态分析,提取所述被测程序的静态结构信息;
基于拓扑超立方体学习策略的差分演化DE‑TH算法和所述静态结构信息,生成测试新种群;包括:基于所述静态结构信息初始化种群;
基于差分策略,实现种群的个体突变;
将父代个体与突变个体进行二项交叉;其中,父代个体和突变个体进行二项式交叉操作,生成试验个体ui,进而保持种群的多样性;当一个[0,1]之间的随机数小于等于交叉概率,或者当前维度索引等于一个随机产生的维度索引时,用vi,j来更新ui,j;否则,用xi,j更新ui,j;更新过程如下:式中,ui,j表示第i个试验个体的第j维;vi,j表示第i个突变个体的第j维;xi,j表示第i个父代个体的第j维;CR表示交叉概率;jrand表示在第j维中随机产生的维度索引;
基于拓扑超立方体学习策略,充分利用当前最优个体信息进行迭代;其中,当满足一个跳转条件时,拓扑超立方体学习策略才被执行;对于一个D维的试验个体ui,拓扑超立方体学习THBL策略根据试验个体的每个维度中的当前数ui,j生成对立数 然后ui,j和 根据一个相同的搜索步长控制参数k产生 和 记Upj和Lowj是个体在第j维的上下限,和 的计算方法如下:和 是一对对立数;
接着,拓扑超立方体学习THBL策略将ui的某些维度用它们的 和 中的其中D D
一个来替换,就生成了一个新的点,而最后可以生成(4 ‑1)个新的点;把这(4 ‑1)个点和当D前点都称为拓扑超立方体点,记为 l=1,2,...,4 .拓扑超立方体点集合记为
然后,用到当前最优解xbest的曼哈顿距离最短的拓扑超立方体点 来更新当前点ui;
过程如下:
这里
式中,xbest,j是当前最优解的第j维; 是第l个拓扑超立方体点的第j维;
生成测试新种群;
在当前迭代完成后,将所述新种群解码为满足被测程序的测试用例集。
2.根据权利要求1所述的基于拓扑超立方体学习策略的差分演化DE‑TH算法的测试用例生成方法,其特征在于,在所述在当前迭代完成后,将所述新种群解码为满足被测程序的测试用例集后,所述方法还包括:将所述测试用例集作为被测程序的数据输入,以检测所述被测程序的缺陷。
3.根据权利要求2所述的基于拓扑超立方体学习策略的差分演化DE‑TH算法的测试用例生成方法,其特征在于,在将所述测试用例集作为被测程序的数据输入,以检测所述被测程序的缺陷之后,所述方法还包括:驱动被测程序并记录输出结果,同时更新路径覆盖信息和测试套件。
4.根据权利要求3所述的基于拓扑超立方体学习策略的差分演化DE‑TH算法的测试用例生成方法,其特征在于,在所述驱动被测程序并记录输出结果,同时更新路径覆盖信息和测试套件之后,所述方法还包括:若判断所述拓扑超立方体学习策略的差分演化DE‑TH算法未达到了终止条件,则计算测试用例的适应度函数值,用贪婪选择机制来更新当前种群以生成下一代种群,否则,终止算法。
5.根据权利要求1所述的基于拓扑超立方体学习策略的差分演化DE‑TH算法的测试用例生成方法,其特征在于,所述对被测程序进行静态分析,提取所述被测程序的静态结构信息,包括:提取测试数据的类型、范围参数以及被测程序中要进行测试的路径集合。
6.一种基于拓扑超立方体学习策略的差分演化DE‑TH算法的测试用例生成系统,其特征在于,包括:静态分析模块,用于对被测程序进行静态分析,提取所述被测程序的静态结构信息;
DE‑TH算法模块,用于基于拓扑超立方体学习策略的差分演化DE‑TH算法和所述静态结构信息,生成测试新种群;DE‑TH算法模块具体用于:基于所述静态结构信息初始化种群;
基于差分策略,实现种群的个体突变;
将父代个体与突变个体进行二项交叉;其中,父代个体和突变个体进行二项式交叉操作,生成试验个体ui,进而保持种群的多样性;当一个[0,1]之间的随机数小于等于交叉概率,或者当前维度索引等于一个随机产生的维度索引时,用vi,j来更新ui,j;否则,用xi,j更新ui,j;更新过程如下:式中,ui,j表示第i个试验个体的第j维;vi,j表示第i个突变个体的第j维;xi,j表示第i个父代个体的第j维;CR表示交叉概率;jrand表示在第j维中随机产生的维度索引;
基于拓扑超立方体学习策略,充分利用当前最优个体信息进行迭代;其中,当满足一个跳转条件时,拓扑超立方体学习策略才被执行;对于一个D维的试验个体ui,拓扑超立方体学习THBL策略根据试验个体的每个维度中的当前数ui,j生成对立数 然后ui,j和 根据一个相同的搜索步长控制参数k产生 和 记Upj和Lowj是个体在第j维的上下限,和 的计算方法如下:和 是一对对立数;
接着,拓扑超立方体学习THBL策略将ui的某些维度用它们的 和 中的其中D D
一个来替换,就生成了一个新的点,而最后可以生成(4 ‑1)个新的点;把这(4 ‑1)个点和当D前点都称为拓扑超立方体点,记为 l=1,2,...,4 .拓扑超立方体点集合记为
然后,用到当前最优解xbest的曼哈顿距离最短的拓扑超立方体点 来更新当前点ui;
过程如下:
这里
式中,xbest,j是当前最优解的第j维; 是第l个拓扑超立方体点的第j维;
生成测试新种群;
测试用例生成模块,用于在当前迭代完成后,将所述新种群解码为满足被测程序的测试用例集。
7.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5任一所述的方法。