Article (Scientific journals)
An empirical comparison of dependency network evolution in seven software packaging ecosystems
Decan, Alexandre; Mens, Tom; Grosjean, Philippe
2019In Empirical Software Engineering, 24 (1), p. 381-416
Peer Reviewed verified by ORBi
 

Files


Full Text
EMSE-2018.pdf
Publisher postprint (2.78 MB)
Request a copy

All documents in ORBi UMONS are protected by a user license.

Send to



Details



Keywords :
[en] open source software; [en] software ecosystem; [en] dependency management; [en] empirical software engineering
Abstract :
[en] Nearly every popular programming language comes with one or more package managers. The software packages distributed by such package managers form large software ecosystems. These packaging ecosystems contain a large number of package releases that are updated regularly and that have many dependencies to other package releases. While packaging ecosystems are extremely useful for their respective communities of developers, they face challenges related to their scale, complexity, and rate of evolution. Typical problems are backward incompatible package updates, and the risk of (transitively) depending on packages that have become obsolete or inactive. This manuscript uses the libraries.io dataset to carry out a quantitative empirical analysis of the similarities and differences between the evolution of package dependency networks for seven packaging ecosystems of varying sizes and ages: Cargo for Rust, CPAN for Perl, CRAN for R, npm for JavaScript, NuGet for the .NET platform, Packagist for PHP, and RubyGems for Ruby. We propose novel metrics to capture the growth, changeability, reusability and fragility of these dependency networks, and use these metrics to analyze and compare their evolution. We observe that the dependency networks tend to grow over time, both in size and in number of package updates, while a minority of packages are responsible for most of the package updates. The majority of packages depend on other packages, but only a small proportion of packages accounts for most of the reverse dependencies. We observe a high proportion of 'fragile' packages due to a high and increasing number of transitive dependencies. These findings are instrumental for assessing the quality of a package dependency network, and improving it through dependency management tools and imposed policies.
Disciplines :
Electrical & electronics engineering
Author, co-author :
Decan, Alexandre  ;  Université de Mons > Faculté des Sciences > Service des Systèmes d'information ; Université de Mons > Faculté des Sciences > Service de Génie Logiciel
Mens, Tom  ;  Université de Mons > Faculté des Sciences > Service de Génie Logiciel
Grosjean, Philippe  ;  Université de Mons > Faculté des Sciences > Service d'Ecologie numérique
Language :
English
Title :
An empirical comparison of dependency network evolution in seven software packaging ecosystems
Publication date :
01 February 2019
Journal title :
Empirical Software Engineering
ISSN :
1382-3256
Publisher :
Kluwer Academic Publishers, Netherlands
Volume :
24
Issue :
1
Pages :
381-416
Peer reviewed :
Peer Reviewed verified by ORBi
Research unit :
S807 - Ecologie numérique
S852 - Génie Logiciel
Research institute :
R150 - Institut de Recherche sur les Systèmes Complexes
Name of the research project :
Ecological Studies of_x000D_Open Source Software Ecosystems - Fédération Wallonie Bruxelles
Available on ORBi UMONS :
since 13 December 2018

Statistics


Number of views
6 (0 by UMONS)
Number of downloads
0 (0 by UMONS)

Scopus citations®
 
145
Scopus citations®
without self-citations
128
OpenCitations
 
59

Bibliography


Similar publications



Contact ORBi UMONS