基于概率统计的软件测试基本路径进化生成方法.pdf
《基于概率统计的软件测试基本路径进化生成方法.pdf》由会员分享,可在线阅读,更多相关《基于概率统计的软件测试基本路径进化生成方法.pdf(15页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010127165.0 (22)申请日 2020.02.28 (71)申请人 牡丹江师范学院 地址 157012 黑龙江省牡丹江市爱民区文 化街191号 申请人 南京大学 (72)发明人 夏春艳李玉莹张岩许金 乔力郭冰 (51)Int.Cl. G06F 11/36(2006.01) G06N 3/12(2006.01) G06N 7/00(2006.01) (54)发明名称 一种基于概率统计的软件测试基本路径进 化生成方法 (57)摘要 本发明涉及一种基于概率统计的软件测试。
2、 基本路径进化生成方法。 该方法给定被测程序, 首先, 利用条件概率关系和最大似然估计法, 度 量被测程序条件语句间的相关性类型, 进而判定 被测程序的互斥边关系, 以此作为可行路径的识 别依据; 其次, 采用遗传算法生成可行的基本路 径, 遗传算法的个体采用十进制编码方式代表进 化路径, 个体评价完成后, 判断进化个体是否含 有互斥边, 含有互斥边的个体代表的是不可行路 径, 不参与进化过程; 再次, 对不含有互斥边的个 体进行选择、 交叉、 变异和繁殖操作, 重复上述过 程, 直到达到最大迭代次数或者生成所有的可行 路径为止; 然后, 检验生成的可行路径是否为基 本路径, 将线性无关的独立。
3、路径存入基本路径 集; 最后, 输出可行的基本路径集合。 本发明目的 在于为被测程序自动生成可行的基本路径, 再根 据可行的基本路径生成或者选择测试数据, 解决 了目前被测软件路径数目众多的情况下, 全路径 覆盖测试难以达到, 测试质量难以得到保障的问 题, 最终帮助测试人员提高软件测试效率, 同时 保障软件测试的质量。 权利要求书3页 说明书8页 附图3页 CN 111338957 A 2020.06.26 CN 111338957 A 1.基于概率统计的软件测试基本路径进化生成方法, 其特征在于, 针对被测程序PG, 利 用条件概率关系和最大似然估计法度量插装新生成的被测程序PG_2中条件。
4、语句间的相关 性类型, 进而判定PG_2中的互斥边关系, 生成互斥边关系集合set_execlusion_edge_PG_2, 以此作为可行路径的识别依据; 在此基础上, 采用遗传算法自动生成可行路径集合set_ executable_basis_path, 首先, 初始化种群数据; 其次, 计算个体的适应度函数值, 提取适 应度函数值为1的个体, 存入可行路径集合set_executable_path; 然后, 判断进化个体是否 含有互斥边, 对不含有互斥边的进化个体进行选择、 交叉、 变异和繁殖操作, 重复上述过程, 直到达到最大迭代次数或者生成所有的可行基本路径为止; 最后, 检验进化生。
5、成的可行路 径是否为基本路径, 满足线性无关的独立路径为可行的基本路径, 最终输出可行的基本路 径集合set_executable_basis_path; 该方法包括如下步骤: 1) 概率统计方法判定互斥边, 首先, 输入被测程序PG, 将循环语句转化为条件语句, 生 成新的被测程序PG_1; 其次, 读取PG_1, 构造PG_1的控制流图, 并对线性串行的部分进行精 简压缩, 提取PG_1的执行分支, 构建PG_1的DD-图; 再次, 确定DD-图中要考察的条件语句, 定 义对应的随机变量X和Y, 插装生成新的被测程序PG_2; 然后, 随机生成测试数据运行PG_2, 获得X和Y的样本数据集。
6、合, 根据条件概率关系, 构造X和Y的统计量q1和q2, 利用最大似然方 法估计统计量的函数值; 最后, 依据统计量的估计值度量条件语句的相关性类型, 进而判定 PG_2中的互斥边关系, 输出PG_2的互斥边关系集合set_execlusion_edge_PG_2; 2) 遗传算法生成可行基本路径, 第一, 初始化种群, 种群初始数据是由PG_2的DD-图中 的入口边和出口边构成, 在进化过程中染色体的长度是可变的, 依赖于其代表的生成路径 的长度, 种群中染色体用整型变量表示, 采用十进制的编码方式代表进化生成的路径; 第 二, 个体评价, 适应度函数设计的依据是进化个体中所有的边均为相邻边。
7、时, 其代表的生成 路径为可行的基本路径, 计算方法是根据个体的长度(即个体包含的边的数量)计算每条边 的权重, 所有相邻边的权重之和为适应度函数值, 当生成路径包含的所有的边均为相邻边 时, 适应度函数达到最大值为1, 对应的个体表示一条从入口边到出口边的完整路径; 第三, 选择、 交叉、 变异和繁殖, 选择操作采用轮盘赌的方法选择当前种群适应度较高的个体遗传 到下一代种群; 重复遗传算法的上述过程, 直到进化个体的适应度函数值为1或者达到最大 迭代次数为止; 第四, 检验操作, 检验生成的可行路径是否为基本路径, 若是基本路径, 将其 存入可行的基本路径集合set_executable_b。
8、asis_path; 第五, 算法终止条件, 当所有的可 行基本路径生成完成或者达到最大迭代次数时, 输出可行基本路径集合, 算法终止。 2.根据权利要求1中所述的基于概率统计的软件测试基本路径进化生成方法, 其特征 在于, 在步骤1) 中, 概率统计方法判定互斥边; 输入被测程序PG, 分析PG中所有语句, 将其分 为顺序语句、 条件语句和循环语句; 然后, 将循环语句转化为条件语句, 只考虑循环体被执 行一次的情况, 循环体执行多次时, 将其展开成多个条件并列, 进而生成新的被测程序PG_ 1; 读取PG_1, 构造PG_1的控制流图; 对控制流图中线性串行的部分进行精简压缩, 提取PG_。
9、1 的执行分支, 构建PG_1的DD-图; 确定DD-图中要考察的条件语句和, 定义对应的随机变 量X和Y,X和Y是2个服从(0,1)分布的随机变量, 插装生成新的被测程序PG_2; 随机生成测试 数据运行PG_2, 获得X和Y的样本数据集合; 根据条件概率关系, 构造X和Y的统计量q1和q2, 利用最大似然方法估计统计量的函数值和; 权利要求书 1/3 页 2 CN 111338957 A 2 依据和度量和的相关性类型; 由条件概率关系以及条件语句间的相关性类型 可知, 当=1时,具有T-T相关性; 当=0时,具有T-F相关性; 当=1时, 具有F-T相关性; 当=0时,具有F-F相关性; 。
10、根据条件语句间的相关性类型, 定义被测程序中的互斥边关系; 将条件语句 的真分支 所对应的边记为, 假分支所对应的边记为; 则互斥边的定义如下: 若具有T-T 相关性, 则和具有互斥边关系, 记为; 若具有T-F相关性, 则和具 有互斥边关系, 记为; 若具有F-T相关性, 则和具有互斥边关系, 记为 ; 若具有F-F相关性, 则和具有互斥边关系, 记为; 根据条件语句间的相关性类型和互斥边的关系, 判定被测程序中的互斥边关系, 输出 被测程序的互斥边关系集合set_execlusion_edge_ PG_2。 3.根据权利要求1所述的基于概率统计的软件测试基本路径进化生成方法, 其特征在 于。
11、, 在步骤2) 中, 遗传算法生成可行基本路径; 第一, 初始化种群, 种群初始数据是由PG_2的DD-图中的入口边和出口边构成, 在进化 过程中染色体的长度是可变的, 依赖于其代表的生成路径的长度, 种群个体用整型变量表 示, 采用十进制的编码方式代表进化生成的路径; 第二, 个体评价, 适应度函数用来评价个体的优劣程度, 进化生成的个体代表被测程序 的一条路径, 对应DD-图中的边, 当所有的边均相邻时, 表示生成的路径为一条可穿越被测 程序的完整路径; 本发明设计适应度函数的依据是进化个体中所有的边均为相邻边时, 其 代表的生成路径为可行的基本路径; 计算方法是根据个体的长度计算每条边的。
12、权重, 所有 相邻的边的权重之和为适应度函数值; 当生成路径包含的所有的边均为相邻边时, 适应度 函数达到最大值为1, 对应的个体表示一条从入口边到出口边的完整路径, 计算公式为: 其中,表示个体( =)的适应度函数值,表示相邻边的数 量,表示 的边 的权重,表示 的长度(即中包含的边的数量); 若适应度函数值不为1, 并且没有达到最大迭代次数, 则判断进化个体是否含有互斥 边, 含有互斥边的个体代表的是不可行路径, 在进化过程中将其删除, 重复上述过程, 直到 种群数据完成互斥边的遍历; 若适应度函数值为1, 则个体代表的进化路径为生成的可行路 径, 将其存入可行的路径集合set_execu。
13、table_path; 第三, 选择、 交叉、 变异和繁殖, 若种群数据完成互斥边的遍历, 进行遗传算法的选择、 交叉、 变异和繁殖操作; 选择操作, 采用轮盘赌的方法选择当前种群适应度较高的个体遗传 到下一代种群; 交叉操作, 采用单点交叉的方法交换两个配对个体的部分基因座; 变异操 作, 采用基因位变异的方法对个体某一基因座上的基因以一较小的概率进行改变; 繁殖操 作, 主要是为了实现扩展个体使其代表完整的路径, 采用在个体的某一基因座位置后插入新 的基因, 实现个体的扩展, 操作过程如下: 随机生成当前种群中个体的繁殖点位置; 确定与繁殖点相邻的基因, 并随机选择一条边作为繁殖基因; 将。
14、繁殖基因插入繁殖点 位置后, 作为基因座对应的基因, 增加个体的长度; 重复遗传算法的上述进化过 权利要求书 2/3 页 3 CN 111338957 A 3 程, 直到个体的适应度函数为1或者达到最大迭代次数为止; 第四, 检验操作, 若个体的适应度函数值为1, 即生成可行的路径后,需要检验生成的可 行路径是否为基本路径; 首先, 判断生成的路径是否为独立路径, 独立路径至少要有一条边 在已知独立路径中没有出现过; 其次, 判断生成的独立路径是否可以由基本路径集中已生 成的路径线性表示, 不能由已生成的基本路径线性表示的路径为新生成的基本路径; 若生 成的可行路径是基本路径, 将其存入可行的。
15、基本路径集合; 第五, 算法终止条件, 当达到最大迭代次数或者所有的可行基本路径生成完成时, 输出 可行基本路径集合, 算法终止。 权利要求书 3/3 页 4 CN 111338957 A 4 一种基于概率统计的软件测试基本路径进化生成方法 技术领域 0001 本发明涉及软件测试、 程序分析和概率统计领域, 尤其适用于软件测试中基本路 径生成领域, 其目的在于为被测程序自动生成可行的基本路径, 是一种帮助软件测试人员 提高软件测试效率, 保障软件质量的方法。 背景技术 0002 软件测试是软件生命周期中重要的组成部分, 是保障软件质量、 提高软件可靠性 的重要手段。 路径测试是软件测试的主要方。
16、法, 许多软件测试问题都可以归结为面向路径 的测试数据生成问题, 但是复杂被测软件路径数目众多, 全路径覆盖测试难以实现。 基本路 径测试是指在测试过程中, 尽可能地覆盖程序中所有的可行基本路径, 它是一种覆盖率高 且检错能力较强的结构测试方法。 该方法设计出的测试用例能够保证被测程序的每个可执 行语句至少执行一次, 能够检测到被测程序中65%的错误。 目前, 已经存在一些基本路径生 成方法, 但大多方法都没有考虑生成的基本路径是否为可行路径。 基本路径可行性的度量 主要取决于测试人员的经验, 这导致基本路径对应的测试数据的质量很难保证, 并且测试 人员判断基本路径的可行性也需要花费大量的时间。
17、。 因此, 如果能够采用一定方法为被测 程序自动生成可行的基本路径, 再根据可行的基本路径生成或者选择测试数据, 可以有效 的降低测试人员的工作压力, 提高软件研发的生产效率, 并且能够保障软件测试的质量, 提 高软件产品的可靠性。 0003 在实际基本路径测试中, 首先需要确定被测程序的基本路径, 然后再生成经过每 一条基本路径的测试数据。 此时, 自动生成的基本路径是否可行, 直接影响到测试数据的质 量和测试结果。 目前, 有学者针对基本路径的生成方法进行研究, 如张广梅等研究了应用控 制流图的深度优先搜索方法生成基本路径, 但是该方法没有考虑生成的基本路径中是否含 有不可行路径。 金斌等。
18、在2007年11月21日公开的发明专利中, 提出了应用于白盒路径测试 的测试用例生成方法, 该发明主要是保证不同测试人员寻找的基本独立路径集大体一致。 因此, 这些方法并没有很好地解决生成可行基本路径质量的问题。 0004 对此, 本发明提出了一种基于概率统计的软件测试可行基本路径进化生成方法, 自动生成被测程序的可行基本路径, 进而生成覆盖可行基本路径的测试数据, 在降低工作 量的同时保障软件测试数据的质量。 首先, 利用条件概率关系和最大似然估计法, 度量被测 程序条件语句间的相关性类型; 其次, 根据条件语句间的相关性类型, 判定被测程序中的互 斥边关系, 以此作为可行路径的识别依据; 。
19、再次, 在遗传算法的个体评价完成后, 判断染色 体是否含有互斥边, 原因是含有互斥边的染色体代表的是不可行路径, 不参与进化过程; 然 后, 对不含有互斥边的进化个体进行选择、 交叉、 变异和繁殖操作, 重复上述过程, 直到达到 最大迭代次数或者生成所有的可行路径为止; 最后, 检验生成的可行路径是否为基本路径, 满足线性无关的独立路径为可行的基本路径。 通过该方法, 生成的路径均为可行的基本路 径, 可以在任何基本路径测试中进行应用, 能够大大减少软件测试的工作量, 更有利于查找 被测程序中的缺陷, 保障软件测试的质量, 从而提高软件测试的效率和软件产品的可靠性。 说明书 1/8 页 5 C。
20、N 111338957 A 5 发明内容 0005 本发明通过提供一种基于概率统计的软件测试基本路径进化生成方法, 来有效解 决目前存在的复杂被测软件路径数目众多的情况下, 全路径覆盖测试难以达到所导致的测 试质量难以得到保障的问题, 最终提高了软件测试效率, 同时保障了软件测试质量。 0006 为达到上述目标, 本发明提出一种基于概率统计的软件测试基本路径进化生成方 法。 该方法针对被测程序, 首先利用条件概率关系和最大似然估计法, 度量被测程序条件语 句间的相关性类型, 进而判定被测程序中的互斥边关系; 在此基础上, 采用遗传算法自动生 成可行路径, 其中在遗传算法的个体评价完成后, 判断。
21、染色体是否含有互斥边, 含有互斥边 的染色体代表的是不可行路径, 不参与进化过程; 然后, 对不含有互斥边的进化个体进行选 择、 交叉、 变异和繁殖操作, 重复上述过程, 直到达到最大迭代次数或者生成所有的可行路 径为止; 最后, 检验生成的可行路径是否为基本路径, 满足线性无关的独立路径为可行的基 本路径。 具体而言, 该方法包括下列步骤。 0007 步骤1 概率统计方法判定互斥边 (1) 输入被测程序PG, 将循环语句转化为条件语句, 生成新的被测程序PG_1。 读取PG_1, 构造PG_1的控制流图, 并对线性串行的部分进行精简压缩, 提取PG_1的执行分支, 构建PG_1 的DD-图。。
22、 确定DD-图中要考察的条件语句, 定义对应的随机变量X和Y, 插装生成新的被测程 序PG_2。 0008 (2) 随机生成测试数据运行PG_2, 获得X和Y的样本数据集合。 根据条件概率关系, 构造X和Y的统计量q1和q2, 利用最大似然方法估计统计量的函数值。 0009 如果条件语句存在相关性, 则X和Y的样本值必然存在制约关系, 并且满足如下X和 Y之间的条件概率关系: 如果事件 Y = 1 | X = 1 发生的概率为q1, 那么事件 Y = 0 | X = 1 发生的概率为1-q1; 如果事件 Y = 1 | X = 0 发生的概率为, 那么事件 Y = 0 | X = 0 发生的概。
23、率为1- q2。 统计量估计值的计算公式如下: 其中, 和为统计量的估计值,N为样本容量, ( = 1 , 2 , , N )和( = 1 , 2 , , N )为X和Y的样本值。 0010(3) 依据统计量的估计值度量条件语句的相关性类型, 设和是被测程序的2个 条件语句,则语句组的相关性定义为: 若取真分支时, 必然取真分支, 则称具有真-真相关性, 记为T-T相关性; 若取真分支时, 必然取假分支, 则称具有真-假相关性, 记为T-F相关性; 若取假分支时, 必然取真分支, 则称具有假-真相关性, 记为F-T相关性; 若取假分支时, 必然取假分支, 则称具有假-假相关性, 记为F-F相关。
24、性。 0011由条件概率关系以及条件语句间的相关性类型的定义可知, 当 = 1时, 具有T-T相关性; 当 = 0时,具有T-F相关性; 当 =1时,具有F-T相关性; 当 = 0时,具有F-F相关性。 0012(4) 根据条件语句的相关性类型, 定义被测程序中的互斥边关系, 将条件语句的 说明书 2/8 页 6 CN 111338957 A 6 真分支所对应的边记为, 假分支所对应的边记为, 则互斥边关系的定义如下: 若具有T-T相关性, 则和具有互斥边关系, 记为; 若具有T-F相关性, 则和具有互斥边关系, 记为; 若具有F-T相关性, 则和具有互斥边关系, 记为; 若具有F-F相关性,。
25、 则和具有互斥边关系, 记为。 0013 (5) 根据条件语句间的相关性类型和互斥边关系的定义, 判定被测程序中的互斥 边关系, 输出被测程序的互斥边关系集合。 0014 步骤2 遗传算法生成可行基本路径 (1) 初始化种群, 种群初始数据是由PG_2的DD-图中的入口边和出口边构成, 在进化过 程中染色体的长度是可变的, 依赖于其代表的生成路径的长度。 种群中染色体用整型变量 表示, 采用十进制的编码方式代表进化生成的路径。 0015 (2) 个体评价, 遗传算法中设计适应度函数的主要目的是用来评价个体的优劣程 度。 本发明中, 适应度函数设计的依据是进化个体中所有的边均为相邻边时, 其代表。
26、的生成 路径为可行的基本路径。 计算方法是根据个体的长度(即个体包含的边的数量)计算每条边 的权重, 所有相邻边的权重之和为适应度函数值。 当生成路径包含的所有的边均为相邻边 时, 适应度函数达到最大值为1, 对应的个体表示一条从入口边到出口边的完整路径, 计算 公式为: 其中,表示个体( =)的适应度函数值;表示相邻边的数 量;表示 的边 的权重;表示 的长度(即中包含的边的数量)。 0016 若适应度函数值不为1, 并且没有达到最大迭代次数, 则判断进化个体是否含有互 斥边, 含有互斥边的个体代表的是不可行路径, 在进化过程中将其删除, 重复上述过程, 直 到种群数据完成互斥边的遍历; 若。
27、适应度函数值为1, 则个体代表的进化路径为生成的可行 路径, 将其存入可行的路径集合。 0017 (3) 选择、 交叉、 变异和繁殖, 选择操作采用轮盘赌的方法选择当前种群适应度较 高的个体遗传到下一代种群; 交叉操作采用单点交叉的方法交换两个配对个体的部分基因 座; 变异操作采用基本位变异的方法对个体某一基因座上的基因以一较小的概率进行改 变; 繁殖运算主要是为了实现扩展个体使其代表完整的路径, 采用在个体的繁殖基因座位 置后插入新的基因, 实现个体的扩展。 重复遗传算法的上述过程, 直到进化个体的适应度函 数值为1或者达到最大迭代次数为止。 0018 (4) 检验操作, 检验生成的可行路径。
28、是否为基本路径。 若是基本路径, 将其存入可 行的基本路径集合。 0019 (5) 算法终止条件, 当所有的可行基本路径生成完成或者达到最大迭代次数时, 输 出可行基本路径集合, 算法终止。 说明书 3/8 页 7 CN 111338957 A 7 附图说明 0020 图1为本发明的一种基于概率统计的软件测试基本路径进化生成方法的流程图。 0021 图2为图1中概率统计方法判定互斥边的流程图。 0022 图3为图1中遗传算法生成可行基本路径的流程图。 具体实施方式 0023 为了更了解本发明的技术内容, 特举具体实施并配合所附图示说明如下。 0024 图1为本发明实施的一种基于概率统计的软件测。
29、试基本路径进化生成方法的流程 图, 其特征在于, 包括下列步骤。 0025 步骤1概率统计方法判定互斥边, 输入被测程序, 首先将被测程序中的循环语句转 化为条件语句; 然后, 利用条件概率关系和最大似然估计法, 度量被测程序条件语句间的相 关性类型, 进而判定被测程序中的互斥边关系。 0026 步骤2遗传算法生成可行基本路径, 首先, 初始化种群, 计算个体的适应度函数值; 其次, 在遗传算法的个体评价完成后, 判断染色体是否含有互斥边, 含有互斥边的染色体代 表的是不可行路径, 不参与进化过程; 然后, 进行遗传算法的选择、 交叉、 变异和繁殖操作, 进化生成可行路径; 最后, 检验生成的。
30、可行路径是否为基本路径, 输出可行的基本路径集 合。 0027 图2为概率统计方法判定互斥边的流程图, 结合图2说明步骤1的具体实施方法如 下: (1) 输入被测程序PG, 分析PG中所有语句, 将其分为顺序语句、 条件语句和循环语句; 然 后, 将循环语句转化为条件语句, 只考虑循环体被执行一次的情况, 循环体执行多次时, 将 其展开成多个条件并列, 进而生成新的被测程序PG_1。 0028 读取PG_1, 构造PG_1的控制流图。 对控制流图中线性串行的部分进行精简压缩, 提 取PG_1的执行分支, 构建PG_1的DD-图。 确定DD-图中要考察的条件语句和, 定义对应的 随机变量X和Y,。
31、X和Y是2个服从(0,1)分布的随机变量, 插装生成新的被测程序PG_2。 0029 (2) 随机生成测试数据运行PG_2, 获得X和Y的样本数据集合。 根据条件概率关系, 构造X和Y的统计量q1和q2, 利用最大似然方法估计统计量的函数值和。 0030 如果条件语句存在相关性, 则X和Y的样本值必然存在制约关系, 并且满足如下X和 Y之间的条件概率关系: 如果事件Y = 1 | X = 1发生的概率为q1, 那么事件Y = 0 | X = 1发生的概率为1-q1; 如果事件Y = 1 | X = 0发生的概率为, 那么事件Y = 0 | X = 0发生的概率为1- q2。 计算公式如下: 其。
32、中, 和为统计量的估计值,N为样本容量, ( =)和( =)为X和 Y的样本值。 0031(3) 依据和度量和 的相关性类型。 设和是被测程序的2个条件语句, 则 语句组的相关性类型定义为: 若取真分支时, 必然取真分支, 则称具有 说明书 4/8 页 8 CN 111338957 A 8 真-真相关性, 记为T-T相关性; 若取真分支时, 必然取假分支, 则称具有真-假 相关性, 记为T-F相关性; 若取假分支时, 必然取真分支, 则称具有假-真相关 性, 记为F-T相关性; 若取假分支时, 必然取假分支, 则称具有假-假相关性, 记 为F-F相关性。 0032由条件概率关系以及条件语句间的。
33、相关性类型的定义可知, 当=1时,具 有T-T相关性; 当=0时,具有T-F相关性; 当=1时,具有F-T相关性; 当=0 时,具有F-F相关性。 0033(4) 根据条件语句间的相关性类型, 定义被测程序中的互斥边关系。 将条件语句 的真分支所对应的边记为, 假分支所对应的边记为。 根据条件语句的相关性可知, 若 具有T-T相关性, 即如果执行的真分支就必然执行的真分支, 而不能执行的假 分支, 也就是说, 在DD-图的可行路径中, 如果含有真分支对应的边就不能含有假分支对 应的边, 则和为一组相互排斥的边, 同时出现和的路径为不可行路径。 由此给出如 下四组互斥边的定义: 若具有T-T相关。
34、性, 则和具有互斥边关系, 记为 ; 若具有T-F相关性, 则和具有互斥边关系, 记为; 若 具有F-T相关性, 则和具有互斥边关系, 记为; 若具有F-F相关 性, 则和具有互斥边关系, 记为。 0034 (5) 根据条件语句间的相关性类型和互斥边关系的定义, 判定被测程序中的互斥 边关系, 输出被测程序的互斥边关系集合set_execlusion_edge_ PG_2。 0035 进一步, 其中上述步骤1的具体步骤如下: 步骤1-1: 起始状态; 步骤1-2: 输入被测程序PG=set_sequence_stmt, set_condition_stmt, set_loop_ stmt, 其。
35、中set_sequence_stmt、set_condition_stmt、set_loop_stmt分别表示PG中的顺 序语句集合、 条件语句集合、 循环语句集合; 步骤1-3: 从set_loop_stmt中取出一条循环语句loop_stmt; 步骤1-4: 将循环语句loop_stmt转化为条件语句condition_stmt; 步骤1-5:set_condition_stmt= set_condition_stmtcondition_stmt; 步骤1-6: 判断所有loop_stmt是否已经完成转化, 若是则执行下一步; 若不是则执行步 骤1-3; 步骤1-7: 转化后的被测程序为P。
36、G_1= set_sequence_stmt, set_condition_stmt; 步骤1-8: 构造PG_1的控制流图control_flow_graph。 0036 步骤1-9: 对control_flow_graph中线性串行部分进行精简压缩, 提取 PG_1的执 行分支, 构建PG_1的DD-图decision_to_decision_graph。 0037 步骤1-10: 确定要考察的条件语句condition_stmt1和condition_stmt2, 定义对 应的随机变量X和Y; 步骤1-11: 插装生成新的被测程序PG_2= set_sequence_stmt, set_。
37、condition_ stmt; 说明书 5/8 页 9 CN 111338957 A 9 步骤1-12: 随机生成测试数据集set_random_data运行PG_2, 获得随机变量的样本数据 集合set_sample_data; 步骤1-13: 根据条件概率关系, 构造X和Y的统计量statistic_q1和statistic_q2; 步骤1-14: 利用最大似然方法估计统计量的函数值statistic_estimate_value_q1和 statistic_estimate_value_q2; 步骤1-15: 依据统计量的估计值度量condition_stmt1和condition_s。
38、tmt2相关性类型 condition_stmt_correlation_type; 步骤1-16: 根据condition_stmt_correlation_type, 判定被测程序中的互斥边关系 execlusion_edge; 步骤1-17:set_execlusion_edge=set_execlusion_edgeexeclusion_edge; 步骤1-18: 判断是否已经生成所有的execlusion_edge, 若是则执行下一步; 若不是则 执行步骤1-10; 步骤1-19: 输出互斥边关系集合set_execlusion_edge_ PG_2; 步骤1-20: 结束状态。 0。
39、038 图3为遗传算法生成可行基本路径的流程图, 结合图3说明步骤2的具体实施方法 如下: (1) 初始化种群, 种群初始数据是由PG_2的DD-图中的入口边和出口边构成, 在进化过 程中染色体的长度是可变的, 依赖于其代表的生成路径的长度。 种群个体用整型变量表示, 采用十进制的编码方式代表进化生成的路径。 0039 (2) 个体评价, 适应度函数用来评价个体的优劣程度, 进化生成的个体代表被测程 序的一条路径, 对应DD-图中的边, 当所有的边均相邻时, 表示生成的路径为一条可穿越被 测程序的完整路径。 本发明设计适应度函数的依据是进化个体中所有的边均为相邻边时, 其代表的生成路径为可行的。
40、基本路径。 计算方法是根据个体的长度计算每条边的权重, 所 有相邻的边的权重之和为适应度函数值。 当生成路径包含的所有的边均为相邻边时, 适应 度函数达到最大值为1, 对应的个体表示一条从入口边到出口边的完整路径, 适应度函数的 计算公式如下: 其中,表示个体( =)的适应度函数值;表示相邻边的数 量;表示 的边 的权重;表示 的长度(即中包含的边的数量)。 0040 若适应度函数值不为1, 并且没有达到最大迭代次数, 则判断进化个体是否含有互 斥边, 含有互斥边的个体代表的是不可行路径, 在进化过程中将其删除, 重复上述过程, 直 到种群数据完成互斥边的遍历; 若适应度函数值为1, 则个体代。
41、表的进化路径为生成的可行 路径, 将其存入可行的路径集合。 0041 (3) 选择、 交叉、 变异和繁殖, 若种群数据完成互斥边的遍历, 进行遗传算法的选 择、 交叉、 变异和繁殖操作。 选择操作, 采用轮盘赌的方法选择当前种群适应度较高的个体 遗传到下一代种群。 交叉操作, 采用单点交叉的方法交换两个配对个体的部分基因座。 变异 操作, 采用基因位变异的方法对个体某一基因座上的基因以一较小的概率进行改变。 繁殖 说明书 6/8 页 10 CN 111338957 A 10 操作, 主要是为了实现扩展个体使其代表完整的路径, 采用在个体的某一基因座位置后插 入新的基因, 实现个体的扩展, 操作。
42、过程如下: 随机生成当前种群中个体的繁殖点位置 ; 确定与繁殖点相邻的基因, 并随机选择一条边作为繁殖基因; 将繁殖基因插入繁 殖点位置后, 作为基因座对应的基因, 增加个体的长度。 重复遗传算法的上述进化 过程, 直到个体的适应度函数为1或者达到最大迭代次数为止。 0042 (4)检验操作, 若个体的适应度函数值为1, 即生成可行的路径后,需要检验生成的 可行路径是否为基本路径。 首先, 判断生成的路径是否为独立路径, 独立路径至少要有一条 边在已知独立路径中没有出现过。 其次, 判断生成的独立路径是否可以由基本路径集中已 生成的路径线性表示, 不能由已生成的基本路径线性表示的路径为新生成的。
43、基本路径。 若 生成的可行路径是基本路径, 将其存入可行的基本路径集合。 0043 (5)算法终止条件, 当达到最大迭代次数或者所有的可行基本路径生成完成时, 输 出可行基本路径集合, 算法终止。 0044 进一步, 其中上述步骤2的具体步骤如下: 步骤2-1: 起始状态; 步骤2-2: 输入互斥边集合set_execlusion_edge_ PG_2; 步骤2-3 : 由 DD-图中的入口边和出口边构成初始种群数据population_ initialization_data_i = population_initialization_edge_start, population_initi。
44、alization_edge_ end; 步骤2-4:m个初始数据组成初始种群数据集合set_population_initialization_data = population_initialization_data_1, ., population_initialization_data_m; 步骤2-5: 种群数据集合set_population_data= set_population_dataset_ population_initialization_data; 步骤2-6: 种群个体population_data_i用整型变量表示, 采用十进制的编码方式代表 进化生成的路径ev。
45、olution_path_i; 步骤2-7: 根据population_data_i的长度(即population_data_i包含的边的数量)计 算其包含的每条边的权重weight_population_i_edge_j(i=1,2,.,m); 步骤2-8:population_data_i含有的所有相邻边的weight_population_i_edge_j之和 为其适应度函数值func_fit(population_data_i)=sum(weight_population_i_edge_j) (i=1,2,.,m); 步骤2-9: 判断func_fit(population_data_。
46、i)是否为1, 若是转至步骤2-20; 否则执行 下一步; 步骤2-10: 判断迭代次数是否达到最大值, 若是转至步骤2-26; 否则执行下一步; 步骤2-11: 判断population_data_i是否含有execlusion_edge, 若是执行下一步; 否则 转至步骤2-13; 步骤2-12:set_population_data=set_population_data-population_data_i; 步骤2-13:set_population_data=set_population_data; 步骤2-14:set_population_data是否遍历完, 若不是执行下一步;。
47、 否则转至步骤2-16; 步骤2-15:population_data_i=population_data_i+1, 转至步骤2-11; 说明书 7/8 页 11 CN 111338957 A 11 步骤2-16: 采用轮盘赌方法进行选择操作selection_set_population_data; 步骤2-17: 采用单点交叉方法进行交叉操作cross_set_population_data; 步骤2-18: 采用基因位变异方法进行变异操作reproduction_set_population_data; 步骤2-19: 采用在个体的某一基因座位置后插入新的基因的方法繁殖基因 reprod。
48、uction_set_population_data, 转至步骤2-7; 步骤2-20: 生成可行路径executable_path_k=evolution_path_i; 步骤2-21:set_executable_path=set_executable_pathevolution_path_k; 步骤2-22: 判断executable_path_k是否为基本路径, 若是转至步骤2-24; 否则执行下 一步; 步骤2-23:set_executable_path=set_executable_path-evolution_path_k; 步骤2-24:set_executable_basi。
49、s_path=set_executable_basis_path executable_path_k 步骤2-25: 判断set_executable_basis_path是否生成完成, 若是执行下一步; 否则转 至步骤2-5; 步骤2-26: 输出可行基本路径集合set_executable_basis_path; 步骤2-27: 结束状态。 说明书 8/8 页 12 CN 111338957 A 12 图1 说明书附图 1/3 页 13 CN 111338957 A 13 图2 说明书附图 2/3 页 14 CN 111338957 A 14 图3 说明书附图 3/3 页 15 CN 111338957 A 15 。
- 内容关键字: 基于 概率 统计 软件 测试 基本 路径 进化 生成 方法
农机动力飞轮喷涂用漆雾废气处理装置.pdf
旁路引流线绝缘防护夹持支架结构.pdf
建筑施工围挡.pdf
推进剂气体浓度监测传感器.pdf
防刺伤采血针.pdf
铸造件快速冷却装置.pdf
工业硅粉制备用研磨装置.pdf
电池盖帽包边用防偏移模具.pdf
拉杆式储能电源箱.pdf
多穴五轴自动光学检测装置.pdf
活塞钻铣床.pdf
混凝土结构表面裂缝检测装置.pdf
羊粪粉碎机的清扫装置.pdf
铁碳微电解填料球.pdf
电感电流过零检测方法及电路.pdf
陶瓷加工的练泥机.pdf
建筑工程用支护装置.pdf
压滤机拉板装置及压滤机.pdf
含油污泥处理水洗装置.pdf
半导体结构及其制备方法.pdf
双环高密度标测消融导管.pdf
洁净手术室用的排风系统.pdf
用于预测转动设备的故障概率的方法、设备和存储介质.pdf
视觉辅助的三极管封装质量检测方法.pdf
可调式肢体活动康复训练装置.pdf
基于分布式光纤声波传感的异常事件识别方法及相关装置.pdf
服装布料用卷绕装置.pdf
鸽子脂肪前体细胞的分离并体外培养方法及培养物和应用.pdf
配置肘式黏滞阻尼器的自复位摇摆结构.pdf
采硐充填方法.pdf
积分球数字仿体系统及成像测评方法.pdf
氯代碳酸乙烯酯的制备方法.pdf
灵芝酸A在制备防治丙型肝炎病毒药物中的应用.pdf
松蒿的制备Α葡萄糖苷酶抑制剂用途.pdf
木聚糖酶颗粒.pdf
农业养殖加热装置.pdf
茶条槭的制备降血脂产品用途.pdf
一种用于治疗泌尿系结石的中药.pdf
一种增强免疫力的仁类组合物.pdf
一种治疗老烂腿的中药组合物.pdf
疟疾红内期灭活全虫疫苗的新用途.pdf
一种排脾脏毒的方法.pdf
祛痘膏.pdf
一种双层蹴球.pdf
新型实用安全背包.pdf
一种脑靶向肽与抗肿瘤药偶联物的制备及应用.pdf
一种布氏菌病治疗制剂.pdf
一株枯草芽孢杆菌DCU及其用途.pdf
山萝花的制备Α葡萄糖苷酶抑制剂用途.pdf
一种具有改善贫血作用的阿胶组合物.pdf
中药组合物在制备抗抑郁药物中的应用.pdf