中文

面向 MSR 研究的 GitHub 项目采样

软件工程 2021-03-09 v1

摘要

几乎每一项挖掘软件仓库(MSR)研究都需要首先将目标软件仓库作为第一步筛选出来。这些仓库通常根据研究目标所确定的特定筛选标准,从 GitHub 等托管服务中收集。例如,一项与许可证相关的研究可能希望筛选明确声明了许可证的项目。一旦定义了筛选标准,就可以使用 GitHub API 等工具来“查询”托管服务。然而,研究人员不得不应对这些 API 施加的使用限制以及所需信息的缺失。例如,GitHub 搜索 API 每分钟允许 30 次请求,并且在搜索仓库时仅提供有限的信息(例如,不包含仓库中的提交次数)。为了支持研究人员从 GitHub 中采样项目,我们提出了 GHS(GitHub Search),这是一个包含用 10 种编程语言编写的 735,669 个仓库的 25 项特征(例如,提交次数、许可证等)的数据集。该特征集合是通过查找 MSR 研究中频繁使用的项目筛选标准而得出的,并且该数据集持续更新以(i)始终提供关于现有项目的最新数据,以及(ii)增加被索引项目的数量。GHS 数据集可通过我们构建的 Web 应用程序进行查询,该应用程序允许设置研究所需的多种筛选标准组合并下载匹配仓库的信息:https://seart-ghs.si.usi.ch。

关键词

引用

@article{arxiv.2103.04682,
  title  = {Sampling Projects in GitHub for MSR Studies},
  author = {Ozren Dabic and Emad Aghajani and Gabriele Bavota},
  journal= {arXiv preprint arXiv:2103.04682},
  year   = {2021}
}

备注

Accepted to the 18th International Conference on Mining Software Repositories (MSR 2021)