Sentinel:一种用于产生突变体减少策略的超启发式算法
Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies
摘要:
变异测试是评价和增强软件测试集的一种有效方法,但变异体的执行计算代价限制了其应用。已经提出了几种策略来降低这种成本(a.k.a.突变成本降低策略),然而,它们中没有一个被证明对所有场景都有效,因为它们通常需要根据被测软件(SUT)进行专门的手动选择和配置。在本文中,我们提出了一种新的多目标进化超启发式方法,称为哨兵,自动生成的最佳成本降低策略,为每一个新的SUT。我们通过进行一项全面的实证研究来评估Sentinel,该研究涉及10个开源真实世界软件系统的40个版本,并将基线和最先进的策略作为基准。我们总共执行了4,800个实验,并根据文献中最新的最佳实践,使用质量指标和统计显著性检验来评估其结果。结果表明,在95%的情况下,Sentinel生成的策略优于基线策略,并且总是具有较大的效应量。在88%的病例中,它们还获得了统计学上显著优于最先进策略的结果,其中95%的病例具有较大的效应量。此外,我们的研究表明,在95%的情况下,Sentinel为给定软件版本生成的突变策略可以用于随后开发的版本,而不会造成任何质量损失。这些结果表明,Sentinel能够自动生成突变策略,降低突变测试成本,而不影响其测试有效性(即突变分数),从而从测试人员的肩膀上卸下手动选择和配置每个SUT策略的负担。
英文摘要:
Mutation testing is an effective approach to evaluate and strengthen software test suites, but its adoption is currently limited by the mutants' execution computational cost. Several strategies have been proposed to reduce this cost (a.k.a. mutation cost reduction strategies), however none of them has proven to be effective for all scenarios since they often need an ad-hoc manual selection and configuration depending on the software under test (SUT). In this paper, we propose a novel multi-objective evolutionary hyper-heuristic approach, dubbed Sentinel, to automate the generation of optimal cost reduction strategies for every new SUT. We evaluate Sentinel by carrying out a thorough empirical study involving 40 releases of 10 open-source real-world software systems and both baseline and state-of-the-art strategies as a benchmark. We execute a total of 4,800 experiments, and evaluate their results with both quality indicators and statistical significance tests, following the most recent best practice in the literature. The results show that strategies generated by Sentinel outperform the baseline strategies in 95% of the cases always with large effect sizes. They also obtain statistically significantly better results than state-of-the-art strategies in 88% of the cases, with large effect sizes for 95% of them. Also, our study reveals that the mutation strategies generated by Sentinel for a given software version can be used without any loss in quality for subsequently developed versions in 95% of the cases. These results show that Sentinel is able to automatically generate mutation strategies that reduce mutation testing cost without affecting its testing effectiveness (i.e. mutation score), thus taking off from the tester's shoulders the burden of manually selecting and configuring strategies for each SUT.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。