Isolating Compiler Bugs through Compilation Steps Analysis

📅 2025-10-14
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Compilers’ internal defects are notoriously difficult to localize due to the lack of causal modeling of compilation processes in existing test-based mutation approaches, hindering precise error propagation tracing. To address this, we propose CompSCAN—a novel method that introduces causal analysis into compiler step sequences for the first time. It operates via a three-stage framework: (1) extracting the sequence of compilation steps from failing executions; (2) identifying error-triggering steps and associating them with relevant code elements; and (3) ranking suspicious elements using a tailored suspiciousness scoring model. Evaluated on 185 real-world LLVM/GCC bugs, CompSCAN achieves Top-1/3/5/10 localization counts of 50/85/100/123, outperforming state-of-the-art methods by up to 50.18% while exhibiting faster average execution. Its core contribution lies in establishing a compiler-step-level causal tracing mechanism, enabling efficient, interpretable, and automated isolation of compiler defects.

Technology Category

Application Category

📝 Abstract
Compilers are essential to software systems, and their bugs can propagate to dependent software. Ensuring compiler correctness is critical. However, isolating compiler bugs remains challenging due to the internal complexity of compiler execution. Existing techniques primarily mutate compilation inputs to generate passing and failing tests, but often lack causal analysis of internal steps, limiting their effectiveness. To address this limitation, we propose CompSCAN, a novel compiler bug isolation technique that applies analysis over the sequence of compilation steps. CompSCAN follows a three-stage process: (1) extracting the array of compilation steps that leads to the original failure, (2) identifying bug-causing steps and collecting corresponding compiler code elements, and (3) calculating suspicious scores for each code element and outputting a suspicious ranking list as the bug isolation result. We evaluate CompSCAN on 185 real-world LLVM and GCC bugs. Results show that CompSCAN outperforms state-of-the-art techniques in both effectiveness and efficiency. CompSCAN successfully isolates 50, 85, 100, and 123 bugs within the Top-1/3/5/10 ranks, respectively. Compared with ETEM and ODFL, two state-of-the-art compiler bug isolation techniques, CompSCAN achieves relative improvements of 44.51% / 50.18% / 36.24% / 24.49% over ETEM, and 31.58% / 49.12% / 44.93% / 21.78% over ODFL on those metrics. Moreover, CompSCAN runs faster on average per bug than both baselines.
Problem

Research questions and friction points this paper is trying to address.

Isolating compiler bugs through compilation steps analysis
Addressing lack of causal analysis in compiler bug isolation
Improving effectiveness and efficiency of compiler bug localization
Innovation

Methods, ideas, or system contributions that make the work stand out.

Analyzes sequence of compilation steps for bugs
Identifies bug-causing steps and code elements
Calculates suspicious scores for ranking bug locations
🔎 Similar Papers
No similar papers found.
Y
Yujie Liu
Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education; School of Computer Science, Peking University, China
Mingxuan Zhu
Mingxuan Zhu
Peking University
S
Shengyu Cheng
ZTE Corporation, China
Dan Hao
Dan Hao
Peking University
Software TestingSoftware EngineeringDebuggingCompiler Testing