中文

依赖困境:Maven Central 生态系统中独立构件与依赖构件的比较研究

软件工程 2025-04-17 v1

摘要

Maven Central 生态系统构成了 Java 依赖管理的骨干,托管着在采用率、安全性和生态系统角色上差异显著的构件。构件复用是软件开发的基础,像 Maven Central 这样的生态系统促进了这一过程。然而,先前的研究主要分析了具有大量依赖的热门构件,而那些没有入边依赖的构件(独立构件)尚未被探索。在本研究中,我们分析了 658,078 个构件,其中 635,003 个至少有一个发布版本。在这些构件中,93,101 个构件(15.4%)被识别为独立构件(入度 = 0),其余被归类为依赖构件。我们使用 PageRank 和出度中心性考察了独立构件的影响力,发现它们对生态系统非常重要。基于 18 个不同指标的进一步分析揭示了独立构件相对于依赖构件的若干优势与可比性:可比的流行度(25.58 vs. 7.30)、更少的漏洞(60 CVEs vs. 179 CVEs)以及零传播漏洞。基于这些结果,独立构件似乎在生态系统中发挥了重要作用,并为开发者提供了传统依赖的安全、自包含的替代方案。这些发现表明,独立构件可能是依赖的有益选择,但存在一些可维护性问题。因此,开发者应谨慎地将独立构件纳入其项目,构件维护者应优先关注这组构件,以降低传递性漏洞传播的风险并提高软件的可持续性。

关键词

引用

@article{arxiv.2504.12261,
  title  = {Dependency Dilemmas: A Comparative Study of Independent and Dependent Artifacts in Maven Central Ecosystem},
  author = {Mehedi Hasan Shanto and Muhammad Asaduzzaman and Manishankar Mondal and Shaiful Chowdhury},
  journal= {arXiv preprint arXiv:2504.12261},
  year   = {2025}
}

备注

5 pages, 22nd International Conference on Mining Software Repositories (MSR) 2025