Mut4All: Fuzzing Compilers via LLM-Synthesized Mutators Learned from Bug Reports
Fuente:
arXiv
Enregistré dans:
| Auteurs principaux: | , , , , , , , , , , , |
|---|---|
| Format: | Preprint |
| Publié: |
2025
|
| Sujets: | |
| Accès en ligne: | |
| Tags: |
Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
|
| _version_ | 1866912883579813888 |
|---|---|
| author | Wang, Bo Wang, Pengyang Chen, Chong Deng, Ming Shi, Jieke Sun, Qi Yang, Chengran Lin, Youfang Yang, Zhou Chen, Junjie Sun, Jun Lo, David |
| author_facet | Wang, Bo Wang, Pengyang Chen, Chong Deng, Ming Shi, Jieke Sun, Qi Yang, Chengran Lin, Youfang Yang, Zhou Chen, Junjie Sun, Jun Lo, David |
| contents | 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++. |
| format | Preprint |
| id |
arxiv_https___arxiv_org_abs_2507_19275 |
| institution | arXiv |
| publishDate | 2025 |
| record_format | arxiv |
| spellingShingle | Mut4All: Fuzzing Compilers via LLM-Synthesized Mutators Learned from Bug Reports Wang, Bo Wang, Pengyang Chen, Chong Deng, Ming Shi, Jieke Sun, Qi Yang, Chengran Lin, Youfang Yang, Zhou Chen, Junjie Sun, Jun Lo, David Software Engineering 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++. |
| title | Mut4All: Fuzzing Compilers via LLM-Synthesized Mutators Learned from Bug Reports |
| topic | Software Engineering |
| url | https://arxiv.org/abs/2507.19275 |