npm-follower:追踪 NPM 生态的完整数据集
软件工程
2023-08-25 v1
摘要
软件开发者通常依赖庞大的依赖网络来构建其应用。例如,NPM 包仓库包含超过 300 万个包,每周服务数百亿次下载。理解包、依赖与已发布代码的结构与性质,需要为研究者提供易于访问包元数据与代码的数据集。然而,先前关于 NPM 数据集构建的工作通常有两个局限:1) 仅抓取元数据;2) 从 NPM 删除的包或版本无法被抓取。2022 年 7 月至 2023 年 5 月间,超过 33 万个包版本从 NPM 删除。该数据对研究者至关重要,因其常涉及安全与恶意软件的重要问题。我们提出 npm-follower,一个在包与版本发布时归档其元数据与代码的数据集与抓取架构,因而能够保留后续被删除的数据。该数据集当前包含超过 3500 万个包版本,并以约每月 100 万版本的速度增长。数据集设计便于研究者轻松用于涉及元数据或程序分析的问题。代码与数据集均可在 https://dependencies.science 获取。
引用
@article{arxiv.2308.12545,
title = {npm-follower: A Complete Dataset Tracking the NPM Ecosystem},
author = {Donald Pinckney and Federico Cassano and Arjun Guha and Jonathan Bell},
journal= {arXiv preprint arXiv:2308.12545},
year = {2023}
}