← 最新论文
💻 computer science

GitReq: A Gold Standard Dataset for Software Quality Requirements

本文介绍了 GitReq,这是一个包含 6,302 个经过专家验证的 GitHub issue 的公开数据集,这些 issue 被归类为八个符合 ISO/IEC 25010:2011 标准的软件质量需求,可作为推进自动化需求分类和软件质量分析的金标准。

原作者: Farha Kamal, Md Humaun Kabir, Md Rakibul Islam

发布于 2026-06-23
📖 1 分钟阅读☕ 轻松阅读

原作者: Farha Kamal, Md Humaun Kabir, Md Rakibul Islam

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

想象一下,你正走进一座巨大的、混乱的图书馆,成千上万的人在书架上留下了便利贴。这些笔记不仅仅是随意的抱怨;它们是全球软件开发者在低声(或大声)诉说他们的作品应该如何运作得更好。有人说:“这个应用太慢了!”(性能)。有人说:“我们需要给门加一把更好的锁!”(安全性)。还有人说:“它也应该能在我的旧手机上运行!”(可移植性)。

问题在于,这些笔记一团糟。它们混杂在一起,使用了大量的俚语,并且被埋没在数百万条关于 Bug、问题或功能请求的其他笔记之下。直到现在,还没有人将这些特定的“质量”笔记整理成一个整洁、带有标签的集合供研究人员研究。

由此诞生了 GitReq:伟大的图书管理员。

本文作者构建了 GitReq,一个“金标准”数据集。你可以把它想象成一个精心组织的档案库,其中包含了从 GitHub 上 4,000 多个不同软件项目中提取的 6,302 条这类开发者笔记。

以下是他们完成这项工作的步骤,通过简单的步骤进行了拆解:

1. 寻宝行动 (挖掘)

团队并非随机抓取笔记。他们使用了一种“三信号”策略来寻找正确的笔记。想象一下在池塘里寻找特定类型的鱼:

  • 信号 1: 他们寻找正确的“旗标”(开发者已经为笔记贴上的标签,例如“安全性”)。
  • 信号 2: 他们检查该笔记是否真的是对新功能的请求(例如“功能请求”或“增强”之类的标签),忽略掉那些仅仅是 Bug 报告或问题的笔记。
  • 信号 3: 他们扫描文本中的特定关键词(例如“慢”、“黑客攻击”或“崩溃”)。

他们最初拥有 55,588 条潜在笔记。那是一大堆纸张!

2. 分拣机 (预处理)

在人类阅读之前,团队构建了两个不同的“分拣机”,因为这些笔记有两种截然不同的风格:

  • “NFR”机器(非功能性需求): 这些是关于系统如何表现的笔记(速度、安全、可靠性)。这些笔记通常很短、很乱且充满俚语(例如:“当 100 人登录时服务器崩溃”)。这台机器会清理噪声,但保留了这种真实的、凌乱的语言。
  • “FR”机器(功能性需求): 这些是关于系统应该做什么的笔记(例如:“系统必须允许用户保存文件”)。这些需要非常明确。这台机器非常严格:如果一条笔记听起来不像是一个正式的规则(未使用“必须”、“应当”或“用户故事”等词汇),它就会被剔除。这确保了他们不会意外包含模糊的功能想法。

3. 专家小组 (人工标注)

在机器处理完之后,他们仍剩下约 8,500 条笔记。这时,人类的魔力发生了作用。

  • 评委: 七位软件工程领域的专家坐下来阅读这些笔记。
  • 培训: 他们花费数小时学习规则,使用了一份名为 ISO/IEC 25010 的标准指南。你可以把它看作一本定义了究竟什么是“安全性”与“可扩展性”的规则手册。
  • 裁决: 他们将每条笔记归入八个类别之一:性能 (Performance)、安全性 (Security)、可移植性 (Portability)、可用性 (Availability)、容错性 (Fault-tolerance)、可扩展性 (Scalability)、可维护性 (Maintainability) 以及 功能性 (Functional)
  • 一致性: 他们并不只是凭直觉猜测。他们互相核对工作。当出现分歧时,他们会进行讨论直到达成一致。最终得到了极高的一致性水平(得分 0.72),这意味着这些标签是值得信赖的。

4. 最终收藏

从最初的 55,000 多条候选笔记中,他们最终得到了 6,302 条高质量、经专家验证的笔记。

  • 构成: 大约一半是关于安全性和性能的(最常见的担忧)。
  • 多样性: 它们涵盖了从 Web 框架到移动应用以及云系统的各种领域。
  • 证明: 他们甚至用这个新数据集测试了四种强大的 AI 模型(如 GPT-5.2)。AI 模型表现得有些吃力,尤其是在处理像“可维护性”这样棘手的类别时,这证明了这个数据集是未来 AI 工具的一个严苛且真实的测试。

为什么这很重要?

在此之前,试图教计算机理解软件质量的研究人员不得不使用微小的、陈旧的数据集,或者使用看起来不像真实生活的正式文档。这就像是试图通过阅读一本 1990 年编写的教科书来学习如何开车。

GitReq 就像是给了研究人员一个全新的、现实世界的驾驶模拟器。它允许他们构建更好的 AI 工具,使这些工具能够真正理解开发者每天进行的那些杂乱、真实的对话,从而帮助更快、更准确地发现质量问题。

简而言之: 这篇论文不仅是在大海捞针,他们还建立了一个全新的针类图书馆,按类型对它们进行了分类,并给了世界一张寻找它们的地图。

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

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

试用 Digest →