Thèse en cours

Sélection automatique de tests par algorithmes d'apprentissage automatique pour le support de l'intégration continue logicielle
FR  |  
EN
Auteur / Autrice : Maria Brzezinski meyer
Direction : Hélène Waeselynck
Type : Projet de thèse
Discipline(s) : Automatique et Informatique
Date : Inscription en doctorat le 15/03/2021
Etablissement(s) : Université de Toulouse (2023-....)
Ecole(s) doctorale(s) : École doctorale Systèmes
Partenaire(s) de recherche : Laboratoire : LAAS - Laboratoire d'Analyse et d'Architecture des Systèmes
Equipe de recherche : TSF - Tolérance aux fautes et Sûreté de Fonctionnement Informatique
établissement délivrant conjointement le doctorat : Toulouse, INSA

Résumé

FR  |  
EN

Cette thèse est proposée dans le cadre d'une convention CIFRE entre Renault Software Labs et le LAAS-CNRS. Elle se déroulera à Toulouse, avec un partage du temps équilibré (50%-50%) au sein de l'entreprise et du laboratoire de recherche. Le sujet est porteur de thématiques très actuelles, combinant intelligence artificielle et développement agile du logiciel, dans un domaine industriel innovant (l'automobile du futur). On s'intéresse au test du logiciel dans un cadre d'intégration continue. L'intégration continue est une méthode agile consistant à vérifier, à chaque nouvelle version du code source, que les modifications introduites ne font pas régresser le système. Ainsi, le système est développé et validé par étapes incrémentales, en utilisant des batteries de tests automatisées. L'exécution fréquente de batteries de tests volumineuses est cependant très coûteuse en ressources et en temps, ce qui induit une problématique de sélection de test. Idéalement, on souhaiterait diminuer fortement le nombre de tests à exécuter, tout en maintenant le même niveau de qualité du logiciel que si la batterie complète était rejouée à chaque fois. Dans cette thèse, on étudiera comment exploiter des techniques liées à la science des données et à l'apprentissage automatique pour sélectionner les sous-ensembles de tests à rejouer. Renault Software Labs a commencé à mettre en place la collecte de données issues du processus d'intégration continue. Ces données concernent à la fois le logiciel développé (fonctionnalités implémentées, modifications de code, métriques de qualité du code) et les tests eux-mêmes (historique de détection, métriques de couverture de code ,…). Un enjeu est d'extraire une représentation synthétique de ces données (par réduction de dimensionnalité, débruitage), qui puisse être analysée pour prédire les tests à garder ou écarter à chaque nouvelle version logicielle. Un autre enjeu concerne la sélection des algorithmes d'apprentissage. Les travaux de thèse comporteront un caractère fortement expérimental, pour évaluer quels algorithmes sont les plus adaptés au problème de prédiction. L'approche sera appliquée à un projet réel de développement logiciel pour un véhicule connecté.