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

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Wang, Bo, Wang, Pengyang, Chen, Chong, Deng, Ming, Shi, Jieke, Sun, Qi, Yang, Chengran, Lin, Youfang, Yang, Zhou, Chen, Junjie, Sun, Jun, Lo, David
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