On the Dependency Heaviness of CRAN/Bioconductor Ecosystem

Zuguang Gu
DOI: https://doi.org/10.1016/j.jss.2023.111610
2023-01-06
Abstract: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.
Software Engineering
What problem does this paper attempt to address?