paperbot · PL 论文追踪

全部论文 待读 收藏

P2 PreciseBugCollector: Extensible, Executable and Precise Bug-Fix Collection: Solution for Challenge 8: Automating Precise Data Collection for Code Snippets with Bugs, Fixes, Locations, and Types

PreciseBugCollector:可扩展、可执行且精确的缺陷-修复收集:挑战8解决方案:自动化收集代码片段中精确的缺陷、修复、位置和类型数据
ASE 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)2023匹配度 3/10 · 论文构建缺陷-修复数据集,面向深度学习软件维护任务,与用户关注的静态分析、Agentic 程序、浮点/贝叶斯程序分析以及 LLM 与静态分析/形式化验证的交叉等核心方向关联较弱;虽属 PL+ML 交叉且强调可执行与工业适用,但更偏软件工程数据构造,不直接涉及静态分析或 LLM/Agent 改进分析。引用 10 inbox
Ye He, Zimin Chen, Claire Le Goues
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出可扩展的多语言缺陷-修复收集方法,通过缺陷跟踪与定向注入生成可执行、精确的缺陷数据集。

现有缺陷数据集难以兼顾精确与规模:手工验证数据集精确但小,基于提交信息处理的大规模数据集不精确。本文提出 PreciseBugCollector,一种精确、多语言缺陷-修复收集方法。它包含两个组件:缺陷跟踪器将代码库与外部缺陷仓库(NVD、OSS-Fuzz)映射以追踪缺陷类型;缺陷注入器向正确代码库注入噪声,并在测试套件上执行以获取失败信息,从而生成项目特定缺陷。系统基于16条注入规则,已从2968个开源项目收集1,057,818个缺陷,其中12,602个来自缺陷仓库,1,045,216个由注入器生成。作者认为注入方法对工业场景有价值,因项目特定缺陷符合领域知识、共享代码库并遵循工业编码风格。

问题
现有缺陷数据集要么规模小但经过人工验证而精确,要么规模大但因仅处理提交信息而不精确,难以支撑深度学习驱动的软件维护任务。
方法
提出 PreciseBugCollector,通过缺陷跟踪器关联代码库与外部缺陷仓库以获取缺陷类型信息,并用缺陷注入器向正确代码库注入噪声、经测试套件执行获得失败信息来生成项目特定缺陷。
评估
基于 NVD、OSS-Fuzz 和16条注入规则实现,从2968个开源项目收集1,057,818个缺陷,并展示其来源构成与规模。
原文摘要(Abstract)

Bug datasets are vital for enabling deep learning techniques to address software maintenance tasks related to bugs. However, existing bug datasets suffer from precise and scale limitations: they are either small-scale but precise with manual validation or large-scale but imprecise with simple commit message processing. In this paper, we introduce Precise-BugCollector, a precise, multi -language bug collection approach that overcomes these two limitations. PreciseBugCollector is based on two novel components: a) A bug tracker to map the codebase repositories with external bug repositories to trace bug type information, and b) A bug injector to generate project-specific bugs by injecting noise into the correct codebases and then executing them against their test suites to obtain test failure messages. We implement PreciseBugCollector against three sources: 1) A bug tracker that links to the national vulnerability data set (NVD) to collect general-wise vulnerabilities, 2) A bug tracker that links to OSS-Fuzz to collect general-wise bugs, and 3) A bug injector based on 16 injection rules to generate project-wise bugs. To date, PreciseBugCollector comprises 1057818 bugs extracted from 2968 open-source projects. Of these, 12602 bugs are sourced from bug repositories (NVD and OSS-Fuzz), while the remaining 1045216 project-specific bugs are generated by the bug injector. Considering the challenge objectives, we argue that a bug injection approach is highly valuable for the industrial setting, since project-specific bugs align with domain knowledge, share the same codebase, and adhere to the coding style employed in industrial projects.

链接与引用

DOI 原文 · arXiv · DBLP

BibTeX
@inproceedings{YeCG23,
  title = {PreciseBugCollector: Extensible, Executable and Precise Bug-Fix Collection: Solution for Challenge 8: Automating Precise Data Collection for Code Snippets with Bugs, Fixes, Locations, and Types},
  author = {Ye He and Zimin Chen and Claire Le Goues},
  booktitle = {ASE},
  year = {2023},
  doi = {10.1109/ase56229.2023.00163}
}