Machine Learning on User Traces for Regression Test Generation

Les tests de non-régression de bout-en-bout permettent d’assurer que les fonctionnalités principales d’un système ne soient pas dégradées après chaque itération ou cycle de développement. Ce domaine du test a gagné en efficacité et en cout avec l’avènement des pratiques de développement et d’intégration continue. Cependant les tests de non-régression étant exécutes de plus en plus fréquemment pour garantir la fiabilité du système, il est nécessaire d’établir des suites de tests optimales. Le postulat de cette thèse est qu’une suite de test de non-régression optimale devrait être alignée sur les comportements principaux des utilisateurs d’un système, c’est-à-dire les comportements les plus fréquents observes, plus à même de générer fréquemment des bugs. Afin d’obtenir des suites de test optimales, les chercheurs ont développes des techniques qui permettent de réduire la redondance des tests, ou encore de les prioriser. Certaines utilisent le clustering permettant le groupement de tests en paquets homogènes, afin d’identifier quels tests sont des doublons. En outre, les systèmes actuels sont monitorés de mieux en mieux par la collecte de journaux massifs (logs). Les logs contiennent les traces utilisateurs, c’est-à-dire des séquences d’appels API ou d’évènements sur l’interface graphique qui permettent de retracer l’usage du système. A des fins de sélection de test, le clustering a été applique sur les traces utilisateurs pour les grouper en paquets homogènes, représentant les comportements principaux. On peut y choisir une ou plusieurs traces candidates à l’intérieur pour les dériver en tests et ainsi avoir une suite de tests représentant les comportements principaux. Cependant l’évaluation actuelle des tests et les métriques utilisées pour l’optimisation des suites de tests se basent généralement 1) sur des métriques d’évaluation comme la couverture de code qui ne prennent pas en compte l’importance statistique de certaines parties du logiciel fréquemment déclenchées par les comportements principaux 2) sur des métriques traditionnelles de l’apprentissage automatique éloignées des besoins métiers du test. De plus les pipelines de clustering comportent plusieurs étapes : vectorisation des traces, clustering, et choix d’une ou plusieurs traces candidates à l’intérieur des clusters. Chaque étape peut s’effectuer a l’aide d’algorithmes différents. A la différence du traitement automatique du langage dont cette thèse s’inspire, chaque cas d’usage logiciel est diffèrent et la nature de ses traces utilisateurs aussi. A chaque cas d’usage introduit, si l’on veut appliquer un pipeline de clustering, il convient de recalculer la performance de la variété d’algorithmes a notre disposition. Ainsi que d’établir le nombre de clusters optimal, hyperparamètre a définir a priori, qui influence directement la taille de la suite de tests générée. A cet effet, les métriques d’évaluation du clustering, pour le classement des algorithmes ou la détermination du nombre optimal de cluster, peuvent se contredire et sont décorrélées des objectifs de test. Pour répondre a ces besoins 1) d’évaluer la représentativité statistique d’une suite de test 2) de mesurer la performance des pipelines de clustering a effectuer de la sélection de tests a partir de traces d’usage, une nouvelle métrique est introduite basée sur la fouille de motifs séquentiel. Cette métrique nous permet de dériver deux critères qui permettront d’évaluer 33 pipelines de clustering (dont certains basés sur des technologies récentes de vectorisation comme les transformers) sur 6 cas d’usage différents, tout en choisissant leur nombre de clusters optimal. Une application web intégrant cette méthodologie est aussi développée pour permettre a des équipes de tests d’utiliser ces techniques.

Authors

Institutions

Publication Details

Journal
theses.fr (ABES)
Published
2024-12-03
Primary Topic
Machine Learning and Data Classification
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Machine Learning on User Traces for Regression Test Generation

Frédéric Tamagnan
theses.fr (ABES)
Machine Learning and Data Classification
article

Machine Learning on User Traces for Regression Test Generation

Frédéric Tamagnan
article en

Abstract

Les tests de non-régression de bout-en-bout permettent d’assurer que les fonctionnalités principales d’un système ne soient pas dégradées après chaque itération ou cycle de développement. Ce domaine du test a gagné en efficacité et en cout avec l’avènement des pratiques de développement et d’intégration continue. Cependant les tests de non-régression étant exécutes de plus en plus fréquemment pour garantir la fiabilité du système, il est nécessaire d’établir des suites de tests optimales. Le postulat de cette thèse est qu’une suite de test de non-régression optimale devrait être alignée sur les comportements principaux des utilisateurs d’un système, c’est-à-dire les comportements les plus fréquents observes, plus à même de générer fréquemment des bugs. Afin d’obtenir des suites de test optimales, les chercheurs ont développes des techniques qui permettent de réduire la redondance des tests, ou encore de les prioriser. Certaines utilisent le clustering permettant le groupement de tests en paquets homogènes, afin d’identifier quels tests sont des doublons. En outre, les systèmes actuels sont monitorés de mieux en mieux par la collecte de journaux massifs (logs). Les logs contiennent les traces utilisateurs, c’est-à-dire des séquences d’appels API ou d’évènements sur l’interface graphique qui permettent de retracer l’usage du système. A des fins de sélection de test, le clustering a été applique sur les traces utilisateurs pour les grouper en paquets homogènes, représentant les comportements principaux. On peut y choisir une ou plusieurs traces candidates à l’intérieur pour les dériver en tests et ainsi avoir une suite de tests représentant les comportements principaux. Cependant l’évaluation actuelle des tests et les métriques utilisées pour l’optimisation des suites de tests se basent généralement 1) sur des métriques d’évaluation comme la couverture de code qui ne prennent pas en compte l’importance statistique de certaines parties du logiciel fréquemment déclenchées par les comportements principaux 2) sur des métriques traditionnelles de l’apprentissage automatique éloignées des besoins métiers du test. De plus les pipelines de clustering comportent plusieurs étapes : vectorisation des traces, clustering, et choix d’une ou plusieurs traces candidates à l’intérieur des clusters. Chaque étape peut s’effectuer a l’aide d’algorithmes différents. A la différence du traitement automatique du langage dont cette thèse s’inspire, chaque cas d’usage logiciel est diffèrent et la nature de ses traces utilisateurs aussi. A chaque cas d’usage introduit, si l’on veut appliquer un pipeline de clustering, il convient de recalculer la performance de la variété d’algorithmes a notre disposition. Ainsi que d’établir le nombre de clusters optimal, hyperparamètre a définir a priori, qui influence directement la taille de la suite de tests générée. A cet effet, les métriques d’évaluation du clustering, pour le classement des algorithmes ou la détermination du nombre optimal de cluster, peuvent se contredire et sont décorrélées des objectifs de test. Pour répondre a ces besoins 1) d’évaluer la représentativité statistique d’une suite de test 2) de mesurer la performance des pipelines de clustering a effectuer de la sélection de tests a partir de traces d’usage, une nouvelle métrique est introduite basée sur la fouille de motifs séquentiel. Cette métrique nous permet de dériver deux critères qui permettront d’évaluer 33 pipelines de clustering (dont certains basés sur des technologies récentes de vectorisation comme les transformers) sur 6 cas d’usage différents, tout en choisissant leur nombre de clusters optimal. Une application web intégrant cette méthodologie est aussi développée pour permettre a des équipes de tests d’utiliser ces techniques.

theses.fr (ABES)
Franche-Comté Électronique Mécanique Thermique et Optique - Sciences et Technologies (FR)
Openalex Percentile: Top 71%
Machine Learning and Data Classification
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.