paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Faster mutation analysis with MeMu

使用 MeMu 加速变异分析
ISSTA Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis2022匹配度 2/10 · 论文关注变异分析(mutation analysis)的执行加速,属于测试与动态分析范畴,与用户核心方向中的静态分析、LLM/Agent、浮点程序分析及贝叶斯程序分析均无直接交叉。仅在广义程序分析工具优化层面有微弱关联。引用 1 inbox
Ali Ghanbari, Andrian Marcus
crossref: 2026-09-12

AI 速览

一句话:提出并实现 MeMu,通过记忆化最昂贵方法来减少变异体执行时间,从而加速变异分析。

变异分析需要反复在大量程序变异体上运行测试套件,常导致可扩展性差。已有加速方法多从减少变异体、测试用例或单个变异体执行时间入手。本文实现了一种新技术 MeMu,通过记忆化系统中开销最高的方法,在检测到重复输入时跳过这些方法的执行并复用预先计算结果,从而降低变异体执行时间。MeMu 可独立使用,也可与现有变异分析加速技术结合。在基于 JVM 的变异测试工具 PITest 上的当前实现平均取得 18.15% 的加速。

问题
变异分析因需在大量变异体上反复运行测试套件而扩展性差,如何降低单个变异体的执行时间是关键问题之一。
方法
MeMu 对系统中最昂贵的方法进行记忆化,在检测到重复输入时绕过其执行并复用已计算结果。
评估
将 MeMu 实现在 JVM 变异测试工具 PITest 中,并测量其加速效果;平均获得 18.15% 的加速。
原文摘要(Abstract)

Mutation analysis is a program analysis method with applications in assessing the quality of test cases, fault localization, test input generation, security analysis, etc. The method involves repeated running of test suites against a large number of program mutants, often leading to poor scalability. A large body of research is aimed at accelerating mutation analysis via a variety of approaches such as, reducing the number of mutants, reducing the number of test cases to run, or reducing the execution time of individual mutants. This paper presents the implementation of a novel technique, named MeMu, for reducing mutant execution time, through memoizing the most expensive methods in the system. Memoization is a program optimization technique that allows bypassing the execution of expensive methods and reusing pre-calculated results, when repeated inputs are detected. MeMu can be used on its own or alongside existing mutation analysis acceleration techniques. The current implementation of MeMu achieves, on average, an 18.15% speed-up for PITest JVM-based mutation testing tool.

链接与引用

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

BibTeX
@inproceedings{paperbot7409,
  title = {Faster mutation analysis with MeMu},
  author = {Ali Ghanbari and Andrian Marcus},
  booktitle = {ISSTA},
  year = {2022},
  doi = {10.1145/3533767.3543288}
}