On the evolution of technical lag in the npm package dependency network

06/05/2018
by   Alexandre Decan, et al.
0

Software packages developed and distributed through package managers extensively depend on other packages. These dependencies are regularly updated, for example to add new features, resolve bugs or fix security issues. In order to take full advantage of the benefits of this type of reuse, developers should keep their dependencies up to date by relying on the latest releases. In practice, however, this is not always possible, and packages lag behind with respect to the latest version of their dependencies. This phenomenon is described as technical lag in the literature. In this paper, we perform an empirical study of technical lag in the dependency network by investigating its evolution for over 1.4M releases of 120K packages and 8M dependencies between these releases. We explore how and why technical lag increases over time, taking into account the release type (major, minor or patch) and the use of package dependency constraints. We also discuss how technical lag can be reduced by relying on the semantic versioning policy.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/13/2017

An Empirical Comparison of Dependency Network Evolution in Seven Software Packaging Ecosystems

Nearly every popular programming language comes with one or more package...
research
04/24/2018

Learning Software Constraints via Installation Attempts

Modern software systems are expected to be secure and contain all the la...
research
04/12/2022

A Machine Learning Approach to Determine the Semantic Versioning Type of npm Packages Releases

Semantic versioning policy is widely used to indicate the level of chang...
research
08/28/2023

Accelerating package expansion in Rust through development of a semantic versioning tool

In many programming languages there exist countless nuances, making deve...
research
07/10/2023

Analyzing the Evolution of Inter-package Dependencies in Operating Systems: A Case Study of Ubuntu

An Operating System (OS) combines multiple interdependent software packa...
research
05/25/2023

Dependency Update Strategies and Package Characteristics

Managing project dependencies is a key maintenance issue in software dev...
research
05/05/2023

Meta-Maintanance for Dockerfiles: Are We There Yet?

Docker allows for the packaging of applications and dependencies, and it...

Please sign up or login with your details

Forgot password? Click here to reset