Dependency Smells in JavaScript Projects
Abbas Javan Jafari, Diego Elias Costa, Rabe Abdalkareem, Emad Shihab,, Nikolaos Tsantalis

TL;DR
This paper empirically investigates dependency management issues, called dependency smells, in JavaScript projects, revealing their prevalence, evolution over time, and impact on project security and maintainability.
Contribution
It provides a comprehensive analysis of dependency smells in JavaScript, including their identification, prevalence, causes, and effects, based on empirical data and practitioner surveys.
Findings
Dependency smells are common, appearing in 80% of projects with multiple smells.
Dependency smells tend to increase over the lifespan of projects.
Practitioners associate dependency smells with security, bugs, and maintenance problems.
Abstract
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…
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.
