paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Evaluating SZZ Implementations Through a Developer-Informed Oracle

通过开发者知情基准评估 SZZ 实现
ICSE 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE)2021匹配度 2/10 · 该论文研究的是软件工程中的 SZZ 算法评估与 bug-inducing commit 识别,依赖 NLP 和人工过滤构建 oracle,与用户关注的 PL/AI 交叉、LLM/Agent 改进静态分析、浮点程序分析或贝叶斯程序分析均无直接关联。虽然涉及基准/oracle 构建和方法评估,但任务领域偏离核心研究方向。引用 60 inbox
Giovanni Rosa, Luca Pascarella, Simone Scalabrino, Rosalia Tufano, Gabriele Bavota, Michele Lanza, Rocco Oliveto
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出基于开发者显式引用与人工过滤构建 oracle,并评估多种 SZZ 变体的准确率。

SZZ 算法被广泛用于识别缺陷引入变更,并支撑缺陷预测与缺陷引入的实证研究。然而,现有 SZZ 变体缺乏可靠评测:常用做法是研究者手工分类输出或使用研究者构建的黄金集,但研究者对目标系统了解有限。本文提出构建“开发者知情”oracle 的方法:先用自然语言处理识别那些显式引用引入缺陷提交的 bug 修复提交,再通过人工过滤保证质量与准确性。基于该 oracle,作者评估了多种 SZZ 变体的准确率,并从中提炼出改进 SZZ 的若干经验教训。

问题
SZZ 实现虽被广泛使用,却缺乏由目标系统原始开发者提供、可可靠评判其准确率的 oracle;现有手工评估受限于研究者对系统的了解。
方法
先用 NLP 找出开发者显式引用缺陷引入提交的 bug 修复提交,再人工过滤,构建 developer-informed oracle。
评估
用该 oracle 评估多个 SZZ 变体的准确率,并据此总结改进 SZZ 的经验。
原文摘要(Abstract)

The SZZ algorithm for identifying bug-inducing changes has been widely used to evaluate defect prediction techniques and to empirically investigate when, how, and by whom bugs are introduced. Over the years, researchers have proposed several heuristics to improve the SZZ accuracy, providing various implementations of SZZ. However, fairly evaluating those implementations on a reliable oracle is an open problem: SZZ evaluations usually rely on (i) the manual analysis of the SZZ output to classify the identified bug-inducing commits as true or false positives; or (ii) a golden set linking bug-fixing and bug-inducing commits. In both cases, these manual evaluations are performed by researchers with limited knowledge of the studied subject systems. Ideally, there should be a golden set created by the original developers of the studied systems. We propose a methodology to build a "developer-informed" oracle for the evaluation of SZZ variants. We use Natural Language Processing (NLP) to identify bug-fixing commits in which developers explicitly reference the commit(s) that introduced a fixed bug. This was followed by a manual filtering step aimed at ensuring the quality and accuracy of the oracle. Once built, we used the oracle to evaluate several variants of the SZZ algorithm in terms of their accuracy. Our evaluation helped us to distill a set of lessons learned to further improve the SZZ algorithm.

链接与引用

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

BibTeX
@inproceedings{abs-2102-03300,
  title = {Evaluating SZZ Implementations Through a Developer-Informed Oracle},
  author = {Giovanni Rosa and Luca Pascarella and Simone Scalabrino and Rosalia Tufano and Gabriele Bavota and Michele Lanza and Rocco Oliveto},
  booktitle = {ICSE},
  year = {2021},
  doi = {10.1109/icse43902.2021.00049}
}