Dependency Smells in JavaScript Projects
Not on the map. Why?
Abstract (arXiv)
Dependency management in modern software development poses many challenges for developers who wish to stay up to date with the latest features and fixes whilst ensuring backwards compatibility. Project maintainers have opted for varied, and sometimes conflicting, approaches for maintaining their dependencies. Opting for unsuitable approaches can introduce bugs and vulnerabilities into the project, introduce breaking changes, cause extraneous installations, and reduce dependency understandability, making it harder for others to contribute effectively. In this paper, we empirically examine evidence of recurring dependency management issues (dependency smells). We look at the commit data for a dataset of 1,146 active JavaScript repositories to catalog, quantify and understand dependency smells. Through a series of surveys with practitioners, we identify and quantify seven dependency smells with varying degrees of popularity and investigate why they are introduced throughout project history. Our findings indicate that dependency smells are prevalent in JavaScript projects with two or more distinct smells appearing in 80% of the projects, but they generally infect a minority of a project's dependencies. Our observations show that the number of dependency smells tend to increase over time. Practitioners agree that dependency smells bring about many problems including security threats, bugs, dependency breakage, runtime errors, and other maintenance issues. These smells are generally introduced as developers react to dependency misbehaviour and the shortcomings of the npm ecosystem.
Key facts. Cited by 4 papers in the map (data through 14 Oct 2026). First posted on arXiv 27 Oct 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2023: 1; 2024: 1; 2025: 2.
4 papers.
- 2024On the Workflows and Smells of Leaderboard Operations (LBOps): An Exploratory Study of Foundation Model Leaderboardscited by 6
- 2025How Robust are LLM-Generated Library Imports? An Empirical Study using Stack Overflowcited by 2
- 2023An Empirical Study on Bugs Inside PyTorch: A Replication Studycited by 1
- 2025Which Is Better For Reducing Outdated and Vulnerable Dependencies: Pinning or Floating?cited by 0
- 2025Which Is Better For Reducing Outdated and Vulnerable Dependencies: Pinning or Floating?7 Oct 2025
- 2025How Robust are LLM-Generated Library Imports? An Empirical Study using Stack Overflow14 Jul 2025
- 2024On the Workflows and Smells of Leaderboard Operations (LBOps): An Exploratory Study of Foundation Model Leaderboards4 Jul 2024
- 2023An Empirical Study on Bugs Inside PyTorch: A Replication Study25 Jul 2023