中文

通过多对对抗编译配置隔离编译器故障

软件工程 2025-12-30 v1

摘要

编译器是现代软件开发的基石,因此有效识别和解决编译器故障至关重要。然而,将这些故障局部化到具体源文件 remains highly challenging due to the complexity and scale of modern compiler infrastructures. 本研究提出MultiConf方法,通过构建多对对抗编译配置来自动隔离编译器故障。每个对抗编译配置对由一个失效配置及其对应的通过配置组成,这些配置仅在少量细粒度选项上有所不同。MultiConf通过轻量级构建过程生成失效配置,并通过选择性禁用与bug相关的细粒度选项来推导出对应的通过配置。随后,我们采用基于谱spectra的故障定位(SBFL)公式对编译器源文件的可疑性进行排序。每个对抗配置对独立生成一个排序结果,这些结果随后通过加权投票方案聚合,以获得最终的可疑性排序,从而实现更精确和稳健的故障定位。我们在60个真实世界的GCC编译器bug基准上评估了MultiConf。结果表明,MultiConf在有效性和效率方面均显著优于现有的编译器故障定位技术。特别是,MultiConf在Top-1文件层面成功定位了27个bug,分别相对于两项最先进的方法(Odfl(20)和Basic(21))实现了35.0%和28.6%的改进。

关键词

引用

@article{arxiv.2512.22538,
  title  = {Isolating Compiler Faults via Multiple Pairs of Adversarial Compilation Configurations},
  author = {Qingyang Li and Yibiao Yang and Maolin Sun and Jiangchang Wu and Qingkai Shi and Yuming Zhou},
  journal= {arXiv preprint arXiv:2512.22538},
  year   = {2025}
}

备注

Accepted at ACM TOSEM