[发明专利]一种基于化学反应优化的错误定位方法有效
申请号: | 201810823017.5 | 申请日: | 2018-07-25 |
公开(公告)号: | CN110764989B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 姜淑娟;王兴亚;陆凯 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 221116 江苏省徐*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 化学反应 优化 错误 定位 方法 | ||
1.一种基于化学反应优化的错误定位方法,其特征在于,针对给定的待测程序以及测试用例集合,为待测程序进行插桩,执行测试用例收集程序执行路径,构造软件行为图;在此基础上保留错误相关有向边,对软件行为图约简;然后抽取所有失败执行行为图有向边,定义化学反应优化算法分子结构和解空间,初始化反应分子种群;之后选取适应度函数利用化学反应优化算法迭代搜索获取最优分子种群;最终将最优分子种群中的分子转化为程序状态上下文理解程序执行失效原因,进而定位和修复错误;该方法包含以下步骤:
1)软件行为图构建,对待测程序插桩,执行测试用例获取程序执行路径,构建软件行为图,最终获得软件行为图集合;
2)软件行为图约简,根据步骤1)得到的图集合中每一行为图,计算图中每一条有向边的错误相关系数,计算公式如下:
式中和分别表示包含的失败执行和成功执行个数,和分别表示所有失败执行与成功执行个数;当时,值为保留,否则去除,得到约简后行为图,输出约简后软件行为图集合;
3)分子种群初始化,根据步骤2)得到的约简后图集合,从中抽取出失败执行行为图集合,从中获取所有有向边集合,定义分子的结构为一个位二进制向量:
其中,为中有向边个数,如果,则在这个解中,第条有向边属于状态上下文;如果,这个解中第条有向边不属于状态上下文;之后初始化个分子,每个分子只包含一条有向边属于状态上下文且互异;然后对每一个分子使用贪心算法将向量某一位置1,使得每个分子都能解释所有失败执行,即所有失败执行行为图都包含了至少一条在分子中被认为是属于状态上下文的有向边;最终获得个可行解,当种群分子个数大于,随机复制分子补充至个加入初始种群当小于等于,选取适应度值高的个分子组成初始分子种群
4)最优分子种群搜索,设置化学反应优化的参数,设计分子的适应度值计算公式如下:
式中为失败执行的数量,值表示能解释失败执行的数量,即如果一个失败执行行为图包含了至少一条在中假定属于状态上下文的有向边,则该失败执行能被解释,加1;是惩罚函数,如果一个成功执行行为图包含了至少一条中假定属于状态上下文的有向边,则加1;之后化学反应优化迭代搜索最优分子群,迭代执行,每次迭代执行一种初等反应,包括单分子无效碰撞、分解、多分子间无效碰撞以及合成;四种初等反应的算子设计如下:
(1)单分子无效碰撞,随机选取单个分子,随机选择分子中值为1的某位变为0;
(2)分解,随机选取单个分子,并随机选择其中某一位作为分解点,分解成两部分作为两个新分子的固定部分,新分子的空余部分随机置1或0;
(3)多分子间无效碰撞,随机选取两个分子,将一个分子中的某位与另一分子某位交换,生成两个新分子;
(4)合成,随机选取两个分子与,将中值为1位替换为中对应位,生成分子, 将中值为1位替换为中对应位,生成分子,计算与适应度值,保留适应度值小的分子作为合成分子;
每次反应后计算所有分子的适应度值,根据调整分子种群;判断反应停止条件,任取分子种群中一个分子,若这个分子连续代适应度值不变,反应停止否则继续反应;
5)错误定位,根据步骤4)得到反应后的分子种群,计算每个分子的值,保留等于的分子,计算其适应度值升序排序,得到保留分子种群;依序对每个分子,抽取分子中位值为1的有向边获得有向边集合,将中拥有相同节点的有向边连接,最终得到与错误相关的完整程序状态上下文,提供给开发人员理解、定位与修复错误。
2.根据权利要求1所述的基于化学反应优化的错误定位方法,其特征在于,在步骤1)中,软件行为图构建;通过程序插桩执行测试用例收集程序执行路径;通过软件行为图表示程序执行过程。
3.根据权利要求1所述的基于化学反应优化的错误定位方法,其特征在于,在步骤2)中,软件行为图约简;计算图中有向边的错误相关系数,保留系数为真的有向边,直到所有行为图都完成约简,获得约简后行为图集合。
4.根据权利要求1所述的基于化学反应优化的错误定位方法,其特征在于,在步骤3)中,分子种群初始化;抽取失败行为图中的有向边定义二维向量分子结构;初始化个分子并通过贪心算法转化为可行解构造初始分子种群。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810823017.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种告警方法、装置及系统
- 下一篇:一种UI自动化回归测试方法及装置