一句话:提出 Optimuzz,将优化导向灰盒模糊测试与翻译验证结合,持续检测编译器错误优化,在 LLVM 与 TurboFan 上优于现有工具并发现 55 个新误编译 bug。
不正确的编译器优化会导致非预期程序行为和安全漏洞,而现代编译器规模庞大、优化持续增加,正确性难以保证。本文提出 Optimuzz,将定向灰盒模糊测试与翻译验证结合:设计优化导向的模糊测试框架,高效生成能够触发特定编译器优化的输入程序,再用现有翻译验证工具验证这些优化在输入程序上的正确性。作者在 LLVM 和 TurboFan 两个主流编译器上实例化该方法,实验表明 Optimuzz 能有效检测误编译 bug,优于现有最先进工具;应用于最新版 LLVM 还发现了 55 个新的误编译 bug。
Incorrect compiler optimizations can lead to unintended program behavior and security vulnerabilities. However, the enormous size and complexity of modern compilers make it challenging to ensure the correctness of optimizations. The problem becomes more severe as compiler engineers continuously add new optimizations to improve performance and support new language features. In this paper, we propose Optimuzz , a framework to effectively detect incorrect optimization bugs in such continuously changing compilers. The key idea is to combine two complementary techniques: directed grey-box fuzzing and translation validation. We design a novel optimization-directed fuzzing framework that efficiently generates input programs to trigger specific compiler optimizations. Optimuzz then uses existing translation validation tools to verify the correctness of the optimizations on the input programs. We instantiate our approach for two major compilers, LLVM and TurboFan . The results show that Optimuzz can effectively detect miscompilation bugs in these compilers, outperforming state-of-the-art tools. We also applied Optimuzz to the latest version of LLVM and discovered 55 new miscompilation bugs.
@article{paperbot3099,
title = {Optimization-Directed Compiler Fuzzing for Continuous Translation Validation},
author = {Jaeseong Kwon and Bongjun Jang and Juneyoung Lee and Kihong Heo},
journal = {Proceedings of the ACM on Programming Languages},
volume = {9},
number = {PLDI},
year = {2025},
doi = {10.1145/3729275}
}