UPDF AI

The Mutators Reloaded: Fuzzing Compilers with Large Language Model Generated Mutation Operators

Xianfei Ou,Cong Li,Yanyan Jiang,Chang Xu

2024 · DOI: 10.1145/3622781.3674171
International Conference on Architectural Support for Programming Languages and Operating Systems · 18 Citations

TLDR

MetaMut framework for developing new, useful mutators for compiler fuzzing integrates compiler-domain knowledge into prompts and processes that can best harness the capabilities of a large language model.

Abstract

Crafting high-quality mutators-the core of mutation-based fuzzing that shapes the search space-is challenging. It requires human expertise and creativity, and their implementation demands knowledge of compiler internals. This paper presents MetaMut framework for developing new, useful mutators for compiler fuzzing. It integrates our compiler-domain knowledge into prompts and processes that can best harness the capabilities of a large language model. With MetaMut, we have successfully created 118 semantic-aware mutators at approximately $0.5 each, with only moderate human effort. With these mutators, our fuzzer uncovered 131 bugs in GCC and Clang, 129 of which were confirmed or fixed. The success of MetaMut suggests that the integration of AI into software and system engineering tasks traditionally thought to require expert human intervention could be a promising research direction.