← 最新论文
💻 computer science

GitBugs: Bug Reports for Duplicate Detection, Retrieval Augmented Generation, Triage, and More

本文介绍了 GitBugs,这是一个包含来自九个主要开源项目的超过 150,000 份错误报告的综合且最新的数据库,旨在支持多样化的软件工程研究任务,例如重复检测、检索增强生成和自动分类。

原作者: Avinash Patil, Siru Tao, Aryan Jadon

发布于 2026-04-30
📖 1 分钟阅读☕ 轻松阅读

原作者: Avinash Patil, Siru Tao, Aryan Jadon

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一座巨大的图书馆,其中每一本书都是关于损坏的玩具、有故障的视频游戏或无法启动的软件的“投诉”。在计算机编程领域,这些投诉被称为缺陷报告(bug reports)。长期以来,试图解决这些问题的研究人员不得不走访不同且杂乱的图书馆来寻找这些投诉。有些图书馆陈旧,有些则很小,而且它们都用不同的语言来描述相同的问题。

GitBugs应运而生。将 GitBugs 想象成一座超级有序、全新打造的图书馆,作者从九个非常流行的软件项目(如 Firefox、VS Code 和 Cassandra)中收集了超过150,000本这样的“投诉书”并将其汇聚于此。他们并没有只是把这些书随意堆放在书架上;相反,他们清理了这些书,给它们贴上了标签,并进行了整理,以便计算机能够轻松读取并从中学习。

以下是这篇论文实际所做内容的简明解释:

1. “重复侦探”问题

想象你致电客服说:“我的打印机无法开机。”五分钟后,你的邻居也打电话说:“我的打印机无法开机。”人类可能会意识到这是同一个问题,但计算机可能会认为它们完全不同。

  • GitBugs 的作用:它提供了一份特殊清单,作者已在其中标记了哪些投诉实际上是同一个问题(重复项)。这有助于研究人员教导计算机成为更出色的侦探,识别出两个听起来不同的投诉实际上都是关于同一台损坏的打印机。

2. 缺陷的“分院帽”

当新的投诉到来时,需要有人决定:这是否紧急?应该由谁来修复?这是轻微的不便还是灾难?

  • GitBugs 的作用:它为研究人员提供了一大堆已知答案的过往投诉(例如:“这个在 2 天内修复了”、“这个被标记为‘高优先级’")。研究人员可以利用这些数据训练计算机扮演“分院帽”的角色,自动猜测新缺陷的严重程度以及应由谁处理。

3. 用于预测的“时间机器”

该论文考察了过去修复缺陷所花费的时间。

  • GitBugs 的作用:它让研究人员能够尝试预测修复一个缺陷需要多长时间。然而,论文承认这很棘手。在他们的测试中,计算机在猜测投诉数量方面表现相当不错,但在预测修复具体何时会发生方面却遇到了困难,往往预测得过早。这就像试图预测交通拥堵何时会消散一样;有时很容易,但通常充满混乱。

4. “智能助手”(RAG)

这是该论文最现代的功能。想象你是一名陷入困境的开发人员。你问一位智能助手:“为什么我的登录按钮无法工作?”

  • GitBugs 的作用:助手不再只是猜测,而是查阅 GitBugs 图书馆中 150,000 份过往投诉,寻找相似的故事。然后它说:“嘿,2023 年有人遇到过完全相同的问题,这是他们采取的修复方法。”论文展示了一个演示,其中系统利用这些过往故事来帮助解释为什么会出现缺陷,使计算机听起来更像是一位乐于助人的同事,而不是一个随机猜测者。

5. “趋势发现者”

作者还利用数据观察了随时间变化的模式。

  • GitBugs 的作用:他们发现,某些软件项目在特定月份(例如重大更新之后)会收到大量投诉,而其他项目则保持稳定。他们还发现,某些类型的缺陷(如安全问题)会呈波浪式出现。这有助于团队了解其软件随时间变化的“情绪”。

核心结论

这篇论文并非声称 GitBugs 已经解决了所有软件问题。相反,它表示:"我们构建了一个庞大、整洁且标注清晰的真实世界软件投诉工具箱。现在,研究人员和开发人员可以利用这个工具箱,构建更好的工具来发现、分类和修复缺陷。"

这就像给厨师提供了一个巨大、预先切好且预先称量好的食材储藏室,让他们终于能够开始烹饪自动化软件修复的新食谱,而不是把所有时间都花在仅仅寻找食材上。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →