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

08/16/2023
by   Suhaib Mujahid, et al.
0

Software ecosystems (e.g., npm, PyPI) are the backbone of modern software developments. Developers add new packages to ecosystems every day to solve new problems or provide alternative solutions, causing obsolete packages to decline in their importance to the community. Packages in decline are reused less overtime and may become less frequently maintained. Thus, developers usually migrate their dependencies to better alternatives. Replacing packages in decline with better alternatives requires time and effort by developers to identify packages that need to be replaced, find the alternatives, asset migration benefits, and finally, perform the migration. This paper proposes an approach that automatically identifies packages that need to be replaced and finds their alternatives supported with real-world examples of open source projects performing the suggested migrations. At its core, our approach relies on the dependency migration patterns performed in the ecosystem to suggest migrations to other developers. We evaluated our approach on the npm ecosystem and found that 96 accurate. Furthermore, by surveying expert JavaScript developers, 67 indicate that they will use our suggested alternative packages in their future projects.

READ FULL TEXT

page 1

page 8

page 9

research
07/21/2021

Towards Using Package Centrality Trend to Identify Packages in Decline

Due to its increasing complexity, today's software systems are frequentl...
research
02/23/2018

An Empirical Study on README contents for JavaScript Packages

Contemporary software projects often utilize a README.md to share crucia...
research
07/15/2019

Patterns of Effort Contribution and Demand and User Classification based on Participation Patterns in NPM Ecosystem

Background: Open source requires participation of volunteer and commerci...
research
12/12/2018

Breaking the borders: an investigation of cross-ecosystem software packages

Software ecosystems are collections of projects that are developed and e...
research
01/21/2021

Joint Autoregressive and Graph Models for Software and Developer Social Networks

Social network research has focused on hyperlink graphs, bibliographic c...
research
08/17/2021

A grounded theory of Community Package Maintenance Organizations-Registered Report

a) Context: In many programming language ecosystems, developers rely mor...
research
03/10/2021

Session-based Social and Dependency-aware Software Recommendation

With the increase of complexity of modern software, social collaborative...

Please sign up or login with your details

Forgot password? Click here to reset