Analyse et évolution de dépendances dans les écosystèmes logiciels

L'essor du logiciel libre et open source favorise le développement par réutilisation de bibliothèques logicielles disponibles au sein d'écosystèmes tels que celui de Java/Maven. Cette pratique offre des avantages, notamment en termes de temps de développement. Cependant, elle soulève aussi des problématiques de maintenance, renforcées par la présence de dépendances entre les bibliothèques elles-mêmes. Au-delà des dépendances directes d'un projet, il est crucial d'analyser l'ensemble de sa chaîne d'approvisionnement logicielle. Dans cette thèse, réalisée en collaboration avec un partenaire industriel, l'accent est mis sur l'analyse de la qualité et la maintenance des projets en fonction de leur chaine d'approvisionnement vue sous le prisme de leurs dépendances logicielles directes et indirectes. Plus largement, l'étude concerne les écosystèmes de dépendances à une échelle globale. La première contribution de cette thèse est une analyse rigoureuse de la littérature portant sur les métriques de qualité des dépendances logicielles. Cette analyse révèle la richesse des métriques existantes, mais aussi la nécessité de fournir des moyens efficaces pour associer ces métriques aux graphes de dépendances des projets et des écosystèmes, souvent de très grande taille. Pour répondre à cette problématique, une seconde contribution propose des approches outillées pour la fouille de graphes de dépendances à l'échelle d'un écosystème, l'étiquetage par des métriques de qualité de dépendances et le requêtage efficace de grands graphes de dépendances. Au-delà de la mesure de la qualité d'un projet en termes de dépendances, il est crucial de pouvoir réagir à des problématiques telles que l'obsolescence de bibliothèques ou la présence de vulnérabilités. Pour cela, une troisième contribution de cette thèse concerne une approche, basée sur la programmation linéaire, permettant de proposer des plans de changement de dépendances logicielles intégrant les préférences utilisateur en termes de qualité, tout en minimisant les incompatibilités. Les outils et les jeux de données développés dans le cadre de cette thèse sont libres et open source, certains ayant été utilisés comme base au "Mining Challenge" d'une conférence du domaine.

Publication Details

Journal
theses.fr (ABES)
Published
2025-06-20
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Analyse et évolution de dépendances dans les écosystèmes logiciels

theses.fr (ABES)
Software Engineering Research
article

Analyse et évolution de dépendances dans les écosystèmes logiciels

article en

Abstract

L'essor du logiciel libre et open source favorise le développement par réutilisation de bibliothèques logicielles disponibles au sein d'écosystèmes tels que celui de Java/Maven. Cette pratique offre des avantages, notamment en termes de temps de développement. Cependant, elle soulève aussi des problématiques de maintenance, renforcées par la présence de dépendances entre les bibliothèques elles-mêmes. Au-delà des dépendances directes d'un projet, il est crucial d'analyser l'ensemble de sa chaîne d'approvisionnement logicielle. Dans cette thèse, réalisée en collaboration avec un partenaire industriel, l'accent est mis sur l'analyse de la qualité et la maintenance des projets en fonction de leur chaine d'approvisionnement vue sous le prisme de leurs dépendances logicielles directes et indirectes. Plus largement, l'étude concerne les écosystèmes de dépendances à une échelle globale. La première contribution de cette thèse est une analyse rigoureuse de la littérature portant sur les métriques de qualité des dépendances logicielles. Cette analyse révèle la richesse des métriques existantes, mais aussi la nécessité de fournir des moyens efficaces pour associer ces métriques aux graphes de dépendances des projets et des écosystèmes, souvent de très grande taille. Pour répondre à cette problématique, une seconde contribution propose des approches outillées pour la fouille de graphes de dépendances à l'échelle d'un écosystème, l'étiquetage par des métriques de qualité de dépendances et le requêtage efficace de grands graphes de dépendances. Au-delà de la mesure de la qualité d'un projet en termes de dépendances, il est crucial de pouvoir réagir à des problématiques telles que l'obsolescence de bibliothèques ou la présence de vulnérabilités. Pour cela, une troisième contribution de cette thèse concerne une approche, basée sur la programmation linéaire, permettant de proposer des plans de changement de dépendances logicielles intégrant les préférences utilisateur en termes de qualité, tout en minimisant les incompatibilités. Les outils et les jeux de données développés dans le cadre de cette thèse sont libres et open source, certains ayant été utilisés comme base au "Mining Challenge" d'une conférence du domaine.

theses.fr (ABES)
Openalex Percentile: Top 35%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.