一句话:提出长期存活变异体概念与脆性度量,证明其能保持变异测试套件的一致性与相关性。
以往变异测试常逐版本重新计算变异体套件,导致不同版本的变异得分不可比,且代码变更会使套件相关性随时间下降。本文在4个非平凡系统中测量143,500个变异体,发现平均52%发生相关性退化。作者提出变异体脆性度量,用于审计系统及其变异套件,并展示如何识别构造上一致的长期存活变异体套件。评估表明,长期存活变异体套件的相关性比任意测试套件提升10倍。作者建议研究界避免重新计算变异体套件,转而关注长期存活变异体,以提升变异测试的一致性与相关性。
Mutation testing has been demonstrated to be one of the most powerful fault-revealing tools in the tester's tool kit. Much previous work implicitly assumed it to be sufficient to re-compute mutant suites per release. Sadly, this makes mutation results inconsistent; mutant scores from each release cannot be directly compared, making it harder to measure test improvement. Furthermore, regular code change means that a mutant suite's relevance will naturally degrade over time. We measure this degradation in relevance for 143,500 mutants in 4 non-trivial systems, finding that 52% degrade, on average. We introduce a mutant brittleness measure and use it to audit software systems and their mutation suites. We also demonstrate how consistent-by-construction long-standing mutant suites can be identified with a 10x improvement in mutant relevance over an arbitrary test suite. Our results indicate that the research community should avoid the re-computation of mutant suites and focus, instead, on long-standing mutants, thereby improving the consistency and relevance of mutation testing.