Login | Register

Dependency Management Practices for the npm Software Ecosystem

Title:

Dependency Management Practices for the npm Software Ecosystem

Javan Jafari Bojnordi, Abbas (2023) Dependency Management Practices for the npm Software Ecosystem. PhD thesis, Concordia University.

[thumbnail of Javan Jafari Bojnordi_PhD_S2024.pdf]
Preview
Text (application/pdf)
Javan Jafari Bojnordi_PhD_S2024.pdf - Accepted Version
Available under License Spectrum Terms of Access.
3MB

Abstract

Software ecosystems provide developers with the opportunity to accelerate development by relying on third-party dependencies. Developers use third-party packages to increase productivity and improve quality. However, the increased reliance on third-party dependencies has emphasized dependency-related challenges. Developers need to be aware of such challenges and be equipped with techniques to mitigate their impact. Poor management of third-party dependencies can subject the project to breaking changes, bugs and vulnerabilities, which negatively impact the quality of software. In this thesis, we use a mixture of quantitative and qualitative methods to understand dependency management challenges in the npm ecosystem and provide actionable mitigation techniques to help developers better manage their dependencies.

We first study, catalog and quantify recurring patterns of dependency mis-management in the npm ecosystem and provide evidence of their prevalence and accumulation. In the second part of the thesis, we analyze the relationship between the characteristics of npm packages and how they are used by the community. We propose to developers a technique to determine the update strategy of their direct dependencies based on the individual characteristics of each package. In the last part of the thesis, we focus on the impact of transitive dependencies and quantify the impact of dependency decisions on continued exposure to security vulnerabilities. We propose a technique to select dependencies that mitigates the propagation of vulnerabilities to our project. Throughout our research, we identify implications that can serve both researchers and practitioners.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering
Item Type:Thesis (PhD)
Authors:Javan Jafari Bojnordi, Abbas
Institution:Concordia University
Degree Name:Ph. D.
Program:Software Engineering
Date:28 September 2023
Thesis Supervisor(s):Shihab, Emad
ID Code:993232
Deposited By: Abbas Javan Jafari Bojnordi
Deposited On:05 Jun 2024 16:58
Last Modified:05 Jun 2024 16:58
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top