https://repository.esi-sba.dz/jspui/handle/123456789/762
Title: | Enhancing Test Quality through Mutation Testing : State of Art |
Authors: | MELKI, YAsser |
Keywords: | Mutation Testing Software Quality Test Suite Mutant Selection Semantic Interpretation |
Issue Date: | 2024 |
Abstract: | Mutation testing is a rigorous method for evaluating the effectiveness of software test suites by injecting artificial faults (mutants) into a program and assessing whether the test suite can detect them. Unlike traditional metrics like code coverage, mutation testing goes beyond merely executing code and focuses on how well the tests can catch real-world bugs. This thesis explores the evolution of mutation testing, from its theoretical foundations in the 1970s to modern advancements aimed at reducing its computational cost and improving its applicability to various domains. The study includes a detailed review of four state-of-the-art articles addressing critical issues in mutation testing, such as mutant selection strategies, handling equivalent mutants, and enhancing test suite accuracy. Key contributions of this work include the empirical comparison of operator-based mutant selection versus random selection, the refinement of non-redundant mutation operators, and the introduction of probability-based semantic interpretation as a more efficient method for selecting semantically similar mutants. The results demonstrate that mutation testing, despite its computational challenges, remains a highly effective tool for improving test suite quality, with modern techniques significantly reducing the associated overhead. The findings from this research lay the groundwork for further exploration of mutation testing in new domains, such as machine learning and web applications, ensuring its continued relevance in the evolving landscape of software development. *** Le Mutation Testing est une méthode rigoureuse d’évaluation de l’efficacité des suites de tests logiciels en injectant des défauts artificiels (mutants) dans un programme et en évaluant la capacité de la suite de tests à les détecter. Contrairement aux métriques traditionnelles telles que la couverture de code, le Mutation Testing va au-delà de l’exécution du code et se concentre sur la capacité des tests à détecter des bugs réels. Ce mémoire explore l’évolution du Mutation Testing, depuis ses fondements théoriques dans les années 1970 jusqu’aux avancées modernes visant à réduire son coût computationnel et à améliorer son applicabilité dans divers domaines. L’étude comprend une revue détaillée de quatre articles à la pointe de la recherche, abordant des questions critiques dans le Mutation Testing, telles que les stratégies de sélection des mutants, la gestion des mutants équivalents et l’amélioration de la précision des suites de tests. Les contributions clés de ce travail incluent la comparaison empirique entre la sélection de mutants basée sur les opérateurs et la sélection aléatoire, le raffinement des opérateurs de mutation non redondants, et l’introduction de l’interprétation sémantique probabiliste comme méthode plus efficace pour sélectionner des mutants sémantiquement similaires. Les résultats démontrent que, malgré ses défis computationnels, le Mutation Testing reste un outil très efficace pour améliorer la qualité des suites de tests, avec des techniques modernes réduisant de manière significative la surcharge associée. Les conclusions de cette recherche ouvrent la voie à des explorations supplémentaires du Mutation Testing dans de nouveaux domaines, tels que l’apprentissage automatique et les applications web, garantissant sa pertinence continue dans le paysage en constante évolution du développement logiciel. |
Description: | Supervisor : Pr. Stéphane Ducasse / Dr. Awad Samir |
URI: | https://repository.esi-sba.dz/jspui/handle/123456789/762 |
Appears in Collections: | Master |
File | Description | Size | Format | |
---|---|---|---|---|
MASTER _ MELKI YASSER-1-1.pdf | 68,51 kB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.