SlideShare a Scribd company logo
ICSME 2018
ON THE EVOLUTION OF TECHNICAL LAG IN THE
NPM PACKAGE DEPENDENCY NETWORK
ALEXANDRE
DECAN
ELENI
CONSTANTINOU
TOM MENS
@AlexandreDecan
@tom_mens
@eleni_const
PACKAGE DEPENDENCY
NETWORKS
&
TECHNICAL LAG
Package dependency networks
Semantic versioning
major minor patch
3 9 2
Breaking
changes Bug fixes
Backwards
compatible
changes
4.0.0 3.10.0 3.9.3
Dependency constraints
More
Permissive
More
Restrictive
major minor patch
3 9 2
Technical Lag
[1] J. M. Gonzalez-Barahona et al. Technical lag in software compilations: Measuring how outdated a software deployment is. IFIP International
Conf. on Open Source Systems, pp. 182—192, 2017.
How outdated a
software system is with
respect to its upstream
dependencies [1]
Δt(d3,t)
Δt(d2,t)
Δt(d1,t)
r
p1
p2
p3
Technical lag at time t
For a dependency d:
For a release r:
T1
p1
p2
1.0.0 1.0.1 1.0.21.1.0
r1 r2
T2 T3 T4 T5 T6 T7 T9T8
2.0.0
T10
Technical lag example
1.0.0 1.0.0Analysis date
Constraint Missed Technical Lag
~1.0.0 {1.1.0, 2.0.0}
^1.0.0 {2.0.0}
T10 – T5
T10 – T9
p2p1
Should I keep my dependencies up-to-date?
COST
§ Effort to integrate backwards
incompatible changes
§ Monitor dependency evolution
RISK
§ Backwards incompatible
changes
BENEFIT
§ Bug fixes
§ Security vulnerability fixes
§ New features
DATASET
NOVEMBER 2017
Libraries.io [2]
[2] http://doi.org/10.5281/zenodo.1068916
FINDINGS
How prominent is technical lag (TL)?
25% of dependencies/
40% of releases suffer from TL
Dependency management tools reduce TL presence
How long is the technical lag?
>=2015: average TL is 7 to 9 months
Only 25% have a TL <52 days
TL information in dependency management tools
How frequently are packages updated?
It takes an average of 12 to 22 days to update a
release
Frequent updates can contribute to TL of dependents
During the lifetime of a
package release, a new
release of its dependency
becomes available that
does not satisfy the
dependency constraint
Why does technical lag occur?
A package release does not use the highest available release of
its dependency
1 out of 3 releases missed a new release of a
dependency because it is excluded by the constraint.
How does technical lag evolve?
Most packages do not change their constraints
to use newer releases of their dependencies.
Better tool support for managing constraints
Could technical lag be reduced
by proper use of semantic versioning?
The proportion of releases suffering from TL could be
reduced by 17.7%
Package maintainers should adhere to semantic
versioning
SUMMARY
&
CONCLUSION
npm package releases/dependencies suffer from technical lag
7 - 9 months of technical lag
Proper use of semantic versioning
Ø Decreases the effect of technical lag (~18%)
Ø Allows to benefit from vulnerability fixes
Summary
Conclusion
Dependency management tools help package maintainers to reduce the
presence technical lag.
Dependency monitoring tools should incorporate technical lag information.
Ecosystem-wide view of technical lag.
Support dependent packages/backport important fixes.
Transitive
dependencies
Direct
dependencies
Technical lag
definition
On the evolution of technical lag in the npm package dependency network

More Related Content

PPTX
On the evolution of technical lag in the npm package dependency network
PPTX
Comparing dependency issues across software package distributions (FOSDEM 2020)
PDF
FOSDEM 2020 Presentation: Comparing dependency management issues across packa...
PPTX
Four things that are almost guaranteed to reduce the reliability of a softwa...
PPT
GE Oil &amp; Gas Threatscan
PPTX
SecPod Saner
PDF
On the fragility of open source software packaging ecosystems
PDF
An Empirical Analysis of Technical Lag in npm Package Dependencies
On the evolution of technical lag in the npm package dependency network
Comparing dependency issues across software package distributions (FOSDEM 2020)
FOSDEM 2020 Presentation: Comparing dependency management issues across packa...
Four things that are almost guaranteed to reduce the reliability of a softwa...
GE Oil &amp; Gas Threatscan
SecPod Saner
On the fragility of open source software packaging ecosystems
An Empirical Analysis of Technical Lag in npm Package Dependencies

