Passer à la navigation principale Passer à la recherche Passer au contenu principal

Intelligent detection and diagnosis of anomalies in software delivery pipelines

Traduction de l'intitulé de la thèse: Détection et diagnostic intelligents des anomalies dans les pipelines de livraison logicielle
  • Henri Aïdasso

Thèses et mémoires: Thèse de doctoratDoctorat en génie: Génie

Résumé

Les organisations modernes ont massivement adopté des pratiques d'automatisation DevOps leur permettant d’effectuer des livraisons fréquentes et rapides de versions logicielles tout en s’assurant de la qualité du code produit par les développeurs. Ces pratiques sont mises en œuvre principalement grâce aux pipelines d’intégration continue et de déploiement continu (CI/CD) dont les résultats d’exécutions servent à certifier la qualité logicielle et confirmer la réussite de déploiements en cas de ≪ succès ≫, et à signaler des problèmes de code aux développeurs en cas d’≪ échec ≫. Ainsi, l’utilité des pipelines de CI/CD repose essentiellement sur des résultats d’exécutions fiables et déterministes. En pratique, toutefois, des anomalies liées aux environnements complexes et distribués induisent des résultats de pipelines inattendus et trompeurs (c’est-à-dire de fausses alarmes dites ≪ échecs intermittents ≫, voire pire, des succès illusoires dits ≪ échecs silencieux ≫). Ces anomalies sont à l’origine de grandes pertes liées aux réexécutions sporadiques et pertes de temps associées. Menée en collaboration avec TELUS, la présente recherche soutient que les anomalies de pipelines peuvent être atténuées grâce à des automatisations intelligentes basées sur les données d’exécution des pipelines, notamment les journaux et métriques d’exécutions. Le premier travail se focalise sur la détection efficiente des échecs intermittents, étape fondamentale pour l’automatisation des processus de diagnostic et de réparation associés. À cette fin, nous proposons SLID, un outil de détection fondé sur l’ajustement fin de modèles de transformation de texte pré-entraînés, qui atteint des performances élevées à partir de seulement douze paires de journaux étiquetés manuellement, surpassant l’état de l’art qui repose sur de grands ensembles de données souvent mal étiquetées. Le second travail dresse le tout premier catalogue répertoriant 46 catégories d’échecs intermittents et démontre qu'une priorisation efficace de ces catégories exige de dépasser l’analyse traditionnelle fondée uniquement sur leur fréquence. Ainsi, nous introduisons FlakeRanker, un outil qui détermine les catégories à prioriser (14 chez TELUS) grâce à un clustering intégrant leur fréquence, leur récence et leur coût pour l’organisation. Le troisième travail développe FlaXifyer, un classifieur entraîné avec seulement douze journaux étiquetés par catégorie pour prédire automatiquement laquelle des 14 catégories prioritaires correspond à un échec intermittent. Ce travail introduit également LogSift, une technique d’interprétabilité qui met en évidence les segments de journaux les plus influents, accélérant ainsi le triage et le diagnostic. Le quatrième travail se penche sur le phénomène des échecs silencieux et met en lumière les facteurs clés liés aux réexécutions de pipelines qui rapportent à tort des succès, pouvant ainsi faciliter leur détection. Il présente également une taxonomie de ces échecs en 11 thématiques observées en contexte industriel et recense les solutions de contournement ou correctives disponibles. Enfin, le cinquième travail introduit le CBDT Framework, un cadre logiciel dont l’architecture s’inspire des jumeaux numériques et qui constitue le socle permettant d’orchestrer diverses solutions d'automatisation destinées à améliorer la fiabilité et la performance des pipelines de CI/CD. Ensemble, ces travaux tracent la voie vers une véritable automatisation intelligente, capable d’orchestrer la détection, le diagnostic et la réparation autonome des anomalies de pipelines. Cette approche contribue non seulement à renforcer la fiabilité des pipelines et la qualité des logiciels livrés, mais aussi à alléger la charge cognitive pesant sur les développeurs. Elle favorise par ailleurs une utilisation plus efficiente des ressources computationnelles (avec des retombées positives sur le plan environnemental) tout en limitant les coûts associés aux retards de livraison, ainsi qu'aux défaillances logicielles pour les organisations.
Date20 avr. 2026
langue originaleAnglais américain
Établissement diplômant
  • École de technologie supérieure
SuperviseurFrancis Bordeleau (Directeur(-trice))

Mots-clés

  • intégration continue
  • livraison continue
  • détection d’anomalie
  • diagnostic d’échec
  • analyse de trace d’exécution
  • traitement du langage naturel
  • classification
  • jumeaux numériques

Citer cette ressource

'