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

04/09/2022
by   Suhaib Mujahid, et al.
0

With the popularity of software ecosystems, the number of open source components (known as packages) has grown rapidly. Identifying high-quality and well-maintained packages from a large pool of packages to depend on is a basic and important problem, as it is beneficial for various applications, such as package recommendation and package search. However, no systematic and comprehensive work focuses on addressing this problem except in online discussions or informal literature and interviews. To fill this gap, in this paper, we conducted a mixed qualitative and quantitative analysis to understand how developers identify and select relevant open source packages. In particular, we started by surveying 118 JavaScript developers from the npm ecosystem to qualitatively understand the factors that make a package to be highly-selected within the npm ecosystem. The survey results showed that JavaScript developers believe that highly-selected packages are well-documented, receive a high number of stars on GitHub, have a large number of downloads, and do not suffer from vulnerabilities. Then, we conducted an experiment to quantitatively validate the developers' perception of the factors that make a highly-selected package. In this analysis, we collected and mined historical data from 2,527 packages divided into highly-selected and not highly-selected packages. For each package in the dataset, we collected quantitative data to present the factors studied in the developers' survey. Next, we used regression analysis to quantitatively investigate which of the studied factors are the most important. Our regression analysis complements our survey results about highly-selected packages. In particular, the results showed that highly-selected packages tend to be correlated by the number of downloads, stars, and how large the package's readme file is.

READ FULL TEXT

page 1

page 4

page 6

page 9

page 11

page 12

page 16

page 17

research
07/15/2020

A complex network analysis of the Comprehensive R Archive Network (CRAN) package ecosystem

Free and open source software package ecosystems have existed for a long...
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
10/19/2020

Modelling Complex Survey Data Using R, SAS, SPSS and Stata: A Comparison Using CLSA Datasets

The R software has become popular among researchers due to its flexibili...
research
04/06/2017

A Comparison of Parallel Graph Processing Implementations

The rapidly growing number of large network analysis problems has led to...
research
04/07/2020

A first look at an emerging model of community organizations for the long-term maintenance of ecosystems' packages

One of the biggest strength of many modern programming languages is thei...
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
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...

Please sign up or login with your details

Forgot password? Click here to reset