Mutation Testing in Practice: Insights From Open-Source Software Developers
Mutation testing drives the creation and improvement of test cases by evaluating their ability to identify synthetic faults. Over the past decades, the technique has gained popularity in academic circles. In practice, however, little is known about its adoption and use. While there are some pilot st...
Gespeichert in:
Veröffentlicht in: | IEEE transactions on software engineering 2024-05, Vol.50 (5), p.1130-1143 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 1143 |
---|---|
container_issue | 5 |
container_start_page | 1130 |
container_title | IEEE transactions on software engineering |
container_volume | 50 |
creator | Sanchez, Ana B. Parejo, Jose A. Segura, Sergio Duran, Amador Papadakis, Mike |
description | Mutation testing drives the creation and improvement of test cases by evaluating their ability to identify synthetic faults. Over the past decades, the technique has gained popularity in academic circles. In practice, however, little is known about its adoption and use. While there are some pilot studies applying mutation testing in industry, the overall usage of mutation testing among developers remains largely unexplored. To fill this gap, this paper presents the results of a qualitative study among open-source developers on the use of mutation testing. Specifically, we report the results of a survey of 104 contributors to open-source projects using a variety of mutation testing tools. The findings of our study provide helpful insights into the use of mutation testing in practice, including its main benefits and limitations. Overall, we observe a high degree of satisfaction with mutation testing across different programming languages and mutation testing tools. Developers find the technique helpful for improving the quality of test suites, detecting bugs, and improving code maintainability. Popularity, usability, and configurability emerge as key factors for the adoption of mutation tools, whereas performance stands overwhelmingly as their main limitation. These results lay the groundwork for new research contributions and tools that meet the needs of developers and boost the widespread adoption of mutation testing. |
doi_str_mv | 10.1109/TSE.2024.3377378 |
format | Article |
fullrecord | <record><control><sourceid>proquest_ieee_</sourceid><recordid>TN_cdi_ieee_primary_10472898</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>10472898</ieee_id><sourcerecordid>3055167595</sourcerecordid><originalsourceid>FETCH-LOGICAL-c287t-2905ae6935df665aedb9a14f32195e9aee6b65aba9a7fd48ad38b63fedcdb81e3</originalsourceid><addsrcrecordid>eNpNkDFPwzAQhS0EEqWwMzBYYk6x4zi22RC0UFFUpJbZcpJLcdXGwXZB_HtctQPTPZ3eu3v6ELqmZEQpUXfLxXiUk7wYMSYEE_IEDahiKmM8J6doQIiSGedSnaOLENaEEC4EH6DXt1000boOLyFE262w7fC7N3W0NdzjaRfs6jMGPPFui-c9dNnC7XwNeOHa-GM84Cf4ho3rwYdLdNaaTYCr4xyij8l4-fiSzebP08eHWVbnUsQsV4QbKBXjTVuWSTaVMrRoWU4VB2UAyiqtK6OMaJtCmobJqmQtNHVTSQpsiG4Pd3vvvnaptl6nTl16qRnhnJaCK55c5OCqvQvBQ6t7b7fG_2pK9B6ZTsj0Hpk-IkuRm0PEAsA_eyFyqST7A_-UaJw</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>3055167595</pqid></control><display><type>article</type><title>Mutation Testing in Practice: Insights From Open-Source Software Developers</title><source>IEEE Electronic Library (IEL)</source><creator>Sanchez, Ana B. ; Parejo, Jose A. ; Segura, Sergio ; Duran, Amador ; Papadakis, Mike</creator><creatorcontrib>Sanchez, Ana B. ; Parejo, Jose A. ; Segura, Sergio ; Duran, Amador ; Papadakis, Mike</creatorcontrib><description>Mutation testing drives the creation and improvement of test cases by evaluating their ability to identify synthetic faults. Over the past decades, the technique has gained popularity in academic circles. In practice, however, little is known about its adoption and use. While there are some pilot studies applying mutation testing in industry, the overall usage of mutation testing among developers remains largely unexplored. To fill this gap, this paper presents the results of a qualitative study among open-source developers on the use of mutation testing. Specifically, we report the results of a survey of 104 contributors to open-source projects using a variety of mutation testing tools. The findings of our study provide helpful insights into the use of mutation testing in practice, including its main benefits and limitations. Overall, we observe a high degree of satisfaction with mutation testing across different programming languages and mutation testing tools. Developers find the technique helpful for improving the quality of test suites, detecting bugs, and improving code maintainability. Popularity, usability, and configurability emerge as key factors for the adoption of mutation tools, whereas performance stands overwhelmingly as their main limitation. These results lay the groundwork for new research contributions and tools that meet the needs of developers and boost the widespread adoption of mutation testing.</description><identifier>ISSN: 0098-5589</identifier><identifier>EISSN: 1939-3520</identifier><identifier>DOI: 10.1109/TSE.2024.3377378</identifier><identifier>CODEN: IESEDJ</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Artificial intelligence ; Codes ; Fault detection ; GitHub ; Industries ; Java ; Maintainability ; Mutation ; Mutation testing ; mutation tools ; Open source software ; Programming languages ; qualitative study ; Software development ; Software development management ; Software testing ; Surveys ; Testing</subject><ispartof>IEEE transactions on software engineering, 2024-05, Vol.50 (5), p.1130-1143</ispartof><rights>Copyright IEEE Computer Society 2024</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c287t-2905ae6935df665aedb9a14f32195e9aee6b65aba9a7fd48ad38b63fedcdb81e3</cites><orcidid>0000-0001-8816-6213 ; 0000-0003-3630-5511 ; 0000-0003-1852-2547 ; 0000-0003-1473-0955 ; 0000-0002-4708-4606</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/10472898$$EHTML$$P50$$Gieee$$Hfree_for_read</linktohtml><link.rule.ids>315,781,785,797,27929,27930,54763</link.rule.ids></links><search><creatorcontrib>Sanchez, Ana B.</creatorcontrib><creatorcontrib>Parejo, Jose A.</creatorcontrib><creatorcontrib>Segura, Sergio</creatorcontrib><creatorcontrib>Duran, Amador</creatorcontrib><creatorcontrib>Papadakis, Mike</creatorcontrib><title>Mutation Testing in Practice: Insights From Open-Source Software Developers</title><title>IEEE transactions on software engineering</title><addtitle>TSE</addtitle><description>Mutation testing drives the creation and improvement of test cases by evaluating their ability to identify synthetic faults. Over the past decades, the technique has gained popularity in academic circles. In practice, however, little is known about its adoption and use. While there are some pilot studies applying mutation testing in industry, the overall usage of mutation testing among developers remains largely unexplored. To fill this gap, this paper presents the results of a qualitative study among open-source developers on the use of mutation testing. Specifically, we report the results of a survey of 104 contributors to open-source projects using a variety of mutation testing tools. The findings of our study provide helpful insights into the use of mutation testing in practice, including its main benefits and limitations. Overall, we observe a high degree of satisfaction with mutation testing across different programming languages and mutation testing tools. Developers find the technique helpful for improving the quality of test suites, detecting bugs, and improving code maintainability. Popularity, usability, and configurability emerge as key factors for the adoption of mutation tools, whereas performance stands overwhelmingly as their main limitation. These results lay the groundwork for new research contributions and tools that meet the needs of developers and boost the widespread adoption of mutation testing.</description><subject>Artificial intelligence</subject><subject>Codes</subject><subject>Fault detection</subject><subject>GitHub</subject><subject>Industries</subject><subject>Java</subject><subject>Maintainability</subject><subject>Mutation</subject><subject>Mutation testing</subject><subject>mutation tools</subject><subject>Open source software</subject><subject>Programming languages</subject><subject>qualitative study</subject><subject>Software development</subject><subject>Software development management</subject><subject>Software testing</subject><subject>Surveys</subject><subject>Testing</subject><issn>0098-5589</issn><issn>1939-3520</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>ESBDL</sourceid><sourceid>RIE</sourceid><recordid>eNpNkDFPwzAQhS0EEqWwMzBYYk6x4zi22RC0UFFUpJbZcpJLcdXGwXZB_HtctQPTPZ3eu3v6ELqmZEQpUXfLxXiUk7wYMSYEE_IEDahiKmM8J6doQIiSGedSnaOLENaEEC4EH6DXt1000boOLyFE262w7fC7N3W0NdzjaRfs6jMGPPFui-c9dNnC7XwNeOHa-GM84Cf4ho3rwYdLdNaaTYCr4xyij8l4-fiSzebP08eHWVbnUsQsV4QbKBXjTVuWSTaVMrRoWU4VB2UAyiqtK6OMaJtCmobJqmQtNHVTSQpsiG4Pd3vvvnaptl6nTl16qRnhnJaCK55c5OCqvQvBQ6t7b7fG_2pK9B6ZTsj0Hpk-IkuRm0PEAsA_eyFyqST7A_-UaJw</recordid><startdate>20240501</startdate><enddate>20240501</enddate><creator>Sanchez, Ana B.</creator><creator>Parejo, Jose A.</creator><creator>Segura, Sergio</creator><creator>Duran, Amador</creator><creator>Papadakis, Mike</creator><general>IEEE</general><general>IEEE Computer Society</general><scope>97E</scope><scope>ESBDL</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>JQ2</scope><scope>K9.</scope><orcidid>https://orcid.org/0000-0001-8816-6213</orcidid><orcidid>https://orcid.org/0000-0003-3630-5511</orcidid><orcidid>https://orcid.org/0000-0003-1852-2547</orcidid><orcidid>https://orcid.org/0000-0003-1473-0955</orcidid><orcidid>https://orcid.org/0000-0002-4708-4606</orcidid></search><sort><creationdate>20240501</creationdate><title>Mutation Testing in Practice: Insights From Open-Source Software Developers</title><author>Sanchez, Ana B. ; Parejo, Jose A. ; Segura, Sergio ; Duran, Amador ; Papadakis, Mike</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c287t-2905ae6935df665aedb9a14f32195e9aee6b65aba9a7fd48ad38b63fedcdb81e3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Artificial intelligence</topic><topic>Codes</topic><topic>Fault detection</topic><topic>GitHub</topic><topic>Industries</topic><topic>Java</topic><topic>Maintainability</topic><topic>Mutation</topic><topic>Mutation testing</topic><topic>mutation tools</topic><topic>Open source software</topic><topic>Programming languages</topic><topic>qualitative study</topic><topic>Software development</topic><topic>Software development management</topic><topic>Software testing</topic><topic>Surveys</topic><topic>Testing</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Sanchez, Ana B.</creatorcontrib><creatorcontrib>Parejo, Jose A.</creatorcontrib><creatorcontrib>Segura, Sergio</creatorcontrib><creatorcontrib>Duran, Amador</creatorcontrib><creatorcontrib>Papadakis, Mike</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE Open Access Journals</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</fulltext></delivery><addata><au>Sanchez, Ana B.</au><au>Parejo, Jose A.</au><au>Segura, Sergio</au><au>Duran, Amador</au><au>Papadakis, Mike</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Mutation Testing in Practice: Insights From Open-Source Software Developers</atitle><jtitle>IEEE transactions on software engineering</jtitle><stitle>TSE</stitle><date>2024-05-01</date><risdate>2024</risdate><volume>50</volume><issue>5</issue><spage>1130</spage><epage>1143</epage><pages>1130-1143</pages><issn>0098-5589</issn><eissn>1939-3520</eissn><coden>IESEDJ</coden><abstract>Mutation testing drives the creation and improvement of test cases by evaluating their ability to identify synthetic faults. Over the past decades, the technique has gained popularity in academic circles. In practice, however, little is known about its adoption and use. While there are some pilot studies applying mutation testing in industry, the overall usage of mutation testing among developers remains largely unexplored. To fill this gap, this paper presents the results of a qualitative study among open-source developers on the use of mutation testing. Specifically, we report the results of a survey of 104 contributors to open-source projects using a variety of mutation testing tools. The findings of our study provide helpful insights into the use of mutation testing in practice, including its main benefits and limitations. Overall, we observe a high degree of satisfaction with mutation testing across different programming languages and mutation testing tools. Developers find the technique helpful for improving the quality of test suites, detecting bugs, and improving code maintainability. Popularity, usability, and configurability emerge as key factors for the adoption of mutation tools, whereas performance stands overwhelmingly as their main limitation. These results lay the groundwork for new research contributions and tools that meet the needs of developers and boost the widespread adoption of mutation testing.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSE.2024.3377378</doi><tpages>14</tpages><orcidid>https://orcid.org/0000-0001-8816-6213</orcidid><orcidid>https://orcid.org/0000-0003-3630-5511</orcidid><orcidid>https://orcid.org/0000-0003-1852-2547</orcidid><orcidid>https://orcid.org/0000-0003-1473-0955</orcidid><orcidid>https://orcid.org/0000-0002-4708-4606</orcidid><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0098-5589 |
ispartof | IEEE transactions on software engineering, 2024-05, Vol.50 (5), p.1130-1143 |
issn | 0098-5589 1939-3520 |
language | eng |
recordid | cdi_ieee_primary_10472898 |
source | IEEE Electronic Library (IEL) |
subjects | Artificial intelligence Codes Fault detection GitHub Industries Java Maintainability Mutation Mutation testing mutation tools Open source software Programming languages qualitative study Software development Software development management Software testing Surveys Testing |
title | Mutation Testing in Practice: Insights From Open-Source Software Developers |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-11T11%3A40%3A26IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_ieee_&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Mutation%20Testing%20in%20Practice:%20Insights%20From%20Open-Source%20Software%20Developers&rft.jtitle=IEEE%20transactions%20on%20software%20engineering&rft.au=Sanchez,%20Ana%20B.&rft.date=2024-05-01&rft.volume=50&rft.issue=5&rft.spage=1130&rft.epage=1143&rft.pages=1130-1143&rft.issn=0098-5589&rft.eissn=1939-3520&rft.coden=IESEDJ&rft_id=info:doi/10.1109/TSE.2024.3377378&rft_dat=%3Cproquest_ieee_%3E3055167595%3C/proquest_ieee_%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=3055167595&rft_id=info:pmid/&rft_ieee_id=10472898&rfr_iscdi=true |