一句话:通过内存状态分析定位候选断言,并利用交叉击杀模型优化断言增强,高效杀死存活变异体。
变异测试通过生成人工缺陷版本(变异体)评估测试套件,但存活变异体常需开发者自行设计新断言。作者发现,许多存活变异体只需对现有测试做断言增强即可检测,且可被多个测试检测。为此,论文提出内存状态分析识别候选断言,并建立 crossfire 理论模型,刻画现有测试中交叉击杀变异体的不同粒度。基于该模型的技术优化断言放大,使更少新增断言即可交叉击杀多个变异体,并可集中在更少测试中。实验表明,仅用 1.1% 的候选断言即可杀死所有可由现有测试数据检测的存活变异体;相比无 crossfire 的断言增强,被杀变异体数平均提高 6 倍。
Mutation testing was proposed to identify weaknesses in test suites by repeatedly generating artificially faulty versions of the software (i.e., mutants) and determining if the test suite is sufficient to detect them (i.e., kill them). When the tests are insufficient, each surviving mutant provides an opportunity to improve the test suite. We conducted a study and found that many such surviving mutants (up to 84% for the subjects of our study) are detectable by simply augmenting existing tests with additional assertions, or assertion amplification. Moreover, we find that many of these mutants are detectable by multiple existing tests, giving developers options for how to detect them. To help with these challenges, we created a technique that performs memory-state analysis to identify candidate assertions that developers can use to detect the surviving mutants. Additionally, we build upon prior research that identifies “crossfiring” opportunities - tests that coincidentally kill multiple mutants. To this end, we developed a theoretical model that describes the varying granularities that crossfiring can occur in the existing test suite, which provide opportunities and options for how to kill surviving mutants. We operationalize this model to an accompanying technique that optimizes the assertion amplification of the existing tests to crossfire multiple mutants with fewer added assertions, optionally concentrated within fewer tests. Our experiments show that we can kill all surviving mutants that are detectable with existing test data with only 1.1% of the identified assertion candidates, and increasing by a factor of 6x, on average, the number of killed mutants from amplified tests, over tests that do not crossfire.
DOI 原文 ·
@inproceedings{paperbot8791,
title = {Leveraging Propagated Infection to Crossfire Mutants},
author = {Hang Du and Vijay Krishna Palepu and James A. Jones},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00150}
}