paperbot · PL 论文追踪

全部论文 待读 收藏

P2 To Kill a Mutant: An Empirical Study of Mutation Testing Kills

杀死变异体:变异测试中 kill 的实证研究
ISSTA Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis2023匹配度 2/10 · 该论文研究变异测试中测试用例杀死变异体的方式与崩溃成因,属于软件测试/动态分析领域,与用户关注的静态分析、LLM/Agent、浮点程序分析、贝叶斯程序分析等核心方向没有直接交集。虽然变异测试可能作为评估测试套件的技术被间接使用,但本文不涉及用户画像中的PL与AI交叉主题。引用 7 inbox
Hang Du, Vijay Krishna Palepu, James A. Jones
crossref: 2026-09-12

AI 速览

一句话:首次系统实证刻画变异测试中测试用例杀死变异体的失败方式与崩溃成因。

变异测试通过向程序注入人工缺陷生成变异体,并运行测试套件判断是否能检测并杀死变异体;失败测试用例即杀死该变异体。尽管该技术已被研究和应用四十余年,但人们对“杀死”本身的性质了解甚少。本文开展实证研究,考察杀死变异体的测试用例为何失败、每个被杀死变异体有多少测试用例失败(尽管只需一次失败即可杀死)、程序崩溃如何促成杀死、以及这些崩溃的来源与性质。结果显示,崩溃对导致杀死的测试失败有显著贡献;即使对单个变异,测试失败原因也呈多样性;并识别出常引发崩溃的具体异常类型。作者认为该结果对实践者解读变异得分及研究者使用变异测试均有启示。

问题
现有变异测试研究主要关注变异得分与测试强度,但缺少对杀死变异体的测试失败性质、失败测试数量及崩溃作用的系统认识。
方法
对受试对象开展实证研究,收集并分类杀死变异体的失败测试用例,分析其失败原因、每个被杀死变异体的失败测试数量、崩溃的贡献以及崩溃的来源与异常类型。
评估
跨所有受试对象进行统计与分类分析,揭示崩溃对测试失败并导致杀死的显著贡献、单个变异下失败原因的多样性以及常引发崩溃的具体异常类型。
原文摘要(Abstract)

Mutation testing has been used and studied for over four decades as a method to assess the strength of a test suite. This technique adds an artificial bug (i.e., a mutation) to a program to produce a mutant, and the test suite is run to determine if any of its test cases are sufficient to detect this mutation (i.e., kill the mutant). In this situation, a test case that fails is the one that kills the mutant. However, little is known about the nature of these kills. In this paper, we present an empirical study that investigates the nature of these kills. We seek to answer questions, such as: How are test cases failing so that they contribute to mutant kills? How many test cases fail for each killed mutant, given that only a single failure is required to kill that mutant? How do program crashes contribute to kills, and what are the origins and nature of these crashes? We found several revealing results across all subjects, including the substantial contribution of "crashes" to test failures leading to mutant kills, the existence of diverse causes for test failures even for a single mutation, and the specific types of exceptions that commonly instigate crashes. We posit that this study and its results should likely be taken into account for practitioners in their use of mutation testing and interpretation of its mutation score, and for researchers who study and leverage mutation testing in their future work.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot8057,
  title = {To Kill a Mutant: An Empirical Study of Mutation Testing Kills},
  author = {Hang Du and Vijay Krishna Palepu and James A. Jones},
  booktitle = {ISSTA},
  year = {2023},
  doi = {10.1145/3597926.3598090}
}