Towards Using Package Centrality Trend to Identify Packages in Decline

07/21/2021
by   Suhaib Mujahid, et al.
0

Due to its increasing complexity, today's software systems are frequently built by leveraging reusable code in the form of libraries and packages. Software ecosystems (e.g., npm) are the primary enablers of this code reuse, providing developers with a platform to share their own and use others' code. These ecosystems evolve rapidly: developers add new packages every day to solve new problems or provide alternative solutions, causing obsolete packages to decline in their importance to the community. Developers should avoid depending on packages in decline, as these packages are reused less over time and may become less frequently maintained. However, current popularity metrics (e.g., Stars, and Downloads) are not fit to provide this information to developers because their semantics do not aptly capture shifts in the community interest. In this paper, we propose a scalable approach that uses the package's centrality in the ecosystem to identify packages in decline. We evaluate our approach with the npm ecosystem and show that the trends of centrality over time can correctly distinguish packages in decline with a ROC-AUC of 0.9. The approach can capture 87 before the trend is shown in currently used package popularity metrics. We implement this approach in a tool that can be used to augment npms metrics and help developers avoid packages in decline when reusing packages from npm.

READ FULL TEXT
research
08/16/2023

Where to Go Now? Finding Alternatives for Declining Packages in the npm Ecosystem

Software ecosystems (e.g., npm, PyPI) are the backbone of modern softwar...
research
01/14/2019

On the Diversity of Software Package Popularity Metrics: An Empirical Study of npm

Software systems often leverage on open source software libraries to reu...
research
01/17/2019

Navigating through the R packages for movement

The advent of miniaturized biologging devices has provided ecologists wi...
research
04/09/2022

What are the characteristics of highly-selected packages? A case study on the npm ecosystem

With the popularity of software ecosystems, the number of open source co...
research
08/08/2017

An Empirical Comparison of Developer Retention in the RubyGems and npm Software Ecosystems

Software ecosystems can be viewed as socio-technical networks consisting...
research
03/06/2020

SpellBound: Defending Against Package Typosquatting

Package managers for software repositories based on a single programming...
research
02/23/2018

An Empirical Study on README contents for JavaScript Packages

Contemporary software projects often utilize a README.md to share crucia...

Please sign up or login with your details

Forgot password? Click here to reset