The R package ecosystem is expanding fast and dependencies among packages in the ecosystem are becoming more complex. In this study, we explored the package dependencies from a new aspect. We applied a new metric named "dependency heaviness" which measures the number of additional strong dependencies that a package uniquely contributes to its child or downstream packages. It also measures the total reduced dependencies in the ecosystem when the role of a package is changed from a strong parent to a weak parent. We systematically studied how the dependency heaviness spreads from parent to child packages, and how it further spreads to remote downstream packages in the CRAN/Bioconductor ecosystem. We extracted top packages and key paths that majorly transmit heavy dependencies in the ecosystem. Additionally, the dependency heaviness analysis on the ecosystem has been implemented as a web-based database that provides comprehensive tools for querying dependencies of individual R packages.
翻译:R包件生态系统正在迅速扩大,生态系统各包件之间的依赖性正在变得越来越复杂。在本研究中,我们从一个新的方面探索了包件依赖性。我们应用了名为“依赖性重度”的新指标,用以衡量一个包件对其子包件或下游包件的独特贡献的额外强度依赖性的数量。它还测量了当一个包件的作用从一个强的母体转变为一个弱的母体时生态系统中的全部减少的依赖性。我们系统地研究了依赖性重度如何从母体扩散到儿童包件,以及如何进一步扩散到CRAN/BioAgenctor生态系统中偏远的下游包件。我们提取了在生态系统中主要传递高度依赖性的顶级包件和关键路径。此外,对生态系统的依赖性分析已经作为一个网络数据库进行,为询问单个R包件的依赖性提供了全面工具。