专利汇可以提供一种基于遗传算法的软件修复方法专利检索,专利查询,专利分析的服务。并且一种基于遗传 算法 的 软件 修复方法,其包括,A.将待修复程序表示为抽象语法树结构,并生成测试 用例 集,所述测试用例集中包含正测试用例和负测试用例,所述正测试用例为在程序中正确执行的测试用例,所述负测试用例为程序执行异常终止或者得出错误结果的测试用例;B.复制原始程序得到M个程序副本,对M个个体进行变异操作,设置程序进化的最大进化代数;C.确定适应度函数,将所述不变量作为计算适应度的不变量约束,对每个个体执行所有测试用例,计算通过的测试用例个数和不变量约束保持数目,通过计算得到每个个体的适应度值;D.遗传操作:对每一代种群中个体进行的遗传操作包括:变异、交叉和选择;E.终止条件判断。,下面是一种基于遗传算法的软件修复方法专利的具体信息内容。
1.一种基于遗传算法的软件修复方法,其特征在于:其包括以下步骤,
A.将待修复程序表示为抽象语法树结构,并生成测试用例集,所述测试用例集中包含正测试用例和负测试用例,所述正测试用例为在程序中正确执行的测试用例,所述负测试用例为程序执行异常终止或者得出错误结果的测试用例,并对原始程序执行正测试用例,通过不变量生成工具生成所述程序中的不变量,所述抽象语法树的每个状态节点对应一个序对表,s指节点的序号,ws指该节点对应的权值,且对抽象语法树中每个节点设置权值,其权值设置依据为:
若只有正测试用例访问到,权值ws=1.0;
若只有负测试用例访问到,权值ws=0.0;
若正、负测试用例都访问到,权值ws=vp/(vp+vn);
其中vp表示该节点被正测试用例访问到的次数,vn表示该节点被负测试用例访问到的次数;
B.复制原始程序得到M个程序副本,对M个个体进行变异操作,原始程序和所述M个程序副本作为遗传算法中的初始种群;设置程序进化的最大进化代数;
C.确定适应度函数,将所述不变量作为计算适应度的不变量约束,对每个个体执行所有测试用例,计算通过的测试用例个数和保持的不变量约束数,通过计算得到每个个体的适应度值;
D.遗传操作:
对每一代种群中个体进行的遗传操作包括:变异、交叉和选择;其包括,对种群中个体进行变异操作和交叉操作,然后根据步骤C的方法计算所述种群中个体的适应度,选择M个个体得到下一代种群;
E.终止条件判断:
根据新一代种群中M个个体的适应度值,若有个体的适应度值为1,即通过所有测试用例,且保持了全部的不变量约束,则达到成功修复,终止计算;
判断是否达到最大进化代数,若达到,终止计算;
否则,重复D-E步骤。
2.根据权利要求1所述的一种基于遗传算法的软件修复方法,其特征在于:所述抽象语法树的每一个节点对应程序中一个可执行的状态或控制流结构。
3.根据权利要求1所述的一种基于遗传算法的软件修复方法,其特征在于:程序在计算适应度时使用程序代码,执行程序计算通过的测试用例数和保持的不变量约束数。
4.根据权利要求1所述的一种基于遗传算法的软件修复方法,其特征在于:所述适应度函数由两部分组成:首先计算个体通过的测试用例个数占所有测试用例的比例,通过的测试用例越多适应度值越大;另外,计算个体不变量约束保持的个数,
适应度函数为:
其中,f(xi)表示个体xi的适应度;
T表示测试用例集,t指其中的测试用例;
(xi)Pass(t)表示个体xi通过测试用例t,|T|表示测试用例的个数;
cp表示原始个体在执行正测试用例时的不变量约束数;
ci表示个体xi在执行正测试用例时与cp一致的不变量约束数。
5.根据权利要求1所述的一种基于遗传算法的软件修复方法,其特征在于:所述变异包括作用在负测试用例访问到而正测试用例没有访问到的路径的节点上,根据变异概率对选取到的个体,对其权值最低的节点进行变异操作,变异操作包括对该节点的删除,插入新的节点或用新的节点与之交换,且所述新的节点取自个体中其它节点。
6.根据权利要求1所述的一种基于遗传算法的软件修复方法,其特征在于:所述交叉包括通过随机算法生成两个交叉点,交换两个交叉点之间的节点。
7.根据权利要求6所述的一种基于遗传算法的软件修复方法,其特征在于:所述交叉包括两交叉方法,所述两交叉方法包括每个个体都要与原始个体进行交叉,和每个个体任选一个其他个体进行交叉。
8.根据权利要求1所述的一种基于遗传算法的软件修复方法,其特征在于:所述选择包括对交叉后的个体进行适应度计算,选择适应度值高的M个个体和原始个体进入下一代。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种软件升级方法及装置 | 2021-05-29 | 6 |
一种软件测试用例自动生成方法 | 2021-06-02 | 6 |
一种软件界面自动生成方法 | 2021-08-16 | 2 |
基于软件过程时序数据自动挖掘的多步预测方法和系统 | 2020-08-08 | 2 |
有明确目标的汉字输入软件设计方法 | 2021-09-17 | 0 |
网关服务器的应用软件版权保护系统 | 2022-02-09 | 1 |
一种软件模拟测试方法 | 2020-11-22 | 6 |
多个扫描探针的软件同步 | 2022-04-24 | 3 |
无线软件定义网络 | 2020-11-23 | 6 |
用于分析软件的方法和设备 | 2021-08-12 | 2 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。