分析 PyPI 与 NPM 库的 GitHub 仓库可访问性
软件工程
2025-04-24 v2
摘要
工业应用严重依赖开源软件(OSS)库,它们提供了各种益处。但是,如果出现漏洞或攻击,且社区因不活跃而未能及时解决问题并发布修复程序,它们也可能带来巨大风险。为了能够监控此类社区的活动,必须能够访问一个生态系统中各库的仓库完整列表。基于这些仓库,可以监控应用程序集成的库,以观察它们是否得到了充分维护。在这项描述性研究中,我们分析了 PyPI 和 NPM 库的 GitHub 仓库的可访问性。对于所有可用的库,我们提取分配的仓库 URL、直接依赖项,并使用 PageRank 算法从库和依赖链的角度全面分析这些生态系统。对于无效的仓库 URL,我们推导了潜在原因。两个生态系统对 GitHub 仓库 URL 表现出不同的可访问性,这取决于所分析库的 PageRank 得分。对于单个库,高达 73.8% 的 PyPI 库和高达 69.4% 的 NPM 库具有仓库 URL。在依赖链中,高达 80.1% 的 PyPI 库具有 URL,而 NPM 库高达 81.1%。这意味着,大多数库,尤其是重要性日益增加的库,可以在 GitHub 上进行监控。无效仓库 URL 最常见的原因之一是根本没有分配 URL,这在 PyPI 中高达 17.9%,在 NPM 中高达 39.6%。包维护者应解决此问题并更新仓库信息,以实现对其库的监控。
引用
@article{arxiv.2404.17403,
title = {Analyzing the Accessibility of GitHub Repositories for PyPI and NPM Libraries},
author = {Alexandros Tsakpinis and Alexander Pretschner},
journal= {arXiv preprint arXiv:2404.17403},
year = {2025}
}
备注
6 pages, 3 figures, accepted at 28th edition of International Conference on Evaluation and Assessment in Software Engineering (EASE 2024)