1.消息传递并行程序多路径覆盖测试数据协同进化生成方法,其特征在于,该方法包括如下步骤:步骤1:针对被测消息传递并行程序每一个调度序列下的每一条目标路径分别构建对应种群,对种群进行正整数连续编号,以下使用参数j与k表示种群编号,种群中的个体均为编码后的程序输入,对各种群中的个体进行分别独立的正整数连续编号,以下使用参数i表示个体编号;
步骤2:采用遗传算法独立进化各种群,选择路径相似度作为适应值函数,计算得到的种群j中个体i的适应值记为Fj,i,Fj,i∈[0,1];定义F′j,i为种群j中个体i的个体相对适应值,F′j,i∈[0,1],计算公式如下:式中,Fj,min与Fj,max分别为种群j现存所有个体适应值的最小值和最大值,Fj,min,Fj,max∈[0,1];
定义Fj为种群j的种群适应值,Fj∈[0,1],计算公式如下:
式中,种群规模mj为种群j中包含个体的数量;
每使用遗传算法进化λ代,计算并记录所有个体的个体相对适应值F′j,i,计算并记录所有种群的种群适应值Fj;其中,λ为正整数参数;
步骤3:在步骤2计算并记录了所有个体的个体相对适应值F′j,i与所有种群的种群适应值Fj之后,依次对所有个体判断是否进行如下个体迁移:个体迁移是指一个种群中的一个(或多个)个体转移到另一个种群中进行后续进化,个体原先所属的种群称为源种群,个体将要转移到的种群称为目标种群;个体迁移分为两种:对调度序列迁移和对目标路径迁移,分别指个体迁移至表示不同调度序列相同目标路径的种群以及个体迁移至表示相同调度序列不同目标路径的种群,定义种群j与种群k的种群性能差异度Δj,k,Δj,k∈[0,1],计算公式为:式中Fk为种群k的种群适应值,规定当Δj,k>β时,种群j与种群k存在显著差异,其中β为大于0的参数;记个体相对性能参数α1,α2,迁移概率参数θ,α1,α2,θ∈[0,1],对于种群j的个体i,个体迁移策略如下:如果F′j,i<α1,那么,随机选择一个与种群j表示相同调度系列不同目标路径的种群为目标种群,个体以概率θ进行个体迁移;
如果个体未迁移,且F′j,i<α2,那么,随机选择一个与种群j表示不同调度系列相同目标路径的种群为目标种群并比较二者种群适应值,如果目标种群的种群适应值高于源种群且存在显著差异,则进行个体迁移,否则不进行个体迁移;
如果个体仍未迁移,则本次该个体不进行迁移;
步骤4:当在进化的某一代已经成功生成覆盖某个目标路径的测试数据后,停止进化对应该目标路径的种群;当覆盖所有目标路径的测试数据均已生成或是达到设定的最大进化代数时,算法终止,输出结果。