Loading…

Comparing mutation coverage against branch coverage in an industrial setting

The state-of-the-practice in software development is driven by constant change fueled by continues integration servers. Such constant change demands for frequent and fully automated tests capable to detect faults immediately upon project build. As the fault detection capability of the test suite bec...

Full description

Saved in:
Bibliographic Details
Published in:International journal on software tools for technology transfer 2020-08, Vol.22 (4), p.365-388
Main Authors: Parsai, Ali, Demeyer, Serge
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c319t-491d3c7daddbed2a7012ab0cce2174fa8778f2767d6027559834ecffddac4fd03
cites cdi_FETCH-LOGICAL-c319t-491d3c7daddbed2a7012ab0cce2174fa8778f2767d6027559834ecffddac4fd03
container_end_page 388
container_issue 4
container_start_page 365
container_title International journal on software tools for technology transfer
container_volume 22
creator Parsai, Ali
Demeyer, Serge
description The state-of-the-practice in software development is driven by constant change fueled by continues integration servers. Such constant change demands for frequent and fully automated tests capable to detect faults immediately upon project build. As the fault detection capability of the test suite becomes so important, modern software development teams continuously monitor the quality of the test suite as well. However, it appears that the state-of-the-practice is reluctant to adopt strong coverage metrics (namely mutation coverage), instead relying on weaker kinds of coverage (namely branch coverage). In this paper, we investigate three reasons that prohibit the adoption of mutation coverage in a continuous integration setting: (1) the difficulty of its integration into the build system, (2) the perception that branch coverage is “good enough”, and (3) the performance overhead during the build. Our investigation is based on a case study involving four open source systems and one industrial system. We demonstrate that mutation coverage reveals additional weaknesses in the test suite compared to branch coverage and that it is able to do so with an acceptable performance overhead during project build.
doi_str_mv 10.1007/s10009-020-00567-y
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2421246012</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2421246012</sourcerecordid><originalsourceid>FETCH-LOGICAL-c319t-491d3c7daddbed2a7012ab0cce2174fa8778f2767d6027559834ecffddac4fd03</originalsourceid><addsrcrecordid>eNp9kE1Lw0AQhhdRsFb_gKeA59XZj2aToxS_oOBFz8t0P2pKm8TdjZB_79aIvXmZGYb3fWd4CLlmcMsA1F3MFWoKHCjAolR0PCEzJoWgXFXq9G9W9Tm5iHELwFSp6hlZLbt9j6FpN8V-SJiari1M9-UCblyBG2zamIp1wNZ8HPdNW2Cbqx1iCg3uiuhSyhGX5MzjLrqr3z4n748Pb8tnunp9elner6gRrE5U1swKoyxau3aWowLGcQ3GOM6U9FgpVXme_7MlcLVY1JWQznhvLRrpLYg5uZly-9B9Di4mve2G0OaTmkvOuCxzYlbxSWVCF2NwXveh2WMYNQN9oKYnajpT0z_U9JhNYjLF_gDFhWP0P65vmhVxig</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2421246012</pqid></control><display><type>article</type><title>Comparing mutation coverage against branch coverage in an industrial setting</title><source>Springer Nature</source><creator>Parsai, Ali ; Demeyer, Serge</creator><creatorcontrib>Parsai, Ali ; Demeyer, Serge</creatorcontrib><description>The state-of-the-practice in software development is driven by constant change fueled by continues integration servers. Such constant change demands for frequent and fully automated tests capable to detect faults immediately upon project build. As the fault detection capability of the test suite becomes so important, modern software development teams continuously monitor the quality of the test suite as well. However, it appears that the state-of-the-practice is reluctant to adopt strong coverage metrics (namely mutation coverage), instead relying on weaker kinds of coverage (namely branch coverage). In this paper, we investigate three reasons that prohibit the adoption of mutation coverage in a continuous integration setting: (1) the difficulty of its integration into the build system, (2) the perception that branch coverage is “good enough”, and (3) the performance overhead during the build. Our investigation is based on a case study involving four open source systems and one industrial system. We demonstrate that mutation coverage reveals additional weaknesses in the test suite compared to branch coverage and that it is able to do so with an acceptable performance overhead during project build.</description><identifier>ISSN: 1433-2779</identifier><identifier>EISSN: 1433-2787</identifier><identifier>DOI: 10.1007/s10009-020-00567-y</identifier><language>eng</language><publisher>Berlin/Heidelberg: Springer Berlin Heidelberg</publisher><subject>Computer Science ; Construction ; Fault detection ; Foundation for Mastering Change ; Mutation ; Software development ; Software Engineering ; Software Engineering/Programming and Operating Systems ; Theory of Computation</subject><ispartof>International journal on software tools for technology transfer, 2020-08, Vol.22 (4), p.365-388</ispartof><rights>Springer-Verlag GmbH Germany, part of Springer Nature 2020</rights><rights>Springer-Verlag GmbH Germany, part of Springer Nature 2020.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c319t-491d3c7daddbed2a7012ab0cce2174fa8778f2767d6027559834ecffddac4fd03</citedby><cites>FETCH-LOGICAL-c319t-491d3c7daddbed2a7012ab0cce2174fa8778f2767d6027559834ecffddac4fd03</cites><orcidid>0000-0001-8525-8198 ; 0000-0002-4463-2945</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,777,781,27905,27906</link.rule.ids></links><search><creatorcontrib>Parsai, Ali</creatorcontrib><creatorcontrib>Demeyer, Serge</creatorcontrib><title>Comparing mutation coverage against branch coverage in an industrial setting</title><title>International journal on software tools for technology transfer</title><addtitle>Int J Softw Tools Technol Transfer</addtitle><description>The state-of-the-practice in software development is driven by constant change fueled by continues integration servers. Such constant change demands for frequent and fully automated tests capable to detect faults immediately upon project build. As the fault detection capability of the test suite becomes so important, modern software development teams continuously monitor the quality of the test suite as well. However, it appears that the state-of-the-practice is reluctant to adopt strong coverage metrics (namely mutation coverage), instead relying on weaker kinds of coverage (namely branch coverage). In this paper, we investigate three reasons that prohibit the adoption of mutation coverage in a continuous integration setting: (1) the difficulty of its integration into the build system, (2) the perception that branch coverage is “good enough”, and (3) the performance overhead during the build. Our investigation is based on a case study involving four open source systems and one industrial system. We demonstrate that mutation coverage reveals additional weaknesses in the test suite compared to branch coverage and that it is able to do so with an acceptable performance overhead during project build.</description><subject>Computer Science</subject><subject>Construction</subject><subject>Fault detection</subject><subject>Foundation for Mastering Change</subject><subject>Mutation</subject><subject>Software development</subject><subject>Software Engineering</subject><subject>Software Engineering/Programming and Operating Systems</subject><subject>Theory of Computation</subject><issn>1433-2779</issn><issn>1433-2787</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><recordid>eNp9kE1Lw0AQhhdRsFb_gKeA59XZj2aToxS_oOBFz8t0P2pKm8TdjZB_79aIvXmZGYb3fWd4CLlmcMsA1F3MFWoKHCjAolR0PCEzJoWgXFXq9G9W9Tm5iHELwFSp6hlZLbt9j6FpN8V-SJiari1M9-UCblyBG2zamIp1wNZ8HPdNW2Cbqx1iCg3uiuhSyhGX5MzjLrqr3z4n748Pb8tnunp9elner6gRrE5U1swKoyxau3aWowLGcQ3GOM6U9FgpVXme_7MlcLVY1JWQznhvLRrpLYg5uZly-9B9Di4mve2G0OaTmkvOuCxzYlbxSWVCF2NwXveh2WMYNQN9oKYnajpT0z_U9JhNYjLF_gDFhWP0P65vmhVxig</recordid><startdate>20200801</startdate><enddate>20200801</enddate><creator>Parsai, Ali</creator><creator>Demeyer, Serge</creator><general>Springer Berlin Heidelberg</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8AO</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>8G5</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>GUQSH</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L6V</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>M2O</scope><scope>M7S</scope><scope>MBDVC</scope><scope>P5Z</scope><scope>P62</scope><scope>PADUT</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</scope><orcidid>https://orcid.org/0000-0001-8525-8198</orcidid><orcidid>https://orcid.org/0000-0002-4463-2945</orcidid></search><sort><creationdate>20200801</creationdate><title>Comparing mutation coverage against branch coverage in an industrial setting</title><author>Parsai, Ali ; Demeyer, Serge</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c319t-491d3c7daddbed2a7012ab0cce2174fa8778f2767d6027559834ecffddac4fd03</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>Computer Science</topic><topic>Construction</topic><topic>Fault detection</topic><topic>Foundation for Mastering Change</topic><topic>Mutation</topic><topic>Software development</topic><topic>Software Engineering</topic><topic>Software Engineering/Programming and Operating Systems</topic><topic>Theory of Computation</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Parsai, Ali</creatorcontrib><creatorcontrib>Demeyer, Serge</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest Pharma Collection</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>Research Library (Alumni Edition)</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>AUTh Library subscriptions: ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>Research Library Prep</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Engineering Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>ProQuest research library</collection><collection>Engineering Database</collection><collection>Research Library (Corporate)</collection><collection>Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>Research Library China</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection><collection>ProQuest Central Basic</collection><jtitle>International journal on software tools for technology transfer</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Parsai, Ali</au><au>Demeyer, Serge</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Comparing mutation coverage against branch coverage in an industrial setting</atitle><jtitle>International journal on software tools for technology transfer</jtitle><stitle>Int J Softw Tools Technol Transfer</stitle><date>2020-08-01</date><risdate>2020</risdate><volume>22</volume><issue>4</issue><spage>365</spage><epage>388</epage><pages>365-388</pages><issn>1433-2779</issn><eissn>1433-2787</eissn><abstract>The state-of-the-practice in software development is driven by constant change fueled by continues integration servers. Such constant change demands for frequent and fully automated tests capable to detect faults immediately upon project build. As the fault detection capability of the test suite becomes so important, modern software development teams continuously monitor the quality of the test suite as well. However, it appears that the state-of-the-practice is reluctant to adopt strong coverage metrics (namely mutation coverage), instead relying on weaker kinds of coverage (namely branch coverage). In this paper, we investigate three reasons that prohibit the adoption of mutation coverage in a continuous integration setting: (1) the difficulty of its integration into the build system, (2) the perception that branch coverage is “good enough”, and (3) the performance overhead during the build. Our investigation is based on a case study involving four open source systems and one industrial system. We demonstrate that mutation coverage reveals additional weaknesses in the test suite compared to branch coverage and that it is able to do so with an acceptable performance overhead during project build.</abstract><cop>Berlin/Heidelberg</cop><pub>Springer Berlin Heidelberg</pub><doi>10.1007/s10009-020-00567-y</doi><tpages>24</tpages><orcidid>https://orcid.org/0000-0001-8525-8198</orcidid><orcidid>https://orcid.org/0000-0002-4463-2945</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 1433-2779
ispartof International journal on software tools for technology transfer, 2020-08, Vol.22 (4), p.365-388
issn 1433-2779
1433-2787
language eng
recordid cdi_proquest_journals_2421246012
source Springer Nature
subjects Computer Science
Construction
Fault detection
Foundation for Mastering Change
Mutation
Software development
Software Engineering
Software Engineering/Programming and Operating Systems
Theory of Computation
title Comparing mutation coverage against branch coverage in an industrial setting
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-20T00%3A00%3A37IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Comparing%20mutation%20coverage%20against%20branch%20coverage%20in%20an%20industrial%20setting&rft.jtitle=International%20journal%20on%20software%20tools%20for%20technology%20transfer&rft.au=Parsai,%20Ali&rft.date=2020-08-01&rft.volume=22&rft.issue=4&rft.spage=365&rft.epage=388&rft.pages=365-388&rft.issn=1433-2779&rft.eissn=1433-2787&rft_id=info:doi/10.1007/s10009-020-00567-y&rft_dat=%3Cproquest_cross%3E2421246012%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c319t-491d3c7daddbed2a7012ab0cce2174fa8778f2767d6027559834ecffddac4fd03%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=2421246012&rft_id=info:pmid/&rfr_iscdi=true