Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies

被引:10
作者
Guizzo, Giovani [1 ]
Sarro, Federica [1 ]
Krinke, Jens [1 ]
Vergilio, Silvia R. [2 ]
机构
[1] UCL, Gower St, London WC1E 6EA, England
[2] Univ Fed Parana, BR-82590300 Curitiba, Parana, Brazil
关键词
Testing; Maintenance engineering; Computational efficiency; Open source software; Software engineering; Search problems; Mutation testing; mutant reduction; software testing; grammatical evolution; hyper-heuristic; search based software testing; search based software engineering;
D O I
10.1109/TSE.2020.3002496
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Mutation testing is an effective approach to evaluate and strengthen software test suites, but its adoption is currently limited by the mutants' execution computational cost. Several strategies have been proposed to reduce this cost (a.k.a. mutation cost reduction strategies), however none of them has proven to be effective for all scenarios since they often need an ad-hoc manual selection and configuration depending on the software under test (SUT). In this paper, we propose a novel multi-objective evolutionary hyper-heuristic approach, dubbed Sentinel, to automate the generation of optimal cost reduction strategies for every new SUT. We evaluate Sentinel by carrying out a thorough empirical study involving 40 releases of 10 open-source real-world software systems and both baseline and state-of-the-art strategies as a benchmark. We execute a total of 4,800 experiments, and evaluate their results with both quality indicators and statistical significance tests, following the most recent best practice in the literature. The results show that strategies generated by Sentinel outperform the baseline strategies in 95 percent of the cases always with large effect sizes. They also obtain statistically significantly better results than state-of-the-art strategies in 88 percent of the cases, with large effect sizes for 95 percent of them. Also, our study reveals that the mutation strategies generated by Sentinel for a given software version can be used without any loss in quality for subsequently developed versions in 95 percent of the cases. These results show that Sentinel is able to automatically generate mutation strategies that reduce mutation testing cost without affecting its testing effectiveness (i.e., mutation score), thus taking off from the tester's shoulders the burden of manually selecting and configuring strategies for each SUT.
引用
收藏
页码:803 / 818
页数:16
相关论文
共 80 条
[21]   Hyper-Heuristic Based Product Selection for Software Product Line Testing [J].
Ferreira, Thiago N. ;
Jackson, A. ;
Lima, Prado ;
Strickler, Andrei ;
Kuk, Josiel N. ;
Vergilio, Silvia R. ;
Pozo, Aurora .
IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE, 2017, 12 (02) :34-45
[22]  
Ferrucci F, 2018, EVOL COMPUT, V26, P535, DOI [10.1162/EVCO_a_00213, 10.1162/evco_a_00213]
[23]   A Parallel Genetic Algorithms Framework based on Hadoop MapReduce [J].
Ferrucci, Filomena ;
Salza, Pasquale ;
Kechadi, M-Tahar ;
Sarro, Federica .
30TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, VOLS I AND II, 2015, :1664-1667
[24]  
Ferrucci F, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P462, DOI 10.1109/ICSE.2013.6606592
[25]   On The Limits of Mutation Reduction Strategies [J].
Gopinath, Rahul ;
Alipour, Mohammad Amin ;
Ahmed, Iftekhar ;
Jensen, Carlos ;
Groce, Alex .
2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, :511-522
[26]  
Gopinath R, 2015, 2015 IEEE 26TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), P216, DOI 10.1109/ISSRE.2015.7381815
[27]  
Guizzo G., 2020, SENTINEL GITHUB
[28]  
Guizzo G., P ACM JOINT EUR SOFT
[29]  
Guizzo G., 2020, SENTINEL HOME
[30]   A Hyper-heuristic for Multi-objective Integration and Test Ordering in Google Guava [J].
Guizzo, Giovani ;
Bazargani, Mosab ;
Paixao, Matheus ;
Drake, John H. .
SEARCH BASED SOFTWARE ENGINEERING, SSBSE 2017, 2017, 10452 :168-174