Similar to On the evolution of technical lag in the npm package dependency network (20)

PPTX
Empirically Analysing the Socio-Technical Health of Software Package Managers
PPTX
On the health of the npm packaging ecosystem
PPTX
Unsustainable Regaining Control of Uncontrollable Apps
PDF
How to save on software maintenance costs
PDF
PhD public defense: A Measurement Framework for Analyzing Technical Lag in ...
PPTX
Digital Switching System UNIT7_module4 RO.pptx
PDF
Proactive Population-Risk Based Defense Against Denial of Cyber-Physical Serv...
PDF
PacketsNeverLie
PDF
Whitepaper Omnext
PPTX
PACE-IT: Applying Patches and Upgrades
PPTX
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
PDF
Towards an empirical analysis of the maintainability of CRAN packages
PPTX
Tune Up Your Network for the New Year
PDF
Wait for it: identifying “On-Hold” self-admitted technical debt
PDF
Managing Software Risk with CAST
PDF
Crypto Mark Scheme for Fast Pollution Detection and Resistance over Networking
PPTX
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
PDF
NETCDL : THE NETWORK CERTIFICATION DESCRIPTION LANGUAGE
PPTX
Is my software ecosystem healthy? It depends!
Empirically Analysing the Socio-Technical Health of Software Package Managers
On the health of the npm packaging ecosystem
Unsustainable Regaining Control of Uncontrollable Apps
How to save on software maintenance costs
PhD public defense: A Measurement Framework for Analyzing Technical Lag in ...
Digital Switching System UNIT7_module4 RO.pptx
Proactive Population-Risk Based Defense Against Denial of Cyber-Physical Serv...
PacketsNeverLie
Whitepaper Omnext
PACE-IT: Applying Patches and Upgrades
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Towards an empirical analysis of the maintainability of CRAN packages
Tune Up Your Network for the New Year
Wait for it: identifying “On-Hold” self-admitted technical debt
Managing Software Risk with CAST
Crypto Mark Scheme for Fast Pollution Detection and Resistance over Networking
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
NETCDL : THE NETWORK CERTIFICATION DESCRIPTION LANGUAGE
Is my software ecosystem healthy? It depends!
Ad

More from Tom Mens (20)

PDF
Dependency Issues in Open Source Software Package Registries
PDF
Model Testing of Executable Statecharts using SISMIC
PDF
How to be(come) a successful PhD student
PPTX
Recognising bot activity in collaborative software development
PDF
A Dataset of Bot and Human Activities in GitHub
PDF
The (r)evolution of CI/CD on GitHub
PDF
Nurturing the Software Ecosystems of the Future
PDF
Comment programmer un robot en 30 minutes?
PPTX
On the rise and fall of CI services in GitHub
PPTX
On backporting practices in package dependency networks
PPTX
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
PPTX
Lost in Zero Space
PDF
Evaluating a bot detection model on git commit messages
PPTX
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
PPTX
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
PDF
SecoHealth 2019 Research Achievements
PPTX
SECO-Assist 2019 research seminar
PPTX
ConPan: Analysing Packages Installed in Docker Containers
PPTX
On the diversity of software popularity metrics: An empirical study of npm
PPTX
How to increase the technical health of your software?
Dependency Issues in Open Source Software Package Registries
Model Testing of Executable Statecharts using SISMIC
How to be(come) a successful PhD student
Recognising bot activity in collaborative software development
A Dataset of Bot and Human Activities in GitHub
The (r)evolution of CI/CD on GitHub
Nurturing the Software Ecosystems of the Future
Comment programmer un robot en 30 minutes?
On the rise and fall of CI services in GitHub
On backporting practices in package dependency networks
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Lost in Zero Space
Evaluating a bot detection model on git commit messages
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
SecoHealth 2019 Research Achievements
SECO-Assist 2019 research seminar
ConPan: Analysing Packages Installed in Docker Containers
On the diversity of software popularity metrics: An empirical study of npm
How to increase the technical health of your software?
Ad

Recently uploaded (20)

