Isolating Compiler Optimization Faults via Differentiating Finer-grained Options

Isolating Compiler Optimization Faults via Differentiating Finer-grained Options
复制标题

通过区分更细粒度的选项来隔离编译器优化故障

DOI:
10.1109/saner53432.2022.00065
复制
发表时间:
2022
期刊:
2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)
影响因子:
--
通讯作者:
Hai Jin
Hai Jin
中科院分区:
--
文献类型:
--
作者:
Jing Yang;Yibiao Yang;Maolin Sun;Ming Wen;Yuming Zhou;Hai Jin

文献摘要

参考文献

被引文献

相似文献

代码优化是编译器的一个基本特性,几乎所有的软件产品都是通过编译器优化发布的。因此,代码优化中的bug将不可避免地对软件系统的正确性产生重大影响。定位编译器中的优化错误是一项挑战,因为编译器通常支持大量的优化配置。虽然以前的研究已经提出通过生成见证测试程序来定位编译器错误,但这种方法仍然很耗时,而且不够有效。为了解决这些限制,我们提出了一种自动错误定位方法,ODFL,在本研究中通过区分细粒度选项来定位编译器优化错误。具体来说,我们首先禁用在bug触发优化级别下默认启用的细粒度选项,以获得无bug和与bug相关的细粒度选项。然后,我们根据这些细粒度选项配置几个有效的传递和失败优化序列,以获得多个失败和传递编译器覆盖范围。最后,通过基于谱的故障定位公式,利用生成的覆盖信息对可疑编译文件进行排序。我们在现有基准测试的60个有bug的GCC编译器上运行ODFL。实验结果表明,ODFL在所有评估指标方面都明显优于最先进的编译器错误隔离方法RecBi,证明了ODFL的有效性。此外,ODFL比RecBi效率高得多,因为它平均可以节省超过88%的查找bug的时间。
Code optimization is an essential feature for compilers and almost all software products are released by compiler optimizations. Consequently, bugs in code optimization will inevitably cast significant impact on the correctness of software systems. Locating optimization bugs in compilers is challenging as compilers typically support a large amount of optimization configurations. Although prior studies have proposed to locate compiler bugs via generating witness test programs, they are still time-consuming and not effective enough. To address such limitations, we propose an automatic bug localization approach, ODFL, for locating compiler optimization bugs via differentiating finer-grained options in this study. Specifically, we first disable the fine-grained options that are enabled by default under the bug-triggering optimization levels independently to obtain bug-free and bug-related fine-grained options. We then configure several effective passing and failing optimization sequences based on such fine-grained options to obtain multiple failing and passing compiler coverage. Finally, such generated coverage information can be utilized via Spectrum-Based Fault Localization formulae to rank the suspicious compiler files. We run ODFL on 60 buggy GCC compilers from an existing benchmark. The experimental results show that ODFL significantly outperforms the state-of-the-art compiler bug isolation approach RecBi in terms of all the evaluated metrics, demonstrating the effectiveness of ODFL. In addition, ODFL is much more efficient than RecBi as it can save more than 88% of the time for locating bugs on average.
MILEPOST GCC:基于机器学习的研究编译器
DOI: --
发表时间: 2008
期刊: --
影响因子: --
作者:
Ayal Zaks
通讯作者: Ayal Zaks