paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Optimization-Directed Compiler Fuzzing for Continuous Translation Validation

面向持续翻译验证的优化导向编译器模糊测试
PLDI 9(PLDI)2025匹配度 3/10 · 论文属于编译器模糊测试与翻译验证,与形式化验证/程序分析有邻接,但不涉及用户核心的 PL↔AI、LLM/Agent、浮点程序分析或贝叶斯程序分析。引用 3 inbox
Jaeseong Kwon, Bongjun Jang, Juneyoung Lee, Kihong Heo
crossref: 2026-09-10

AI 速览

一句话:提出 Optimuzz,将优化导向灰盒模糊测试与翻译验证结合,持续检测编译器错误优化,在 LLVM 与 TurboFan 上优于现有工具并发现 55 个新误编译 bug。

不正确的编译器优化会导致非预期程序行为和安全漏洞,而现代编译器规模庞大、优化持续增加,正确性难以保证。本文提出 Optimuzz,将定向灰盒模糊测试与翻译验证结合:设计优化导向的模糊测试框架,高效生成能够触发特定编译器优化的输入程序,再用现有翻译验证工具验证这些优化在输入程序上的正确性。作者在 LLVM 和 TurboFan 两个主流编译器上实例化该方法,实验表明 Optimuzz 能有效检测误编译 bug,优于现有最先进工具;应用于最新版 LLVM 还发现了 55 个新的误编译 bug。

问题
现代编译器优化庞大复杂且持续演进,难以保证优化正确性;错误优化会引发非预期行为和安全隐患。
方法
提出 Optimuzz,结合定向灰盒模糊测试与翻译验证:优化导向地生成能触发特定优化的输入程序,再用现有翻译验证工具检查这些优化的正确性,并在 LLVM 与 TurboFan 上实例化。
评估
在两个主流编译器上与最先进工具对比,Optimuzz 能更有效地检测误编译 bug;应用于最新版 LLVM 发现 55 个新误编译 bug。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@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}
}