一句话:论文比较基于 bug 引入 commit 的 Basic 策略与代表性 SBFL 技术,发现 Basic 在编译器故障隔离上总体更优。
编译器故障会造成严重后果,实践中开发者常通过版本历史定位引入 bug 的 commit(BIC),但已有大量基于频谱的故障定位(SBFL)技术从未与这种 BIC 策略在编译器场景下直接比较。本文提出 Basic 策略:先确定最近的好版本与最早的坏版本,再用二分搜索定位 BIC,并将该 commit 修改的所有文件视为可疑。作者在包含 60 个 GCC bug 与 60 个 LLVM bug 的基准上,将 Basic 与代表性 SBFL 技术进行严格对比。结果表明,在关键的 Top-1 与 Top-5 指标上,Basic 总体优于最先进的 SBFL 技术。作者据此建议未来编译器故障隔离研究将 Basic 作为基线。
Background: Compilers are fundamental to software development, translating high-level source code into executable software systems. Faults in compilers can have severe consequences and thus effective localization and resolution of compiler bugs are crucial. Problem: In practice, developers often examine version history to identify and investigate bug-inducing commit (BIC) for fixing bugs. However, while numerous sophisticated Spectrum-Based Fault Localization (SBFL) techniques have been proposed for compiler fault isolation, their effectiveness has not been evaluated against the BIC-based strategies widely adopted in practice. Objective: This study aims to bridge this gap by directly comparing a BIC-based strategy, called Basic, with representative SBFL-based compiler fault isolation techniques. The BIC-based strategy closely aligns with common developer practices, as it directly identifies the BIC and treats the files modified in that commit as faulty candidates. Method: Basic strategy identifies the most recent good release and earliest bad release, and then employs a binary search to pinpoint the bug-inducing commit. All files modified in the identified commit are flagged as potentially faulty. We rigorously compare Basic against SBFL techniques using a benchmark consisting of 60 GCC bugs and 60 LLVM bugs. Result: Our analysis reveals that Basic generally outperforms state-of-the-art SBFL techniques on the critical Top-1 and Top-5 ranking metrics. Conclusion: This study provides new insights into the practical effectiveness of SBFL techniques in real-world compiler debugging scenarios. We recommend that future research adopt Basic as a baseline when developing and evaluating new compiler fault isolation methods.
@inproceedings{abs-2512-16335,
title = {Using a Sledgehammer to Crack a Nut? Revisiting Automated Compiler Fault Isolation},
author = {Yibiao Yang and Qingyang Li and Maolin Sun and Jiangchang Wu and Yuming Zhou},
booktitle = {ICSE},
year = {2026},
doi = {10.1145/3744916.3773254}
}