A Cost-effective and Machine-learning-based method to identify and cluster redundant mutants in software mutation testing

dc.contributor.authorArasteh, B.
dc.contributor.authorGhaffari, A.
dc.date.accessioned2024-05-19T14:33:44Z
dc.date.available2024-05-19T14:33:44Z
dc.date.issued2024
dc.departmentİstinye Üniversitesien_US
dc.description.abstractThe quality of software test data is assessed through mutation testing. This technique involves introducing various modifications (mutants) to the original code of the program. The test data’s effectiveness, known as the test score, is quantified by the proportion of mutants that are successfully detected. A prominent issue within software mutation testing is the generation of an excessive quantity of mutants in programs. The primary objectives of this research are to diminish the total count of mutants by consolidating those that are duplicative, to decrease the overall mutation testing time by lessening the quantity of mutants produced, and to lower the expenses associated with mutation testing. This research introduces a machine learning-based strategy to recognise and eliminate redundant mutants. Building a machine learning-based classifier to classify the instructions according to the rate of error propagation is the first contribution of this study. Next, the remaining instructions of the source code are analyzed by the designed parser to generate single-line mutants. Unlike traditional approaches, mutants are not generated as distinct full-fledged programs. Instead, mutants consisting of a single line are selectively run using a developed instruction evaluator. Following this, a clustering technique is employed to categorise single-line mutants yielding identical outcomes into groups, where only one complete execution is needed per group. Testing on Java benchmarks with the new method has shown a decrease in the mutant count by 56.33% and a time reduction of 56.71% when compared with parallel tests using the MuJava and MuClipse tools. Despite the marked decrease in both mutant count and testing time, the mutation score remained consistent. Comparable outcomes were also observed with other mutation testing tools such as Pitest, Jester, Jumble, and JavaLancer. © The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2024.en_US
dc.identifier.doi10.1007/s11227-024-06107-8
dc.identifier.issn0920-8542
dc.identifier.scopus2-s2.0-85190518434en_US
dc.identifier.scopusqualityN/Aen_US
dc.identifier.urihttps://doi.org/10.1007/s11227-024-06107-8
dc.identifier.urihttps://hdl.handle.net/20.500.12713/4321
dc.indekslendigikaynakScopusen_US
dc.language.isoenen_US
dc.publisherSpringeren_US
dc.relation.ispartofJournal of Supercomputingen_US
dc.relation.publicationcategoryMakale - Uluslararası Hakemli Dergi - Kurum Öğretim Elemanıen_US
dc.rightsinfo:eu-repo/semantics/closedAccessen_US
dc.snmz20240519_kaen_US
dc.subjectCost Of Mutation Testen_US
dc.subjectMachine Learning Algorithmen_US
dc.subjectRedundant Mutanten_US
dc.subjectSingle-Line Mutantsen_US
dc.subjectSoftware Mutation Testingen_US
dc.titleA Cost-effective and Machine-learning-based method to identify and cluster redundant mutants in software mutation testingen_US
dc.typeArticleen_US

Dosyalar