E-Predictor : une approche pour la prédiction précoce de l'acceptation des demandes de pull

Une percée dans la prédiction précoce de l’acceptation des Pull Requests

Ces dernières années, le développement de logiciels open source (OSS) est progressivement devenu l’une des principales méthodes de développement logiciel, reposant fortement sur la collaboration entre développeurs. La mécanique du Pull Request (PR) est largement utilisée dans le développement logiciel distribué pour améliorer l’efficacité de la collaboration. Sur des plateformes open source comme GitHub, un PR permet aux développeurs de soumettre des requêtes de modifications de code, que les mainteneurs des projets examinent pour décider si le code doit être fusionné avec la branche principale. Cependant, avec l’augmentation de l’activité des projets open source, le nombre de PR a augmenté de manière exponentielle, alourdissant le travail des mainteneurs et prolongeant les délais de traitement des PR. La gestion efficace des PR et la prédiction de leur acceptation sont devenues des sujets cruciaux pour les chercheurs et les développeurs.

Dans ce contexte, Kexing Chen, Lingfeng Bao, Xing Hu du laboratoire d’État clé de la blockchain et de la sécurité des données de l’Université de Zhejiang, ainsi que Xin Xia et Xiaohu Yang du laboratoire de technologie d’applications en ingénierie logicielle chez Huawei, ont co-publié une étude intitulée “e-predictor: An Approach for Early Prediction of Pull Request Acceptance”. Cet article, publié en mai 2025 dans la revue Science China Information Sciences (Vol. 68, Iss. 5, DOI : https://doi.org/10.1007/s11432-022-3953-4), propose une méthode novatrice appelée “e-predictor” pour prédire dès leur création si les PR seront fusionnées, avec pour but de réduire la charge des mainteneurs tout en offrant un retour rapide.


Contexte de l’étude et motivation

Le modèle de développement basé sur les Pull Requests, bien qu’il améliore l’efficacité de la collaboration, présente également des défis évidents. Par exemple, GitHub a rapporté qu’en 2021, plus de 170 millions de PR avaient été fusionnées. Cependant, cette croissance exponentielle augmente considérablement la charge de travail des mainteneurs. Selon les statistiques, le délai moyen entre la création et la clôture d’une PR est de 37 jours, ce qui peut ralentir la progression des projets. Les études existantes tentent de réduire ce fardeau en proposant des modèles prédictifs capables d’identifier à l’avance les PR susceptibles d’être acceptées. Malheureusement, la majorité de ces modèles nécessitent des informations post-création (telles que des commentaires et discussions), ce qui limite leur capacité à réduire la charge de travail initiale.

Pour surmonter cette limitation, les chercheurs ont développé e-predictor, un modèle qui utilise les caractéristiques précoces et les traits sémantiques profonds pour effectuer des prédictions au moment de la création des PR. Cela permet aux mainteneurs d’évaluer immédiatement la priorité des PR et d’estimer l’effort requis.


Méthodologie de l’étude

L’équipe de recherche a conçu une méthodologie systématique en plusieurs étapes pour développer et valider e-predictor.

Collecte et prétraitement des données

Les chercheurs ont collecté 475 192 PR provenant des 49 projets open source les plus populaires sur GitHub. Afin de garantir la représentativité, ils ont appliqué des critères stricts pour filtrer les projets non pertinents, tels que les projets éducatifs, les forks, ou ceux utilisant GitHub uniquement comme dépôt de sauvegarde. Ils ont ensuite déterminé si une PR avait été fusionnée à l’aide de plusieurs approches, incluant :

  1. Vérifier si le champ “merged at” de la PR n’est pas nul ;
  2. Déterminer si les commits associés à la PR figurent dans la branche principale ;
  3. Rechercher dans les trois derniers commentaires du PR des mots-clés indiquant une fusion (par exemple : “merged”, “included”) ;
  4. Vérifier si un commit dans le dépôt mentionne le PR.

Les PR ne répondant à aucun de ces critères ont été considérées comme rejetées. Les descriptions des PR ont ensuite été nettoyées (pour éliminer les caractères spéciaux), et seules les lignes ajoutées ou supprimées des fichiers source ont été conservées pour les modifications de code.

Extraction des caractéristiques

e-predictor extrait deux types de caractéristiques : les caractéristiques manuelles et les caractéristiques sémantiques profondes. Les caractéristiques manuelles ont été divisé en trois dimensions :

  1. Profil du contributeur (Contributor Profile) : Inclut des informations telles que le nombre de projets précédemment soumis par le contributeur, son nombre de commits, de PR ou de problèmes créés, ainsi que ses abonnés GitHub.
  2. Caractéristiques spécifiques au PR (Specific Pull Request) : Mesurent des aspects tels que la longueur de la description du PR, le nombre de commits soumis dans la PR, le nombre de lignes de code ajoutées/supprimées, et si le PR inclut des fichiers de test ou de documentation.
  3. Caractéristiques du projet (Project Profile) : Inclut l’activité récente du projet, comme le nombre de PR ou de commentaires soumis dans le mois précédent.

Pour capturer des informations sémantiques plus riches, deux modèles pré-entraînés ont été utilisés : - Des descriptions de PR : Codées avec RoBERTa pour obtenir des vecteurs de 768 dimensions. - Les modifications de code : Codées avec CodeBERT pour obtenir également des vecteurs de 768 dimensions.

Ces deux vecteurs ont été réduits à 30 dimensions après un traitement supplémentaire.

Construction du modèle prédictif

Pour l’entraînement, les chercheurs ont utilisé un classificateur XGBoost, réputé pour ses excellentes performances en traitement de données à grande échelle et dimensionnalité élevée. Finalement, e-predictor combine les caractéristiques manuelles et profondes, totalisant 76 dimensions, pour entraîner XGBoost.


Résultats de l’étude

Évaluation des performances

Deux stratégies de validation ont été utilisées pour évaluer e-predictor : - La validation croisée en 10 plis (10-fold Cross-Validation) ; - La validation temporelle (Time-Aware Validation).

Les performances du modèle ont été évaluées à l’aide d’indicateurs tels que l’AUC (aire sous la courbe ROC), un F1-score, la précision (Precision) et le rappel (Recall).

Les résultats montrent que e-predictor a des performances prometteuses : - En validation croisée, son F1@Merge atteint 90.1 %, avec une AUC de 85.4 %, surpassant largement les modèles de référence. - En validation temporelle, l’AUC est de 81.6 %, montrant également des résultats supérieurs aux baselines.

Cependant, à cause du déséquilibre des données (avec un rapport PR acceptées/rejetées d’environ 7:3), les performances pour la prédiction des PR rejetées (F1@Reject) étaient plus faibles, à 60.5 %. Toutefois, la précision pour le rejet (Precision@Reject) était de 75.1 %, indiquant une bonne fiabilité dans l’identification correcte des PR rejetées.

Importance des caractéristiques

Les analyses montrent que la qualité de la description des PR et l’expérience préalable du contributeur sur le projet sont des facteurs clés pour l’acceptation d’une PR. Cela suggère que : 1. Une description claire et détaillée des PR augmente leurs chances d’acceptation. 2. Une expérience passée dans des fusions augmente significativement les probabilités de succès des PR futures.


Portée et valeur de la recherche

Cette étude a une valeur considérable en proposant une méthode prédictive pratique et efficace. e-predictor peut offrir aux mainteneurs une assistance précieuse au moment de la création des PR, réduisant ainsi leur charge de travail. De plus, cela peut fournir un retour rapide aux contributeurs, leur permettant d’améliorer rapidement leurs PR. Le modèle démontre également comment combiner efficacement les techniques d’apprentissage profond et l’ingénierie des caractéristiques pour relever des défis réels de l’ingénierie logicielle.

L’outil peut également profiter aux communautés OSS en améliorant l’efficacité de gestion des PR et en aidant les chercheurs à mieux comprendre les modèles collaboratifs des projets OSS.


Conclusion et perspectives

En conclusion, e-predictor offre une solution pratique pour automatiser la gestion des PR et a une grande valeur académique et pratique. Malgré certaines limitations (comme le déséquilibre des données), ce travail ouvre la voie à des améliorations futures en intégrant de nouvelles caractéristiques et en perfectionnant les algorithmes. Les chercheurs prévoient d’élargir les bases de données, de développer des modèles plus universels et robustes, et d’explorer des combinaisons optimales de caractéristiques pour soutenir un éventail plus large de projets open source.