[Paper] OpenDORS:一个公开引用的开放研究软件数据集

发布: (2025年12月1日 GMT+8 19:45)
7 min read
原文: arXiv

Source: arXiv - 2512.01570v1

概览

本文介绍了 OpenDORS,一个大规模、公开策划的数据集,将超过 134 k 研究软件项目与引用它们的学术文章关联起来。通过在规模上聚合仓库元数据(许可证、语言、版本信息),作者为社区提供了一个用于定量研究软件工程(RSE)实践的具体基础。

主要贡献

  • 大规模、开放的数据集,包含 134 352 个唯一的研究软件项目以及在开放获取论文中引用的 134 154 个源代码仓库。
  • 丰富的每仓库元数据(最新发布、许可证、主要编程语言,以及 READMECITATION.cffCODE_OF_CONDUCT 等描述性文件的存在情况)。
  • 论文与软件的关联,实现了从研究主张到所使用的精确代码版本的可追溯性。
  • 数据集的统计概览(例如语言分布、许可证流行度),为未来的 RSE 分析提供基准。
  • 在宽松许可证下的开源发布,鼓励复用、扩展和社区贡献。

方法论

  1. 文献收集 – 作者从主要仓库(如 arXiv、PubMed Central)中挖掘开放获取文章,提取指向代码托管平台(GitHub、GitLab、Bitbucket 等)的 URL。
  2. 去重与标准化 – 将出现在多篇论文中的相同仓库 URL 合并,得到 唯一 软件项目集合。
  3. 元数据提取 – 对每个仓库,通过托管平台的 API 检查最新提交,收集:
    • 当前版本标签或发布名称
    • 符合 SPDX 的许可证标识符
    • 主要编程语言(平台报告的)
    • 常见元数据文件的存在情况(READMECITATION.cffLICENSECONTRIBUTING.md)。
  4. 数据集组装 – 每条记录存储引用论文的 DOI、仓库 URL 以及提取的元数据。完整集合以 CSV/JSON 文件形式发布,并附带一个小型 Python 库以便轻松查询。

该流水线全自动化,便于在新论文出现时刷新数据集。

结果与发现

  • 覆盖范围 – 134 352 个不同的软件项目链接到 134 154 个仓库,表明大多数论文引用单一仓库,但也有少数引用多个。
  • 许可证 – 超过 60 % 的仓库使用宽松许可证(MIT、BSD、Apache 2.0),约 15 % 使用 GPL 系列许可证;其余则缺乏明确的许可证声明。
  • 语言格局 – Python 占主导(≈ 45 % 的项目),其后是 R、Java 和 C/C++,这反映了数据科学和统计计算在研究中的普遍性。
  • 元数据采纳 – 仅约 30 % 的仓库包含 CITATION.cff 文件,说明对软件的正式引用指导仍然稀缺。
  • 版本管理 – 大约一半的项目拥有明确的发布标签,剩余项目依赖默认的 master/main 分支,这可能阻碍可重复性。

这些描述性统计已经揭示了若干缺口(如缺失许可证、引用文件稀少),为 RSE 学者的后续研究提供了目标。

实际意义

  • 可重复性审计 – 开发者可以将自己的项目与数据集进行交叉检查,看看是否符合社区规范(许可证、引用文件、版本化发布)。
  • RSE 工具 – 这些元数据可用于构建仪表盘,在引用的仓库缺少许可证或适当的引用元数据时发出警示,促使快速整改。
  • 政策与资助 – 资助机构可利用该数据集对开放科学要求(如强制许可证、软件引用)进行基准评估。
  • 搜索与发现 – Zenodo、Figshare 等平台可集成 OpenDORS,展示被引用最多的研究软件,帮助开发者找到可靠的代码库进行二次开发。
  • 机器学习分析 – 结构化数据支持大规模建模软件演化、语言采纳趋势或许可证选择对引用次数的影响等研究。

简而言之,OpenDORS 将零散的“软件提及”转化为可搜索的知识图谱,供开发者、仓库维护者和研究管理者使用。

局限性与未来工作

  • 开放获取偏差 – 数据集仅包含自由获取的论文;付费墙后面的文章中引用的软件未被收录,可能导致学科覆盖的偏斜。
  • 仓库范围 – 只捕获了主要托管服务上公开可达的 URL;自托管或机构仓库可能缺失。
  • 静态快照 – 虽然流水线可重新运行,但已发布的版本是一个快照;若要实现真正实时的分析,需要持续集成。
  • 元数据深度 – 当前提取止于高层字段,代码质量的更深层指标(测试覆盖率、CI 状态)留待后续扩展。

作者计划扩大来源覆盖范围,加入动态质量指标,并提供实时 API,使社区能够保持数据集的最新性和可操作性。

作者

  • Stephan Druskat
  • Lars Grunske

论文信息

  • arXiv ID: 2512.01570v1
  • 分类: cs.SE, cs.DL
  • 出版时间: 2025 年 12 月 1 日
  • PDF: Download PDF
Back to Blog

相关文章

阅读更多 »

[Paper] Kubernetes 配置缺陷

Kubernetes 是一种帮助快速部署软件的工具。不幸的是,配置 Kubernetes 容易出错。配置缺陷并不少见。