le 5 décembre 2025 à 09:30 à INRIA Lille
Les systèmes logiciels hérités manquent souvent de tests unitaires automatisés, ce qui rend difficile la détection des régressions lors de la maintenance ou de la migration. Notre partenaire industriel, Berger-Levrault, est confronté à ce défi, car ses applications sont actuellement en cours de migration depuis des systèmes Java monolithiques vers une architecture « Software-as-a-Service » avec une interface Angular. Pour y remédier, cette thèse étudie la génération automatique de tests unitaires à partir des traces d'exécution du programme afin de capturer le comportement existant du système. Nous utilisons une technique appelée « test carving » pour extraire des tests à partir de traces d'exécution. Une trace est un enregistrement du comportement observé pendant l'exécution qui comprend les valeurs d'entrée et de sortie. Chaque trace peut servir de base à un test unitaire en rejouant le comportement enregistré avec les mêmes entrées et en vérifiant que le résultat correspond à la sortie d'origine. Afin de faciliter l'adoption par les développeurs, nous générons des tests qui reconstruisent les valeurs enregistrées sous forme de code, améliorant ainsi leur lisibilité et leur maintenabilité. Ces abstractions permettent de spécialiser l'approche pour différents langages de programmation et cadriciel de test. Nous avons implémenté notre approche dans un outil concret et l'avons évaluée sur des systèmes écrits en Java et Pharo, couvrant à la fois des logiciels open-source et industriels. Les résultats montrent qu'elle permet de générer des tests lisibles qui capturent les comportements réalistes du système. Dans l'ensemble, ce travail apporte une solution pratique pour dériver des tests de régression pour les systèmes hérités, tout en démontrant comment les abstractions basées sur des métamodèles permettent de créer des tests de manière extensible dans divers contextes techniques.
Mme Anne ETIEN Université de Lille Directrice de thèse, M. Nicolas ANQUETIL Université de Lille Co-directeur de thèse, M. Philippe MERLE Centre Inria de l’Université de Lille Examinateur, M. Gerson SUNYé Nantes Université Rapporteur, M. Olivier BARAIS Université de Rennes 1 Rapporteur, M. Coen DE ROOVER Vrije Universiteit Brussel (VUB) Examinateur, M. Benoit VERHAEGHE Berger-Levrault Invité.