• Financement : Artois, Université de Gabès
  • Année de début de thèse :
  • 2024

Thèse en co-tutelle avec l’université de Gabès

Les systèmes logiciels modernes sont de plus en plus complexes, et leurs mises à jour fréquentes exigent des pratiques de test robustes et cohérentes. Dans ce contexte, les tests de régression, la préparation des versions logicielles et la gestion de projets à grande échelle bénéficient grandement d’une spécification bien rédigée et réutilisable. De tels documents servent de références fiables qui garantissent la cohérence des protocoles de test tout au long des cycles de développement. À mesure que le nombre d’applications logicielles augmente et que la demande pour des systèmes de haute qualité s’intensifie, l’automatisation des tests devient un élément clé du cycle de vie de l’ingénierie logicielle. Elle permet un retour rapide, une réduction des erreurs humaines, une meilleure reproductibilité et une rentabilité accrue. L’automatisation soutient également les pipelines d’intégration continue et facilite la détection précoce des bogues, ce qui est essentiel dans les environnements agiles et DevOps modernes.

Les recherches récentes se sont orientées vers l’utilisation de techniques d’Apprentissage Automatique (Machine Learning, ML) et de Traitement du Langage Naturel (Natural Language Processing, NLP) pour améliorer l’automatisation des tests. Diverses approches ont tenté de combler le fossé entre les spécifications de haut niveau et le code exécutable ou les scripts de test. Malgré ces avancées, la génération automatisée de cas de test reste un défi. La plupart des techniques nécessitent l’accès à la fois à la spécification du logiciel et à son code source. Même lorsque ces informations sont disponibles, générer des cas de test pertinents et complets, qui soient en accord avec les intentions des utilisateurs et le comportement du système, demeure complexe.

L’objectif principal de cette thèse de doctorat est la conception et la mise en œuvre d’un modèle génératif basé sur un transformeur pour l’automatisation des tests système. Les objectifs spécifiques incluent ka proposition d’une architecture capable de traiter à la fois des spécifications en langage naturel et du code source, d’entraîner un modèle de type transformeur (par exemple T5, CodeT5 ou une variante hybride) pour générer des cas de test significatifs et lisibles par des humains ; évaluer ce modèle sur des jeux de données standards et des cas réels, de comparer ses performances avec celles d’outils existants de génération de tests à l’aide de métriques telles que BLEU, CodeBLEU et la couverture de test, et enfin, étudier l’interprétabilité et l’adaptabilité du modèle à différents domaines d’application.