PPTX
chapter 5 systemdesign2008.pptx for cimputer science students
PPTX
GSA Content Generator Crack (2025 Latest)
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Types of Token_ From Utility to Security.pdf
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
Cybersecurity: Protecting the Digital World
PPTX
"Secure File Sharing Solutions on AWS".pptx
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
Time Tracking Features That Teams and Organizations Actually Need
PDF
Topaz Photo AI Crack New Download (Latest 2025)
chapter 5 systemdesign2008.pptx for cimputer science students
GSA Content Generator Crack (2025 Latest)
How to Use SharePoint as an ISO-Compliant Document Management System
Patient Appointment Booking in Odoo with online payment
Types of Token_ From Utility to Security.pdf
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Why Generative AI is the Future of Content, Code & Creativity?
Advanced SystemCare Ultimate Crack + Portable (2025)
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Cybersecurity: Protecting the Digital World
"Secure File Sharing Solutions on AWS".pptx
DNT Brochure 2025 – ISV Solutions @ D365
Complete Guide to Website Development in Malaysia for SMEs
How Tridens DevSecOps Ensures Compliance, Security, and Agility
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Salesforce Agentforce AI Implementation.pdf
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Time Tracking Features That Teams and Organizations Actually Need
Topaz Photo AI Crack New Download (Latest 2025)

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

  • 1. ICSME 2018 ON THE EVOLUTION OF TECHNICAL LAG IN THE NPM PACKAGE DEPENDENCY NETWORK ALEXANDRE DECAN ELENI CONSTANTINOU TOM MENS @AlexandreDecan @tom_mens @eleni_const
  • 4. Semantic versioning major minor patch 3 9 2 Breaking changes Bug fixes Backwards compatible changes 4.0.0 3.10.0 3.9.3
  • 6. Technical Lag [1] J. M. Gonzalez-Barahona et al. Technical lag in software compilations: Measuring how outdated a software deployment is. IFIP International Conf. on Open Source Systems, pp. 182—192, 2017. How outdated a software system is with respect to its upstream dependencies [1]
  • 7. Δt(d3,t) Δt(d2,t) Δt(d1,t) r p1 p2 p3 Technical lag at time t For a dependency d: For a release r:
  • 8. T1 p1 p2 1.0.0 1.0.1 1.0.21.1.0 r1 r2 T2 T3 T4 T5 T6 T7 T9T8 2.0.0 T10 Technical lag example 1.0.0 1.0.0Analysis date Constraint Missed Technical Lag ~1.0.0 {1.1.0, 2.0.0} ^1.0.0 {2.0.0} T10 – T5 T10 – T9 p2p1
  • 9. Should I keep my dependencies up-to-date? COST § Effort to integrate backwards incompatible changes § Monitor dependency evolution RISK § Backwards incompatible changes BENEFIT § Bug fixes § Security vulnerability fixes § New features
  • 11. NOVEMBER 2017 Libraries.io [2] [2] http://doi.org/10.5281/zenodo.1068916
  • 13. How prominent is technical lag (TL)? 25% of dependencies/ 40% of releases suffer from TL Dependency management tools reduce TL presence
  • 14. How long is the technical lag? >=2015: average TL is 7 to 9 months Only 25% have a TL <52 days TL information in dependency management tools
  • 15. How frequently are packages updated? It takes an average of 12 to 22 days to update a release Frequent updates can contribute to TL of dependents
  • 16. During the lifetime of a package release, a new release of its dependency becomes available that does not satisfy the dependency constraint Why does technical lag occur? A package release does not use the highest available release of its dependency 1 out of 3 releases missed a new release of a dependency because it is excluded by the constraint.
  • 17. How does technical lag evolve? Most packages do not change their constraints to use newer releases of their dependencies. Better tool support for managing constraints
  • 18. Could technical lag be reduced by proper use of semantic versioning? The proportion of releases suffering from TL could be reduced by 17.7% Package maintainers should adhere to semantic versioning
  • 20. npm package releases/dependencies suffer from technical lag 7 - 9 months of technical lag Proper use of semantic versioning Ø Decreases the effect of technical lag (~18%) Ø Allows to benefit from vulnerability fixes Summary
  • 21. Conclusion Dependency management tools help package maintainers to reduce the presence technical lag. Dependency monitoring tools should incorporate technical lag information. Ecosystem-wide view of technical lag. Support dependent packages/backport important fixes. Transitive dependencies Direct dependencies Technical lag definition