paperbot · PL 论文追踪

全部论文 待读 收藏

P2 npm-follower: A Complete Dataset Tracking the NPM Ecosystem

npm-follower:追踪 NPM 生态系统的完整数据集
FSE Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2023匹配度 3/10 · 该论文构建NPM生态系统数据集,侧重于依赖管理和安全,与用户关注的静态分析、LLM/Agent、浮点或贝叶斯程序分析无直接关联;虽可提供程序分析所需数据,但属基础设施类工作,非方法或理论创新。引用 6 inbox
Donald Pinckney, Federico Cassano, Arjun Guha, Jonathan Bell
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:构建持续归档 NPM 所有包与版本的元数据和代码的数据集与爬取架构,可保留后续被删除的数据。

现代软件开发依赖庞大的依赖网络,NPM 仓库拥有超过 300 万个包和每周数百亿次下载。理解包、依赖与已发布代码需要便于访问元数据和代码的数据集。然而,已有 NPM 数据集工作通常只抓取元数据,且无法抓取从 NPM 删除的包或版本;2022 年 7 月至 2023 年 5 月间就有超过 33 万个版本被删除,这些数据对安全与恶意软件研究至关重要。本文提出 npm-follower:一个数据集与爬取架构,在包和版本发布时归档其元数据与代码,因此能够保留之后被删除的数据。该数据集目前包含超过 3500 万个包版本,每月约新增 100 万个版本,并便于研究者开展元数据或程序分析相关研究。代码与数据集见 https://dependencies.science。

问题
NPM 生态缺少同时包含元数据与代码、且能保留已删除包与版本的数据集;现有工作只抓取元数据,无法覆盖删除版本,影响安全与恶意软件等研究。
方法
提出 npm-follower,持续爬取并归档 NPM 上发布的所有包和版本的元数据与代码,即使后续被删除也能保留,并提供便于研究使用的数据集。
评估
报告数据集当前包含超过 3500 万个包版本,每月约增长 100 万版本,并通过开放代码与数据集支持元数据和程序分析研究。
原文摘要(Abstract)

Software developers typically rely upon a large network of dependencies to build their applications. For instance, the NPM package repository contains over 3 million packages and serves tens of billions of downloads weekly. Understanding the structure and nature of packages, dependencies, and published code requires datasets that provide researchers with easy access to metadata and code of packages. However, prior work on NPM dataset construction typically has two limitations: 1) only metadata is scraped, and 2) packages or versions that are deleted from NPM can not be scraped. Over 330,000 versions of packages were deleted from NPM between July 2022 and May 2023. This data is critical for researchers as it often pertains to important questions of security and malware. We present npm-follower, a dataset and crawling architecture which archives metadata and code of all packages and versions as they are published, and is thus able to retain data which is later deleted. The dataset currently includes over 35 million versions of packages, and grows at a rate of about 1 million versions per month. The dataset is designed to be easily used by researchers answering questions involving either metadata or program analysis. Both the code and dataset are available at: https://dependencies.science

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{PinckneyCG023,
  title = {npm-follower: A Complete Dataset Tracking the NPM Ecosystem},
  author = {Donald Pinckney and Federico Cassano and Arjun Guha and Jonathan Bell},
  booktitle = {FSE},
  year = {2023},
  doi = {10.1145/3611643.3613094}
}