paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Understanding Compiler Bugs in Real Development

理解真实开发中的编译器 Bug
ICSE 2025 IEEE/ACM 47th International Conference on Software Engineering (ICSE)2025匹配度 3/10 · 该论文属于编译器和软件工程领域的实证研究,关注真实开发中编译器 Bug 的影响与规避方式,与用户画像中的 PL+AI、静态分析/形式化验证、浮点程序分析或贝叶斯程序分析均无直接交叉,也未涉及 LLM/Agent。引用 5 inbox
Hao Zhong
crossref: 2026-09-12

AI 速览

一句话:首次从真实开发提交信息中收集编译器 Bug,分析影响与规避方式,并总结七条发现。

编译器缺陷会在编译产物中引入隐蔽且严重的错误。既有实证研究多依赖编译器 bug 报告与补丁,难以了解受影响的真实项目、开发者的规避方式,且 bug 分布可能因开发者自行提交报告而失真。本文从真实开发视角出发,检索提交信息中显式包含编译器 bug URL 的记录,收集 644 个唯一提交,首次对“在野”编译器 bug 开展实证研究。作者分析项目影响、规避手段与修复情况,总结出面向用户、编译器开发者和研究者的七条发现;例如一些大型规避涉及重复且系统化的代码修改,为代码迁移工具提供了新研究机会。作者还将发现用于真实开发并获得正面反馈。

问题
既有研究依赖编译器 bug 报告与补丁,难以理解 bug 对真实项目的实际影响、开发者绕过方式以及报告分布偏差;本文关注真实开发中遇到的编译器 bug。
方法
通过检索提交信息中显式包含编译器 bug URL 的记录,收集 644 个唯一提交,开展首次在野实证研究,归纳影响、规避与修复模式。
评估
基于 644 个提交总结出七条面向用户、编译器开发者和研究者的发现,并将部分发现应用于真实开发,获得正面反馈。
原文摘要(Abstract)

Compilers are critical in development, but compiler bugs can cause hidden and serious bugs in their compiled code. To deepen the understanding of compiler bugs, in the prior empirical studies, researchers read the bug reports and patches of compilers, and analyze their causes, locations, and patterns. Although they derive many interesting findings, their studies are limited. First, as bug reports seldom explain which projects encounter compiler bugs, it is infeasible to understand the outreaching impact. Second, before compiler bugs are fixed, programmers can bypass such bugs. The bug reports of compilers do not introduce such workarounds. Finally, the distribution of compiler bugs can be distorted, since researchers and compiler developers also file bug reports. In this paper, we propose a novel angle to analyze compiler bugs. Instead of compiler bug reports, we collect compiler bugs that are mentioned in real development. When programmers encounter compiler bugs in real development, they can leave traces in their commit messages. By searching such messages, we collected 644 unique commits whose messages explicitly mention the urls of compiler bugs. From this angle, in this paper, we conduct the first empirical study to analyze compiler bugs in the wild. We summarize our results into seven useful findings for users, compiler developers, and researchers. For example, for researchers, we find that some large workarounds of compiler bugs involve repetitive and systematic changes, which indicates a new research opportunity for code migration tools. Furthermore, we attempt to apply our findings in real development, and we obtain positive feedback.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8898,
  title = {Understanding Compiler Bugs in Real Development},
  author = {Hao Zhong},
  booktitle = {ICSE},
  year = {2025},
  doi = {10.1109/icse55347.2025.00068}
}