On the Freshness of Pinned Dependencies in Maven
Vasudev Vikram, Yuvraj Agarwal, Rohan Padhye

TL;DR
This paper studies the prevalence and risks of dependency pinning in Maven, showing many are stale and proposing Pin-Freshener to improve upgrade safety using crowdsourced tests.
Contribution
It introduces an empirical analysis of dependency pinning in Maven and presents Pin-Freshener, a novel approach leveraging crowdsourced tests to enhance upgrade confidence.
Findings
Over 60% of Maven library consumers have stale pins.
10% of dependency upgrades could reduce security vulnerabilities.
Pin-Freshener increases test coverage by 35-100% with few additional tests.
Abstract
Library dependencies in software ecosystems play a crucial role in the development of software. As newer releases of these libraries are published, developers may opt to pin their dependencies to a particular version. While pinning may have benefits in ensuring reproducible builds and avoiding breaking changes, it bears larger risks in using outdated dependencies that may contain bugs and security vulnerabilities. To understand the frequency and consequences of dependency pinning, we first define the concepts of stale and fresh pins, which are distinguished based on how outdated the dependency is relative to the release date of the project. We conduct an empirical study to show that over 60% of consumers of popular Maven libraries contain stale pins to their dependencies, with some outdated versions over a year old. These pinned versions often miss out on security fixes; we find that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
