中文

软件包流行度度量指标的多样性:对 npm 的实证研究

软件工程 2019-02-27 v1

摘要

软件系统经常利用开源软件库来复用功能。此类库可通过 npm 等软件包管理器(用于 JavaScript)便捷获取。由于此类包分发中存在大量包,开发人员常依据流行度决定依赖或贡献某个软件包。此外,研究人员依赖流行度度量进行数据采样并为研究选择合适候选者已是常见做法。然而,流行度的含义是相对的,可以用多种不同的方式定义和度量,即使在同一研究中考虑也可能产生不同结果。在本文中,我们展示了软件工程研究中流行度含义差异的证据。此外,我们实证分析了不同软件流行度度量之间的关系。作为一个案例研究,对于一个由17.5万个 npm 包组成的大型数据集,我们从三个开源追踪系统 libraries.io、npmjs.com 和 GitHub 计算并提取了9种不同的流行度度量。我们发现流行度确实可以用不同的不相关度量来度量,每种度量都可在特定上下文中定义。这表明需要一个通用框架,该框架将使用源自不同概念的流行度度量组合。

关键词

引用

@article{arxiv.1901.04217,
  title  = {On the Diversity of Software Package Popularity Metrics: An Empirical Study of npm},
  author = {Ahmed Zerouali and Tom Mens and Gregorio Robles and Jesus M. Gonzalez-Barahona},
  journal= {arXiv preprint arXiv:1901.04217},
  year   = {2019}
}

备注

ERA Track paper at 26th IEEE International Conference on Software Evolution, Analysis and Reengineering (SANER 2019, Hangzhou, China)