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...
Saved in:
Published in: | International journal on software tools for technology transfer 2020-08, Vol.22 (4), p.365-388 |
---|---|
Main Authors: | , |
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 & Engineering Collection</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies & 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 & Aerospace Database</collection><collection>ProQuest Advanced Technologies & 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 |