Utilisation des techniques d'apprentissage automatique pour la réalisation et la gestion des tests de régression // Using machine learning techniques to create and manage regression tests
|
ABG-139154
ADUM-75079 |
Thesis topic | |
| 2026-05-17 |
Université Grenoble Alpes
VALENCE CEDEX 9 - Auvergne-Rhône-Alpes - France
Utilisation des techniques d'apprentissage automatique pour la réalisation et la gestion des tests de régression // Using machine learning techniques to create and manage regression tests
- Computer science
Test logiciel, Apprentissage automatique, Machine Learning, Régression
Software testing, Machine Learning, Regression
Software testing, Machine Learning, Regression
Topic description
Le principal problème du processus de test de régression vient du grand et croissant volume de tests. En effet, au fur et à mesure qu'une application évolue, le nombre de tests peut augmenter significativement. Ainsi, réexécuter systématiquement tous les tests peut vite devenir incompatible avec les délais de développement et de livraison d'une nouvelle version. Par ailleurs, l'effort et le coût peuvent être sans réel rapport avec la valeur ajoutée des tests. En effet, certains d'entre eux deviennent obsolètes d'une version de l'application à une autre ; d'autres perdent leur pouvoir de détection de défauts ou sont redondants. Conserver, à chaque version d'une application, un ensemble minimal de tests de régression (i.e. détectant toutes les fautes avec un minimum d'effort) est un objectif idéal que plusieurs travaux de recherche ont essayé d'approcher, notamment par l'intermédiaire de l'automatisation et la priorisation (TSP : Test Case Selection and Prioritization). Affecter des priorités aux tests de régression (Prioritization) peut se faire pour plusieurs raisons :
· pour améliorer le taux de détection des défauts d'une suite de tests, c'est-à-dire la probabilité de détecter des défauts plus tôt lors d'une série de tests de régression utilisant cette suite.
· pour augmenter plus rapidement la couverture du code testable dans le système soumis aux tests, ce qui permettrait de satisfaire plus tôt le critère de couverture de code au cours du processus de test.
· pour renforcer leur confiance dans la fiabilité du système testé à un rythme plus soutenu.
· pour augmenter le taux de détection des défauts à haut risque par la suite de tests, afin de les repérer plus tôt dans le processus de test.
· pour augmenter les chances de détecter plus tôt, au cours du processus de test, les défauts liés à des modifications spécifiques du code.
L'apprentissage automatique a été utilisé pour améliorer ces techniques (ML-TSP : Machine Learning Test Selection and Prioritization) en se basant principalement sur des modèles issus de l'apprentissage par renforcement (RL), du regroupement par clusters, du classement et du traitement du langage naturel (NLP). Nous nous appuyons sur le travail de recherche réalisé dans le cadre d'une thèse soutenue récemment à l'université de Franche-Comté par F. Tamagnan sous la direction de Fabrice Bouquet. Elle exploite les traces d'exécution réelles d'une application en fouillant des logs. On peut ainsi en extraire des usages réels de l'application pour en choisir un sous-ensemble, optimal d'un point de vue de la « couverture de l'usage réel », que l'on peut dériver en des suites de tests. L'apprentissage automatique permet d'opérer un regroupement en clusters puis d'en choisir une suite par classe de test.
Dans le cadre de cette proposition du sujet de thèse, nous identifions quatre potentiels axes de recherche :
1. Le premier axe se base sur les 'patrons d'interaction' (patterns métier) : l'idée est de pouvoir utiliser ces patrons directement dans le processus d'apprentissage pour forcer la couverture de scénarios spécifiques pour dépasser la simple analyse statistique.
2. Le second axe vise à étudier les différentes pistes d'utilisation des patterns pour améliorer les modèles. Ainsi, on pourrait utiliser les capacités de compréhension contextuelle des Large Language Models (LLM) pour créer des 'embeddings' de traces plus riches que les méthodes traditionnelles (Word2Vec, Autoencoders), capturant ainsi mieux la sémantique métier.
3. Le troisième axe est l'étude de la transformation automatique des traces sélectionnées issues des méthodes précédentes en de scripts de test qui pourront être exécutés sur le système réel.
4. Le dernier axe cible la confiance sur les tests ainsi construits à travers la mise en place de métriques. Ces dernières peuvent mesurer la complétude – par exemple Usage Pattern Coverage (UPC) - pour identifier les 'trous' dans le référentiel actuel par rapport à l'usage réel.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The main problem with the regression testing process stems from the large and growing volume of tests. Indeed, as an application evolves, the number of tests can increase significantly. Consequently, systematically re-running all tests can quickly become incompatible with the development and delivery timelines for a new version. Furthermore, the effort and cost involved may bear little relation to the added value of the tests. Indeed, some of them become obsolete from one version of the application to the next; others lose their ability to detect defects or are redundant. Maintaining, for each version of an application, a minimal set of regression tests (i.e. detecting all faults with minimal effort) is an ideal objective that several research projects have sought to address, notably through automation and prioritisation (TSP: Test Case Selection and Prioritisation). Prioritising regression tests can be done for several reasons:
· to improve the defect detection rate of a test suite, i.e. the probability of detecting defects earlier during a series of regression tests using that suite.
· to increase the coverage of testable code in the system under test more rapidly, thereby enabling the code coverage criterion to be met earlier in the testing process.
· to build confidence in the reliability of the system under test at a faster pace.
· to increase the defect detection rate for high-risk defects by the test suite, so that they can be identified earlier in the testing process.
· to increase the chances of detecting defects related to specific code changes earlier in the testing process.
Machine learning has been used to improve these techniques (ML-TSP: Machine Learning Test Selection and Prioritisation), drawing primarily on models from reinforcement learning (RL), clustering, classification and natural language processing (NLP). We draw on research carried out as part of a thesis recently defended at the University of Franche-Comté by F. Tamagnan under the supervision of Fabrice Bouquet. It analyses the actual execution traces of an application by mining logs. This allows us to extract real-world usage patterns from the application and select a subset that is optimal in terms of ‘real-world usage coverage', which can then be derived into test suites. Machine learning enables clustering, followed by the selection of a test suite per test class.
In this new thesis topic, we identify four potential approaches:
1. The first approach is based on 'interaction patterns' (business patterns): the idea is to be able to use these patterns directly in the learning process to ensure that specific scenarios are covered, thereby going beyond simple statistical analysis.
2. The second approach could explore different ways of using these patterns to improve the models. For example, we could use the contextual understanding capabilities of Large Language Models (LLMs) to create richer “embeddings” of traces than traditional methods (Word2Vec, Autoencoders), thereby better capturing business semantics.
3. The third approach involves the study of the automatic transformation of selected traces from the previous methods into test scripts that can be executed on the actual system.
4. Finally, one can focus on ensuring confidence in the tests constructed in this way through the implementation of metrics. These metrics can measure completeness – for example, Usage Pattern Coverage (UPC) – to identify ‘gaps' in the current repository compared to actual usage.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Début de la thèse : 01/10/2026
· pour améliorer le taux de détection des défauts d'une suite de tests, c'est-à-dire la probabilité de détecter des défauts plus tôt lors d'une série de tests de régression utilisant cette suite.
· pour augmenter plus rapidement la couverture du code testable dans le système soumis aux tests, ce qui permettrait de satisfaire plus tôt le critère de couverture de code au cours du processus de test.
· pour renforcer leur confiance dans la fiabilité du système testé à un rythme plus soutenu.
· pour augmenter le taux de détection des défauts à haut risque par la suite de tests, afin de les repérer plus tôt dans le processus de test.
· pour augmenter les chances de détecter plus tôt, au cours du processus de test, les défauts liés à des modifications spécifiques du code.
L'apprentissage automatique a été utilisé pour améliorer ces techniques (ML-TSP : Machine Learning Test Selection and Prioritization) en se basant principalement sur des modèles issus de l'apprentissage par renforcement (RL), du regroupement par clusters, du classement et du traitement du langage naturel (NLP). Nous nous appuyons sur le travail de recherche réalisé dans le cadre d'une thèse soutenue récemment à l'université de Franche-Comté par F. Tamagnan sous la direction de Fabrice Bouquet. Elle exploite les traces d'exécution réelles d'une application en fouillant des logs. On peut ainsi en extraire des usages réels de l'application pour en choisir un sous-ensemble, optimal d'un point de vue de la « couverture de l'usage réel », que l'on peut dériver en des suites de tests. L'apprentissage automatique permet d'opérer un regroupement en clusters puis d'en choisir une suite par classe de test.
Dans le cadre de cette proposition du sujet de thèse, nous identifions quatre potentiels axes de recherche :
1. Le premier axe se base sur les 'patrons d'interaction' (patterns métier) : l'idée est de pouvoir utiliser ces patrons directement dans le processus d'apprentissage pour forcer la couverture de scénarios spécifiques pour dépasser la simple analyse statistique.
2. Le second axe vise à étudier les différentes pistes d'utilisation des patterns pour améliorer les modèles. Ainsi, on pourrait utiliser les capacités de compréhension contextuelle des Large Language Models (LLM) pour créer des 'embeddings' de traces plus riches que les méthodes traditionnelles (Word2Vec, Autoencoders), capturant ainsi mieux la sémantique métier.
3. Le troisième axe est l'étude de la transformation automatique des traces sélectionnées issues des méthodes précédentes en de scripts de test qui pourront être exécutés sur le système réel.
4. Le dernier axe cible la confiance sur les tests ainsi construits à travers la mise en place de métriques. Ces dernières peuvent mesurer la complétude – par exemple Usage Pattern Coverage (UPC) - pour identifier les 'trous' dans le référentiel actuel par rapport à l'usage réel.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The main problem with the regression testing process stems from the large and growing volume of tests. Indeed, as an application evolves, the number of tests can increase significantly. Consequently, systematically re-running all tests can quickly become incompatible with the development and delivery timelines for a new version. Furthermore, the effort and cost involved may bear little relation to the added value of the tests. Indeed, some of them become obsolete from one version of the application to the next; others lose their ability to detect defects or are redundant. Maintaining, for each version of an application, a minimal set of regression tests (i.e. detecting all faults with minimal effort) is an ideal objective that several research projects have sought to address, notably through automation and prioritisation (TSP: Test Case Selection and Prioritisation). Prioritising regression tests can be done for several reasons:
· to improve the defect detection rate of a test suite, i.e. the probability of detecting defects earlier during a series of regression tests using that suite.
· to increase the coverage of testable code in the system under test more rapidly, thereby enabling the code coverage criterion to be met earlier in the testing process.
· to build confidence in the reliability of the system under test at a faster pace.
· to increase the defect detection rate for high-risk defects by the test suite, so that they can be identified earlier in the testing process.
· to increase the chances of detecting defects related to specific code changes earlier in the testing process.
Machine learning has been used to improve these techniques (ML-TSP: Machine Learning Test Selection and Prioritisation), drawing primarily on models from reinforcement learning (RL), clustering, classification and natural language processing (NLP). We draw on research carried out as part of a thesis recently defended at the University of Franche-Comté by F. Tamagnan under the supervision of Fabrice Bouquet. It analyses the actual execution traces of an application by mining logs. This allows us to extract real-world usage patterns from the application and select a subset that is optimal in terms of ‘real-world usage coverage', which can then be derived into test suites. Machine learning enables clustering, followed by the selection of a test suite per test class.
In this new thesis topic, we identify four potential approaches:
1. The first approach is based on 'interaction patterns' (business patterns): the idea is to be able to use these patterns directly in the learning process to ensure that specific scenarios are covered, thereby going beyond simple statistical analysis.
2. The second approach could explore different ways of using these patterns to improve the models. For example, we could use the contextual understanding capabilities of Large Language Models (LLMs) to create richer “embeddings” of traces than traditional methods (Word2Vec, Autoencoders), thereby better capturing business semantics.
3. The third approach involves the study of the automatic transformation of selected traces from the previous methods into test scripts that can be executed on the actual system.
4. Finally, one can focus on ensuring confidence in the tests constructed in this way through the implementation of metrics. These metrics can measure completeness – for example, Usage Pattern Coverage (UPC) – to identify ‘gaps' in the current repository compared to actual usage.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Début de la thèse : 01/10/2026
Funding category
Funding further details
Concours allocations
Presentation of host institution and host laboratory
Université Grenoble Alpes
Institution awarding doctoral degree
Université Grenoble Alpes
Graduate school
217 MSTII - Mathématiques, Sciences et technologies de l'information, Informatique
Candidate's profile
Master en informatique, orientation génie logiciel.
Connaissance de problématiques de test et de vérification.
Une première expérience avec des outils d'apprentissage automatique serait un plus.
Master's degree in Computer Science with an emphasis on Software Engineering. Knowledge of testing and verification issues. A first experience with machine learning tools would be a plus.
Master's degree in Computer Science with an emphasis on Software Engineering. Knowledge of testing and verification issues. A first experience with machine learning tools would be a plus.
2026-06-12
Apply
Close
Vous avez déjà un compte ?
Nouvel utilisateur ?
Get ABG’s monthly newsletters including news, job offers, grants & fellowships and a selection of relevant events…
Discover our members
Généthon
Servier
SUEZ
Medicen Paris Region
TotalEnergies
Laboratoire National de Métrologie et d'Essais - LNE
Institut Sup'biotech de Paris
Ifremer
ASNR - Autorité de sûreté nucléaire et de radioprotection - Siège
Aérocentre, Pôle d'excellence régional
Nokia Bell Labs France
Groupe AFNOR - Association française de normalisation
ANRT
Tecknowmetrix
ONERA - The French Aerospace Lab
ADEME
Nantes Université


