学位专题

目录>
<

基于遗传算法与播种策略的软件故障复现

黄正清
北京化工大学
引用
搜索算法凭借其高效性、可靠性、覆盖面广等优点,在软件自动化测试领域受到了广泛的推崇,尤其在故障复现方面表现良好。然而,目前基于搜索的软件故障复现方法对故障信息的要求较为苛刻,其通用性较差,且现有方法仅从故障触发语句覆盖与故障类型两个方面设计适应度函数,故障复现缺乏指导,不利于自动生成能有效复现故障的测试用例。此外,目前基于搜索的故障复现方法大多未考虑测试序列生成过程中的参数生成问题,参数值采用随机值,导致复现故障的测试数据生成成本较高,进一步影响了软件故障复现的效果及效率。  为此,本文提出了一种基于引导遗传算法与播种策略的软件故障复现方法,以故障堆栈轨迹作为故障信息来源,基于故障堆栈轨迹与引导遗传算法进行测试用例演化生成,实现故障的自动复现;此外,本文方法从故障触发语句覆盖、故障类型和堆栈轨迹相似度三方面,对适应度函数进行了设计与优化,以有效识别潜在的优异个体并提高计算效率,加快算法的收敛速度。再者,现有故障复现方法测试序列的参数值多为随机生成,无法覆盖一些需要特定参数才能到达的语句。对此,本文提出一种基于播种策略的参数值生成方法,从源程序字节码的静态分析以及个体运行轨迹的动态分析两方面,收集测试序列中参数的可能取值,并利用播种策略优化初始种群的生成及种群的遗传操作,从而优化面向故障复现的测试用例生成过程,提升软件故障复现效果。  为了验证本文方法的有效性,本文从五个大型开源软件中收集了105个真实的软件故障,分别从能否有效实现目标故障复现、适应度函数的优化设计能否提高故障复现效率以及播种策略能否提高故障复现效果三个方面对本文方法的有效性进行实验验证。结果证明,相较于现有的软件故障复现方法,本文方法可在真实软件故障数据集上复现更多的故障,使复现效果获得了显著的提升。

软件自动化测试;故障复现;引导遗传算法;播种策略

北京化工大学

硕士

计算机技术

赵瑞莲;孙乾

2023

中文

TP311.52

2023-09-27(万方平台首次上网日期,不代表论文的发表时间)

相关文献
评论
相关作者
相关机构
打开万方数据APP,体验更流畅