English

Mut4All: Fuzzing Compilers via LLM-Synthesized Mutators Learned from Bug Reports

Software Engineering 2026-02-09 v2

Abstract

Mutation-based fuzzing is effective for uncovering compiler bugs, but designing high-quality mutators for modern languages with complex constructs (e.g., templates, macros) remains challenging. Existing methods rely heavily on manual design or human-in-the-loop correction, limiting scalability and cross-language generalizability. We present Mut4All, a fully automated, language-agnostic framework that synthesizes mutators using Large Language Models (LLMs) and compiler-specific knowledge from bug reports. It consists of three agents: (1) a mutator invention agent that identifies mutation targets and generates mutator metadata using compiler-related insights; (2) a mutator implementation synthesis agent, fine-tuned to produce initial implementations; and (3) a mutator refinement agent that verifies and corrects the mutators via unit-test feedback. Mut4All processes 1000 bug reports (500 Rust, 500 C++), yielding 319 Rust and 403 C++ mutators at ~$0.08 each via GPT-4o. Our customized fuzzer, using these mutators, finds 62 bugs in Rust compilers (38 new, 7 fixed) and 34 bugs in C++ compilers (16 new, 1 fixed). Mut4All outperforms existing methods in both unique crash detection and coverage, ranking first on Rust and second on C++.

Keywords

Cite

@article{arxiv.2507.19275,
  title  = {Mut4All: Fuzzing Compilers via LLM-Synthesized Mutators Learned from Bug Reports},
  author = {Bo Wang and Pengyang Wang and Chong Chen and Ming Deng and Jieke Shi and Qi Sun and Chengran Yang and Youfang Lin and Zhou Yang and Junjie Chen and Jun Sun and David Lo},
  journal= {arXiv preprint arXiv:2507.19275},
  year   = {2026}
}
R2 v1 2026-07-01T04:18:52.505Z