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...
Gespeichert in:
Veröffentlicht in: | IEEE transactions on software engineering 2022-03, Vol.48 (3), p.803-818 |
---|---|
Hauptverfasser: | , , , |
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 & 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 |