Communication publiée dans un ouvrage (Colloques, congrès, conférences scientifiques et actes)
What Made This Test Flake? Pinpointing Classes Responsible for Test Flakiness
Habchi, Sarra; HABEN, Guillaume; SOHN, Jeongju et al.
2022In What Made This Test Flake? Pinpointing Classes Responsible for Test Flakiness
Peer reviewed
 

Documents


Texte intégral
ICSME_2022.pdf
Preprint Auteur (315.58 kB)
Télécharger

Tous les documents dans ORBilu sont protégés par une licence d'utilisation.

Envoyer vers



Détails



Mots-clés :
Software Testing; Flaky Tests; Fault Localisation
Résumé :
[en] Flaky tests are defined as tests that manifest non-deterministic behaviour by passing and failing intermittently for the same version of the code. These tests cripple continuous integration with false alerts that waste developers' time and break their trust in regression testing. To mitigate the effects of flakiness, both researchers and industrial experts proposed strategies and tools to detect and isolate flaky tests. However, flaky tests are rarely fixed as developers struggle to localise and understand their causes. Additionally, developers working with large codebases often need to know the sources of non-determinism to preserve code quality, i.e. avoid introducing technical debt linked with non-deterministic behaviour, and to avoid introducing new flaky tests. To aid with these tasks, we propose re-targeting Fault Localisation techniques to the flaky component localisation problem, i.e. pinpointing program classes that cause the non-deterministic behaviour of flaky tests. In particular, we employ Spectrum-Based Fault Localisation (SBFL), a coverage-based fault localisation technique commonly adopted for its simplicity and effectiveness. We also utilise other data sources, such as change history and static code metrics, to further improve the localisation. Our results show that augmenting SBFL with change and code metrics ranks flaky classes in the top-1 and top-5 suggestions, in 26% and 47% of the cases. Overall, we successfully reduced the average number of classes inspected to locate the first flaky class to 19% of the total number of classes covered by flaky tests. Our results also show that localisation methods are effective in major flakiness categories, such as concurrency and asynchronous waits, indicating their general ability to identify flaky components.
Centre de recherche :
Interdisciplinary Centre for Security, Reliability and Trust (SnT) > SerVal - Security, Reasoning & Validation
Disciplines :
Sciences informatiques
Auteur, co-auteur :
Habchi, Sarra
HABEN, Guillaume  ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
SOHN, Jeongju ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
Franci, Adriano
PAPADAKIS, Mike ;  University of Luxembourg > Faculty of Science, Technology and Medicine (FSTM) > Department of Computer Science (DCS)
CORDY, Maxime  ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
LE TRAON, Yves ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
Co-auteurs externes :
yes
Langue du document :
Anglais
Titre :
What Made This Test Flake? Pinpointing Classes Responsible for Test Flakiness
Date de publication/diffusion :
octobre 2022
Nom de la manifestation :
38th International Conference on Software Maintenance and Evolution
Date de la manifestation :
from 02-10-2022 to 07-10-2022
Titre de l'ouvrage principal :
What Made This Test Flake? Pinpointing Classes Responsible for Test Flakiness
Peer reviewed :
Peer reviewed
Disponible sur ORBilu :
depuis le 26 août 2023

Statistiques


Nombre de vues
200 (dont 3 Unilu)
Nombre de téléchargements
111 (dont 1 Unilu)

citations Scopus®
 
9
citations Scopus®
sans auto-citations
7
citations OpenAlex
 
11

Bibliographie


Publications similaires



Contacter ORBilu