A feature representing the difficulty of killing a mutant is added as a new feature to complement the state-of-the-art feature set. Then a method is proposed that uses this feature for fault-revealing mutants’ prediction. According to our experimental results, the proposed method outperforms the state-of-the-art method in terms of the Area Under Curve value on the Codeflaws and CoRBench data sets by 7.09% and 8.97%, respectively.

Mutation testing is a powerful method used in software testing for various activities, such as guidance for test case generation and test suite quality assessment. However, a vast number of mutants, most unrelated to real faults, threaten the scalability and validity of the method. Over the decades, researchers have proposed various approaches to alleviate these problems, most of which have almost the same performance in practice. To overcome this issue, recently predicting a category of mutants named fault-revealing mutants has been proposed, which outperforms other methods in terms of real-fault revelation ability. Although recent research shows the usefulness of targeting this type of mutant, they are scarce, which makes predictions of them with higher accuracy challenging. In this paper, to tackle this challenge, a feature representing the difficulty of killing a mutant is added as a new feature to complement the state-of-the-art feature set. Then a method is proposed that uses this feature for fault-revealing mutants’ prediction. According to our experimental results, the proposed method outperforms the state-of-the-art method in terms of the Area Under Curve value on the Codeflaws and CoRBench data sets by 7.09% and 8.97%, respectively.

Language(s): English

Authors: Taha Rostami, Saeed Jalili

Published in: Information and Software Technology

URL

Keywords: Software testing Mutation testing Predicting fault-revealing mutants Machine learning