Effective Software Mutation-Test Using Program Instructions Classification

dc.authoridArasteh, Bahman/0000-0001-5202-6315
dc.authorwosidArasteh, Bahman/AAN-9555-2021
dc.contributor.authorAsghari, Zeinab
dc.contributor.authorArasteh, Bahman
dc.contributor.authorKoochari, Abbas
dc.date.accessioned2024-05-19T14:46:45Z
dc.date.available2024-05-19T14:46:45Z
dc.date.issued2023
dc.departmentİstinye Üniversitesien_US
dc.description.abstractThe quantity of bugs that a software test-data finds determines its effectiveness. A useful technique for assessing the efficacy of a test set is mutation testing. The primary issues with the mutation test are cost and time requirements. Close to 40% of the injected bugs in the mutation test are effect-less (equivalent). Reducing the number of generated total mutants by decreasing equivalent mutants and reducing the execution time of the mutation test are the main objectives of this study. An error-propagation aware mutation test approach has been suggested in this research. Three steps make up the process. To find a collection of instruction-level characteristics effective on the error propagation rate, the data and instructions of the input program were evaluated in the first step. Utilizing supervised machine learning techniques, an instruction classifier was developed using the prepared dataset in the second step. After classifying the program instructions automatically by the created classifier, the mutation test is performed only on the identified error-propagating instructions; the identified non-error-propagating instructions are avoided to mutate in the proposed mutation testing. The conducted experiments on the set of standard benchmark programs indicate that the proposed method causes about 19% reduction in the number of generated mutants. Furthermore, the proposed method causes a 32.24% reduction in the live mutants. It should be noted that the proposed method eliminated only the affectless mutants. The key technical benefit of the suggested solution is that mutation of the instructions that don't propagate errors is avoided. These findings can lead to a performance improvement in the existing mutation-test methods and tools.en_US
dc.identifier.doi10.1007/s10836-023-06089-0
dc.identifier.endpage657en_US
dc.identifier.issn0923-8174
dc.identifier.issn1573-0727
dc.identifier.issue5-6en_US
dc.identifier.scopus2-s2.0-85181874716en_US
dc.identifier.scopusqualityQ3en_US
dc.identifier.startpage631en_US
dc.identifier.urihttps://doi.org10.1007/s10836-023-06089-0
dc.identifier.urihttps://hdl.handle.net/20.500.12713/5586
dc.identifier.volume39en_US
dc.identifier.wosWOS:001138239100001en_US
dc.identifier.wosqualityN/Aen_US
dc.indekslendigikaynakWeb of Scienceen_US
dc.indekslendigikaynakScopusen_US
dc.language.isoenen_US
dc.publisherSpringeren_US
dc.relation.ispartofJournal of Electronic Testing-Theory and Applicationsen_US
dc.relation.publicationcategoryMakale - Uluslararası Hakemli Dergi - Kurum Öğretim Elemanıen_US
dc.rightsinfo:eu-repo/semantics/closedAccessen_US
dc.snmz20240519_kaen_US
dc.subjectSoftware Testen_US
dc.subjectEquivalent Mutanten_US
dc.subjectError Propagationen_US
dc.subjectMachine Learningen_US
dc.subjectInstruction Classificationen_US
dc.titleEffective Software Mutation-Test Using Program Instructions Classificationen_US
dc.typeArticleen_US

Dosyalar