Isolating Compiler Faults via Multiple Pairs of Adversarial Compilation Configurations
By: Qingyang Li , Yibiao Yang , Maolin Sun and more
Compilers are fundamental to modern software development, making the effective identification and resolution of compiler faults essential. However, localizing these faults to specific source files remains highly challenging due to the complexity and scale of modern compiler infrastructures. In this study, we propose MultiConf, a novel approach that automatically isolates compiler faults by constructing multiple pairs of adversarial compilation configurations. Each adversarial compilation configuration pair consists of a failing configuration and its corresponding passing configuration, which differ in only a small number of fine-grained options. MultiConf generates failing configurations through a lightweight construction process and derives the corresponding passing configurations by selectively disabling bug-related fine-grained options. We then employ a Spectrum-Based Fault Localization (SBFL) formula to rank the suspiciousness of compiler source files. Each adversarial configuration pair independently produces a ranking, which is subsequently aggregated using a weighted voting scheme to derive a final suspiciousness ranking, enabling more accurate and robust fault localization. We evaluate MultiConf on a benchmark of 60 real-world GCC compiler bugs. The results demonstrate that MultiConf significantly outperforms existing compiler fault localization techniques in both effectiveness and efficiency. In particular, MultiConf successfully localizes 27 out of 60 bugs at the Top-1 file level, representing improvements of 35.0% and 28.6% over the two state-of-the-art approaches, Odfl(20) and Basic(21), respectively.
Similar Papers
Using a Sledgehammer to Crack a Nut? Revisiting Automated Compiler Fault Isolation
Software Engineering
Finds computer code mistakes faster than old ways.
Isolating Compiler Bugs through Compilation Steps Analysis
Software Engineering
Finds computer code errors faster.
Model-Based Diagnosis with Multiple Observations: A Unified Approach for C Software and Boolean Circuits
Software Engineering
Finds bugs in computer code faster and more accurately.