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

Please sign up or login with your details

Forgot password? Click here to reset