paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Mart: a mutant generation tool for LLVM

Mart:一个面向 LLVM 的变异体生成工具
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 2/10 · 论文是面向 LLVM bitcode 的变异测试工具,属于软件测试/变异分析工具工程,与用户关注的 LLM/Agent × 静态分析、浮点程序分析、贝叶斯程序分析等核心方向几乎没有直接交集;仅在程序分析与编译器工具链层面有很间接的关联。引用 26 inbox
Thierry Titcheu Chekam, Mike Papadakis, Yves Le Traon
crossref: 2026-09-12

AI 速览

一句话:提出 Mart,一个基于 LLVM bitcode 的变异体生成工具,支持细粒度变异算子与编译器等价去重。

变异测试通过微小语法改动人工制造故障程序(变异体),但生成工具需灵活定义变异算子、限定变异代码范围,并剔除等价与重复变异体。Mart 面向 LLVM bitcode,将变异算子表示为匹配规则-替换模式对,默认提供 816 对,并支持限制待变异代码部分;生成时在内存中执行 Trivial Compiler Equivalence,以消除等价和重复变异体。工具可输出分离变异体文件、meta-mutants、weak mutation 及 mutant coverage 插桩文件。Mart 已公开,并应用于多个研究实验,累计生成超过 4,000,000 个变异体。

问题
如何为 LLVM bitcode 灵活、细粒度地生成程序变异体,并避免等价和重复变异体,以支持变异测试研究与实践。
方法
将变异算子定义为匹配规则-替换模式对(默认 816 对),支持限制代码中可变异的部分;在生成过程中使用内存中的 Trivial Compiler Equivalence 去除等价与重复变异体。
评估
Mart 已公开并在多个研究实验中应用,累计生成超过 4,000,000 个变异体;同时支持输出多种变异体表示和插桩文件。
原文摘要(Abstract)

Program mutation makes small syntactic alterations to programs' code in order to artificially create faulty programs (mutants). Mutants creation (generation) tools are often characterized by their mutation operators and the way they create and represent the mutants. This paper presents Mart, a mutants generation tool, for LLVM bitcode, that supports the fine-grained definition of mutation operators (as matching rule - replacing pattern pair; uses 816 defined pairs by default) and the restriction of the code parts to mutate. New operators are implemented in Mart by implementing their matching rules and replacing patterns. Mart also implements in-memory Trivial Compiler Equivalence to eliminate equivalent and duplicate mutants during mutants generation. Mart generates mutant code as separated mutant files, meta-mutants file, weak mutation and mutant coverage instrumented files. Mart is publicly available (https://github.com/thierry-tct/mart). Mart has been applied to generate mutants for several research experiments and generated more than 4,000,000 mutants.

链接与引用

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

BibTeX
@inproceedings{paperbot5046,
  title = {Mart: a mutant generation tool for LLVM},
  author = {Thierry Titcheu Chekam and Mike Papadakis and Yves Le Traon},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3341180}
}