Grant: Discovery Grants Program - Individual
Concordia University
$36,000.00
Proactive Dependency Management in Software Ecosystems
EF 2024-25
Résumé
Software ecosystems, such as Maven and the Node Package Manager (NPM), enable developers to easily publish their code and reuse other people's code in the form of open source libraries. By facilitating code reuse, software ecosystems have profoundly changed how we develop software. Developers frequently include libraries as dependencies of their projects to avoid implementing features from scratch, speed up productivity, and improve software quality. As a result, the industry has never reused so much open source code: reports show that more than 80% of industrial software code comes from open source libraries, and thousands of new libraries are published weekly in ecosystems like Maven (Java) and NPM (JavaScript).
However, the increasing reliance on open source libraries has created significant challenges in software maintenance. Developers struggle to maintain their dependencies and have to constantly react to dependencies issues, e.g., unmaintained libraries, breaking changes, and security vulnerabilities. We need solutions that help developers actively track and mitigate dependency issues throughout the evolution of their software.
The long-term goal of my research program is to make dependency management more proactive. My research program aims at designing innovative solutions that monitor software ecosystems and warn developer teams about dependency issues and possible remediation strategies. Specifically, I plan to accomplish my objective by three short-term objectives: 1) Empirically examining the challenges of dependency management across large software ecosystems; 2) Developing analytical models and tools to increase developer's awareness of dependency issues, and 3) Designing agents that proactively monitor the software ecosystem to identify data patterns indicate and mitigate dependency management issues as early as possible.
My research program will contribute to the open source community and the industry. Proactive solutions will help practitioners respond faster to dependency issues, reducing software maintenance costs and increasing the trust in the open source ecosystems. Furthermore, this research program will expose, train and enable highly qualified personnel to research using data analysis to solve engineering problems with strong industrial impact.
Programme
Discovery Grants Program - Individual
Bénéficiaire
Emplacement
Quebec, Canada
Type de bénéficiaire
Academia
Type
Grant
Source
NSERC's Awards Data
Tel que publié
Application id
RGPIN-2023-05163
Name nom
Damasceno Costa, Diego Elias
Department département
Computer Science and Software Engineering - Computer Science and Software Engineering
Organization id
70
Institution établissement
Concordia University
Province en
Québec
Province fr
Québec
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2024
Competition year année de concours
2023
Award amount
36000
Program id
RGPIN
Program name en
Discovery Grants Program - Individual
Program name fr
Programme de subventions à la découverte - individuelles
Group en
DISCOVERY RESEARCH
Group fr
RECHERCHE AXÉE SUR LA DÉCOUVERTE
Committee code
1507
Committee name en
Computer Science
Committee name fr
Sciences informatiques
Area of application code
802
Area of application group en
Information and communication services
Area of application group fr
Services d'information et de télécommunications
Area of application en
Information systems and technology
Area of application fr
Systèmes d'information et technologie de l'information
Research subject code
2706
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Software engineering
Research subject fr
Génie logiciel
Field of research list names en
Not available
Field of research list names fr
Non disponible
Socioeconomic objective list names en
Not available
Socioeconomic objective list names fr
Non disponible
Application title
Proactive Dependency Management in Software Ecosystems
Keywords
dependency management; software ecosystems; mining software repositories; software engineering; software quality; security vulnerabilities; breaking changes; open source libraries; code reuse; software bots
Application summary
Software ecosystems, such as Maven and the Node Package Manager (NPM), enable developers to easily publish their code and reuse other people's code in the form of open source libraries. By facilitating code reuse, software ecosystems have profoundly changed how we develop software. Developers frequently include libraries as dependencies of their projects to avoid implementing features from scratch, speed up productivity, and improve software quality. As a result, the industry has never reused so much open source code: reports show that more than 80% of industrial software code comes from open source libraries, and thousands of new libraries are published weekly in ecosystems like Maven (Java) and NPM (JavaScript).
However, the increasing reliance on open source libraries has created significant challenges in software maintenance. Developers struggle to maintain their dependencies and have to constantly react to dependencies issues, e.g., unmaintained libraries, breaking changes, and security vulnerabilities. We need solutions that help developers actively track and mitigate dependency issues throughout the evolution of their software.
The long-term goal of my research program is to make dependency management more proactive. My research program aims at designing innovative solutions that monitor software ecosystems and warn developer teams about dependency issues and possible remediation strategies. Specifically, I plan to accomplish my objective by three short-term objectives: 1) Empirically examining the challenges of dependency management across large software ecosystems; 2) Developing analytical models and tools to increase developer's awareness of dependency issues, and 3) Designing agents that proactively monitor the software ecosystem to identify data patterns indicate and mitigate dependency management issues as early as possible.
My research program will contribute to the open source community and the industry. Proactive solutions will help practitioners respond faster to dependency issues, reducing software maintenance costs and increasing the trust in the open source ecosystems. Furthermore, this research program will expose, train and enable highly qualified personnel to research using data analysis to solve engineering problems with strong industrial impact.