利用变分执行寻找高阶变异体
软件工程
2018-09-13 v1
摘要
变异测试是衡量测试套件质量的一种有效但耗时的方法。它通过反复对源代码进行称为变异体的修改,并检查测试套件是否失败(即变异体是否被杀死)来工作。近期工作展示了一些案例,其中应用多处修改(称为高阶变异)比单处修改(称为一阶变异)更难被杀死。具体而言,一种特殊的高阶变异,称为强包含高阶变异(SSHOM),能够以更少的测试执行次数在评估测试套件质量时达到同等的准确度。人们对这些 SSHOM 知之甚少,因为它们难以寻找。我们本研究的目标是确定一种更快、更可靠的方法来寻找 SSHOM,以便未来对其特征进行刻画。我们提出了一种基于变分执行来寻找 SSHOM 的方法。初步结果表明,变分执行在速度和结果完整性方面优于现有的遗传算法。在一组 33 个一阶变异中,我们的变分执行方法在 4.5 秒内找到了全部 38 个 SSHOM,而遗传算法在 50 秒内仅找到 38 个中的 36 个。
引用
@article{arxiv.1809.04563,
title = {Finding Higher Order Mutants Using Variational Execution},
author = {Serena Chen},
journal= {arXiv preprint arXiv:1809.04563},
year = {2018}
}
备注
Extended abstract, accepted to the SPLASH 2018 Student Research Competition