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

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 t...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on software engineering 2022-03, Vol.48 (3), p.803-818
Hauptverfasser: Guizzo, Giovani, Sarro, Federica, Krinke, Jens, Vergilio, Silvia R.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 818
container_issue 3
container_start_page 803
container_title IEEE transactions on software engineering
container_volume 48
creator Guizzo, Giovani
Sarro, Federica
Krinke, Jens
Vergilio, Silvia R.
description 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.
doi_str_mv 10.1109/TSE.2020.3002496
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_ieee_primary_9117067</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>9117067</ieee_id><sourcerecordid>2639936838</sourcerecordid><originalsourceid>FETCH-LOGICAL-c333t-326debfc31e9fb61381a79d2aa1553a5b06987848526c42ba5bbc168872edf1d3</originalsourceid><addsrcrecordid>eNo9kEFLAzEQRoMoWKt3wUvA89ZJ0mQTb6XUVmgRbD2H7O5Et9TdmmQP_fdubfE08M37ZuARcs9gxBiYp816NuLAYSQA-NioCzJgRphMSA6XZABgdCalNtfkJsYtAMg8lwOyWmOT6gZ3z3RCF4c9hmyBXahjqkvq20DTF9I5NhhcqtuGtp6uuuSaRN-x6sq_bJ36JX7WGG_JlXe7iHfnOSQfL7PNdJEt3-av08kyK4UQKRNcVVj4UjA0vlBMaOZyU3HnmJTCyQKU0bkea8lVOeZFnxQlU1rnHCvPKjEkj6e7-9D-dBiT3bZdaPqXlithjFBa6J6CE1WGNsaA3u5D_e3CwTKwR2m2l2aP0uxZWl95OFVqRPzHDWM5qFz8An12Z3U</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2639936838</pqid></control><display><type>article</type><title>Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies</title><source>IEEE Electronic Library (IEL)</source><creator>Guizzo, Giovani ; Sarro, Federica ; Krinke, Jens ; Vergilio, Silvia R.</creator><creatorcontrib>Guizzo, Giovani ; Sarro, Federica ; Krinke, Jens ; Vergilio, Silvia R.</creatorcontrib><description>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.</description><identifier>ISSN: 0098-5589</identifier><identifier>EISSN: 1939-3520</identifier><identifier>DOI: 10.1109/TSE.2020.3002496</identifier><identifier>CODEN: IESEDJ</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Best practice ; Computational efficiency ; Computing costs ; Cost reduction ; grammatical evolution ; Heuristic methods ; hyper-heuristic ; Maintenance engineering ; mutant reduction ; Mutation ; Mutation testing ; Open source software ; search based software engineering ; search based software testing ; Search problems ; Software engineering ; Software testing ; Testing</subject><ispartof>IEEE transactions on software engineering, 2022-03, Vol.48 (3), p.803-818</ispartof><rights>Copyright IEEE Computer Society 2022</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c333t-326debfc31e9fb61381a79d2aa1553a5b06987848526c42ba5bbc168872edf1d3</citedby><cites>FETCH-LOGICAL-c333t-326debfc31e9fb61381a79d2aa1553a5b06987848526c42ba5bbc168872edf1d3</cites><orcidid>0000-0003-1009-2861 ; 0000-0002-9146-442X</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/9117067$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,778,782,794,27911,27912,54745</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/9117067$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Guizzo, Giovani</creatorcontrib><creatorcontrib>Sarro, Federica</creatorcontrib><creatorcontrib>Krinke, Jens</creatorcontrib><creatorcontrib>Vergilio, Silvia R.</creatorcontrib><title>Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies</title><title>IEEE transactions on software engineering</title><addtitle>TSE</addtitle><description>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.</description><subject>Best practice</subject><subject>Computational efficiency</subject><subject>Computing costs</subject><subject>Cost reduction</subject><subject>grammatical evolution</subject><subject>Heuristic methods</subject><subject>hyper-heuristic</subject><subject>Maintenance engineering</subject><subject>mutant reduction</subject><subject>Mutation</subject><subject>Mutation testing</subject><subject>Open source software</subject><subject>search based software engineering</subject><subject>search based software testing</subject><subject>Search problems</subject><subject>Software engineering</subject><subject>Software testing</subject><subject>Testing</subject><issn>0098-5589</issn><issn>1939-3520</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNo9kEFLAzEQRoMoWKt3wUvA89ZJ0mQTb6XUVmgRbD2H7O5Et9TdmmQP_fdubfE08M37ZuARcs9gxBiYp816NuLAYSQA-NioCzJgRphMSA6XZABgdCalNtfkJsYtAMg8lwOyWmOT6gZ3z3RCF4c9hmyBXahjqkvq20DTF9I5NhhcqtuGtp6uuuSaRN-x6sq_bJ36JX7WGG_JlXe7iHfnOSQfL7PNdJEt3-av08kyK4UQKRNcVVj4UjA0vlBMaOZyU3HnmJTCyQKU0bkea8lVOeZFnxQlU1rnHCvPKjEkj6e7-9D-dBiT3bZdaPqXlithjFBa6J6CE1WGNsaA3u5D_e3CwTKwR2m2l2aP0uxZWl95OFVqRPzHDWM5qFz8An12Z3U</recordid><startdate>20220301</startdate><enddate>20220301</enddate><creator>Guizzo, Giovani</creator><creator>Sarro, Federica</creator><creator>Krinke, Jens</creator><creator>Vergilio, Silvia R.</creator><general>IEEE</general><general>IEEE Computer Society</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>JQ2</scope><scope>K9.</scope><orcidid>https://orcid.org/0000-0003-1009-2861</orcidid><orcidid>https://orcid.org/0000-0002-9146-442X</orcidid></search><sort><creationdate>20220301</creationdate><title>Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies</title><author>Guizzo, Giovani ; Sarro, Federica ; Krinke, Jens ; Vergilio, Silvia R.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c333t-326debfc31e9fb61381a79d2aa1553a5b06987848526c42ba5bbc168872edf1d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Best practice</topic><topic>Computational efficiency</topic><topic>Computing costs</topic><topic>Cost reduction</topic><topic>grammatical evolution</topic><topic>Heuristic methods</topic><topic>hyper-heuristic</topic><topic>Maintenance engineering</topic><topic>mutant reduction</topic><topic>Mutation</topic><topic>Mutation testing</topic><topic>Open source software</topic><topic>search based software engineering</topic><topic>search based software testing</topic><topic>Search problems</topic><topic>Software engineering</topic><topic>Software testing</topic><topic>Testing</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Guizzo, Giovani</creatorcontrib><creatorcontrib>Sarro, Federica</creatorcontrib><creatorcontrib>Krinke, Jens</creatorcontrib><creatorcontrib>Vergilio, Silvia R.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>ProQuest Computer Science Collection</collection><collection>ProQuest Health &amp; Medical Complete (Alumni)</collection><jtitle>IEEE transactions on software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Guizzo, Giovani</au><au>Sarro, Federica</au><au>Krinke, Jens</au><au>Vergilio, Silvia R.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies</atitle><jtitle>IEEE transactions on software engineering</jtitle><stitle>TSE</stitle><date>2022-03-01</date><risdate>2022</risdate><volume>48</volume><issue>3</issue><spage>803</spage><epage>818</epage><pages>803-818</pages><issn>0098-5589</issn><eissn>1939-3520</eissn><coden>IESEDJ</coden><abstract>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.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSE.2020.3002496</doi><tpages>16</tpages><orcidid>https://orcid.org/0000-0003-1009-2861</orcidid><orcidid>https://orcid.org/0000-0002-9146-442X</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 0098-5589
ispartof IEEE transactions on software engineering, 2022-03, Vol.48 (3), p.803-818
issn 0098-5589
1939-3520
language eng
recordid cdi_ieee_primary_9117067
source IEEE Electronic Library (IEL)
subjects Best practice
Computational efficiency
Computing costs
Cost reduction
grammatical evolution
Heuristic methods
hyper-heuristic
Maintenance engineering
mutant reduction
Mutation
Mutation testing
Open source software
search based software engineering
search based software testing
Search problems
Software engineering
Software testing
Testing
title Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-15T21%3A47%3A43IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Sentinel:%20A%20Hyper-Heuristic%20for%20the%20Generation%20of%20Mutant%20Reduction%20Strategies&rft.jtitle=IEEE%20transactions%20on%20software%20engineering&rft.au=Guizzo,%20Giovani&rft.date=2022-03-01&rft.volume=48&rft.issue=3&rft.spage=803&rft.epage=818&rft.pages=803-818&rft.issn=0098-5589&rft.eissn=1939-3520&rft.coden=IESEDJ&rft_id=info:doi/10.1109/TSE.2020.3002496&rft_dat=%3Cproquest_RIE%3E2639936838%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2639936838&rft_id=info:pmid/&rft_ieee_id=9117067&rfr_iscdi=true