paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Silent Compiler Bug De-duplication via Three-Dimensional Analysis

基于三维分析的静默编译器缺陷去重
ISSTA Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis2023匹配度 2/10 · 该论文研究编译器静默缺陷去重,属于编译器测试与调试/修复方向,与用户核心关注的 PL→AI(ML/Agent 程序静态分析)、AI→PL(LLM 改进静态分析/形式化验证)、浮点程序分析及贝叶斯程序分析均无直接交叉。它不涉及 LLM/Agent、静态分析或形式化验证,仅在软件工程/编译器测试层面有较弱的泛相关。引用 15 inbox
Chen Yang, Junjie Chen, Xingyu Fan, Jiajun Jiang, Jun Sun
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 D3,利用测试程序、优化和测试执行三个维度的缺陷因果特征度量失败距离,实现静默编译器缺陷去重。

针对编译器测试中同一缺陷导致大量重复失败、而静默(错误代码)缺陷缺少崩溃信息难以去重的问题,本文提出 D3 技术。其核心思想是从测试过程中刻画静默缺陷,提取测试程序、优化和测试执行三个维度的信息用于去重;由于三维信息中存在大量与缺陷无关的细节,D3 通过因果分析系统地从每个维度识别缺陷因果特征,并据此度量测试失败之间的距离,将更可能由不同静默缺陷引起的失败排在前面。在包含 GCC 与 LLVM 重复缺陷的四个数据集上,D3 在分析相同数量测试失败时识别唯一静默缺陷的能力显著优于两种最先进的编译器缺陷去重技术,平均提升 19.36% 与 51.43%。

问题
编译器测试中许多失败由同一缺陷重复引起,而静默(错误代码)缺陷不像崩溃缺陷那样提供错误信息,导致去重十分困难。
方法
D3 从测试程序、优化和测试执行三个维度刻画静默缺陷,通过因果分析剔除无关细节、提取缺陷因果特征,并基于三维特征计算失败间距离进行排序。
评估
在包含 GCC 与 LLVM 重复缺陷的四个数据集上,与两种最先进的编译器缺陷去重技术对比,分析相同数量测试失败时识别唯一静默缺陷平均提升 19.36% 和 51.43%。
原文摘要(Abstract)

Compiler testing is an important task for assuring the quality of compilers, but investigating test failures is very time-consuming. This is because many test failures are caused by the same compiler bug (known as bug duplication problem). In particular, this problem becomes much more challenging on silent compiler bugs (also called wrong code bugs), since these bugs can provide little information (unlike crash bugs that can produce error messages) for bug de-duplication. In this work, we propose a novel technique (called D3) to solve the duplication problem on silent compiler bugs. Its key insight is to characterize the silent bugs from the testing process and identify three-dimensional information (i.e., test program, optimizations, and test execution) for bug de-duplication. However, there are huge amount of bug-irrelevant details on the three dimensions, D3 then systematically conducts causal analysis to identify bug-causal features from each of the three dimensions for more accurate bug de-duplication. Finally, D3 ranks the test failures that are more likely to be caused by different silent bugs higher by measuring the distance among test failures based on the three-dimensional bug-causal features. Our experimental results on four datasets (including duplicate bugs of both GCC and LLVM) demonstrate the significant superiority of D3 over the two state-of-the-art compiler bug de-duplication techniques, achieving the average improvement of 19.36% and 51.43% in identifying unique silent compiler bugs when analyzing the same number of test failures.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{YangCFJS23,
  title = {Silent Compiler Bug De-duplication via Three-Dimensional Analysis},
  author = {Chen Yang and Junjie Chen and Xingyu Fan and Jiajun Jiang and Jun Sun},
  booktitle = {ISSTA},
  year = {2023},
  doi = {10.1145/3597926.3598087}
}