Avoiding useless mutants

作者: Leonardo Fernandes , Márcio Ribeiro , Luiz Carvalho , Rohit Gheyi , Melina Mongiovi

DOI: 10.1145/3136040.3136053

关键词:

摘要: Mutation testing is a program-transformation technique that injects artificial bugs to check whether the existing test suite can detect them. However, costs of using mutation are usually high, hindering its use in industry. Useless mutants (equivalent and duplicated) contribute increase costs. Previous research has focused mainly on detecting useless only after they generated compiled. In this paper, we introduce strategy help developers with deriving rules avoid generation mutants. To our strategy, pass as input set programs. For each program, also need passing As output, yields candidates. After manually confirming classified by "useless" indeed useless, derive their thus decrease best knowledge, 37 new right before generation. We then implement subset these MUJAVA tool. Since have been derived based small Java programs, take version embedded execute it industrial-scale projects. Our reduced number almost 13% average. results promising because (i) generation; (ii) identifying more case complex programs; (iii) derived.

参考文章(33)
Konstantinos Adamopoulos, Mark Harman, Robert M. Hierons, How to Overcome the Equivalent Mutant Problem and Achieve Tailored Selective Mutation Using Co-evolution genetic and evolutionary computation conference. pp. 1338- 1349 ,(2004) , 10.1007/978-3-540-24855-2_155
Marinos Kintis, Nicos Malevris, MEDIC: A static analysis framework for equivalent mutant identification Information & Software Technology. ,vol. 68, pp. 1- 17 ,(2015) , 10.1016/J.INFSOF.2015.07.009
Douglas Baldwin, Frederick Sayward, Heuristics for Determining Equivalence of Program Mutations. Defense Technical Information Center. ,(1979) , 10.21236/ADA071795
David Schuler, Andreas Zeller, Covering and Uncovering Equivalent Mutants Software Testing, Verification and Reliability. ,vol. 23, pp. 353- 374 ,(2013) , 10.1002/STVR.1473
A.J. Offutt, Jie Pan, Detecting equivalent mutants and the feasible path problem Proceedings of 11th Annual Conference on Computer Assurance. COMPASS '96. pp. 224- 236 ,(1996) , 10.1109/CMPASS.1996.507890
Rob Hierons, Mark Harman, Sebastian Danicic, Using program slicing to assist in the detection of equivalent mutants Software Testing, Verification and Reliability. ,vol. 9, pp. 233- 262 ,(1999) , 10.1002/(SICI)1099-1689(199912)9:4<233::AID-STVR191>3.0.CO;2-3
Gordon Fraser, Andrea Arcuri, EvoSuite: automatic test suite generation for object-oriented software foundations of software engineering. pp. 416- 419 ,(2011) , 10.1145/2025113.2025179
David Schuler, Valentin Dallmeier, Andreas Zeller, Efficient mutation testing by checking invariant violations Proceedings of the eighteenth international symposium on Software testing and analysis - ISSTA '09. pp. 69- 80 ,(2009) , 10.1145/1572272.1572282
Gustavo Soares, Rohit Gheyi, Tiago Massoni, Automated Behavioral Testing of Refactoring Engines IEEE Transactions on Software Engineering. ,vol. 39, pp. 147- 162 ,(2013) , 10.1109/TSE.2012.19