Improving Software Fault Localization by Combining Spectrum and Mutation
The performance of software fault localization techniques is critical to software debugging and the reliability of software. Spectrum-based fault localization (SBFL) and mutation-based fault localization (MBFL) are the two most popular fault localization methods. However, the accuracies of the two m...
Gespeichert in:
Veröffentlicht in: | IEEE access 2020, Vol.8, p.172296-172307 |
---|---|
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 | 172307 |
---|---|
container_issue | |
container_start_page | 172296 |
container_title | IEEE access |
container_volume | 8 |
creator | Cui, Zhanqi Jia, Minghua Chen, Xiang Zheng, Liwei Liu, Xiulei |
description | The performance of software fault localization techniques is critical to software debugging and the reliability of software. Spectrum-based fault localization (SBFL) and mutation-based fault localization (MBFL) are the two most popular fault localization methods. However, the accuracies of the two methods are still limited. For example, only 10.63% of faults can be detected by inspecting the top 3 suspicious elements reported by Ochiai, which is a famous SBFL technique. Unfortunately, programmers only examine the first few suspicious elements before losing patience. Since the information used in SBFL and MBFL are quite different and complementary, this paper proposes a novel approach by combining spectrum and mutation to improve the fault localization accuracy. First, the faulty program is evaluated by using SBFL, and the potential faulty statements are ranked according to their suspiciousness. Then, mutants of the program are generated and executed by MBFL. Finally, the statements that are ranked in the top tied {n} by SBFL are evaluated and reranked according to their mutation scores. Experiments are carried on the Defects4J benchmark and the results reveal that the accuracy of the proposed approach outperforms those of the SBFL and MBFL techniques. In terms of the faults located by inspecting the top 1 suspicious elements, the SMFL techniques detect at least 2.36 times more faults than two SBFL techniques (DStar and Ochiai) and detect at least 1.86 times more faults than two MBFL techniques (MUSE and Metallaxis). |
doi_str_mv | 10.1109/ACCESS.2020.3025460 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2454678066</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>9201269</ieee_id><doaj_id>oai_doaj_org_article_7ce488d103cf43ceb8d7d219575f76c1</doaj_id><sourcerecordid>2454678066</sourcerecordid><originalsourceid>FETCH-LOGICAL-c408t-fe9a95f399b86d0b06de2b8a3cbf502d043fc0ac6803739f0e1f7f662e64c63d3</originalsourceid><addsrcrecordid>eNpNUctuwjAQjKpWKqJ8AZdIPUPXduLYRxRBQaLqgfZsOX6goCSmTtKKfn0NQah72dVqZvYxUTRFMEcI-Msiz5e73RwDhjkBnCYU7qIRRpTPSEro_b_6MZq07QFCsNBKs1G03tRH777LZh_vnO1-pDfxSvZVF2-dklX5K7vSNXFxinNXF2VzAR6N6nxfx7LR8VvfXSBP0YOVVWsm1zyOPlfLj3w9276_bvLFdqYSYN3MGi55agnnBaMaCqDa4IJJogqbAtaQEKtAKsqAZIRbMMhmllJsaKIo0WQcbQZd7eRBHH1ZS38STpbi0nB-L6TvSlUZkSmTMKYREGUTokzBdKYxCnenNqMKBa3nQSu84Ks3bScOrvdNWF_gJPwxY0BpQJEBpbxrW2_sbSoCcXZADA6IswPi6kBgTQdWaYy5MTgGhCknf041gYY</addsrcrecordid><sourcetype>Open Website</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2454678066</pqid></control><display><type>article</type><title>Improving Software Fault Localization by Combining Spectrum and Mutation</title><source>IEEE Open Access Journals</source><source>DOAJ Directory of Open Access Journals</source><source>EZB-FREE-00999 freely available EZB journals</source><creator>Cui, Zhanqi ; Jia, Minghua ; Chen, Xiang ; Zheng, Liwei ; Liu, Xiulei</creator><creatorcontrib>Cui, Zhanqi ; Jia, Minghua ; Chen, Xiang ; Zheng, Liwei ; Liu, Xiulei</creatorcontrib><description>The performance of software fault localization techniques is critical to software debugging and the reliability of software. Spectrum-based fault localization (SBFL) and mutation-based fault localization (MBFL) are the two most popular fault localization methods. However, the accuracies of the two methods are still limited. For example, only 10.63% of faults can be detected by inspecting the top 3 suspicious elements reported by Ochiai, which is a famous SBFL technique. Unfortunately, programmers only examine the first few suspicious elements before losing patience. Since the information used in SBFL and MBFL are quite different and complementary, this paper proposes a novel approach by combining spectrum and mutation to improve the fault localization accuracy. First, the faulty program is evaluated by using SBFL, and the potential faulty statements are ranked according to their suspiciousness. Then, mutants of the program are generated and executed by MBFL. Finally, the statements that are ranked in the top tied <inline-formula> <tex-math notation="LaTeX">{n} </tex-math></inline-formula> by SBFL are evaluated and reranked according to their mutation scores. Experiments are carried on the Defects4J benchmark and the results reveal that the accuracy of the proposed approach outperforms those of the SBFL and MBFL techniques. In terms of the faults located by inspecting the top 1 suspicious elements, the SMFL techniques detect at least 2.36 times more faults than two SBFL techniques (DStar and Ochiai) and detect at least 1.86 times more faults than two MBFL techniques (MUSE and Metallaxis).</description><identifier>ISSN: 2169-3536</identifier><identifier>EISSN: 2169-3536</identifier><identifier>DOI: 10.1109/ACCESS.2020.3025460</identifier><identifier>CODEN: IAECCG</identifier><language>eng</language><publisher>Piscataway: IEEE</publisher><subject>Benchmark testing ; Debugging ; Fault detection ; fault localization ; Fault location ; Information science ; Localization ; Mutation ; mutation testing ; program spectrum ; Software ; Software debugging ; Software quality ; Software reliability</subject><ispartof>IEEE access, 2020, Vol.8, p.172296-172307</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2020</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c408t-fe9a95f399b86d0b06de2b8a3cbf502d043fc0ac6803739f0e1f7f662e64c63d3</citedby><cites>FETCH-LOGICAL-c408t-fe9a95f399b86d0b06de2b8a3cbf502d043fc0ac6803739f0e1f7f662e64c63d3</cites><orcidid>0000-0002-9303-3682 ; 0000-0001-7641-6369 ; 0000-0003-0859-7502 ; 0000-0002-1180-3891 ; 0000-0002-5537-9236</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/9201269$$EHTML$$P50$$Gieee$$Hfree_for_read</linktohtml><link.rule.ids>314,776,780,860,2095,4009,27612,27902,27903,27904,54912</link.rule.ids></links><search><creatorcontrib>Cui, Zhanqi</creatorcontrib><creatorcontrib>Jia, Minghua</creatorcontrib><creatorcontrib>Chen, Xiang</creatorcontrib><creatorcontrib>Zheng, Liwei</creatorcontrib><creatorcontrib>Liu, Xiulei</creatorcontrib><title>Improving Software Fault Localization by Combining Spectrum and Mutation</title><title>IEEE access</title><addtitle>Access</addtitle><description>The performance of software fault localization techniques is critical to software debugging and the reliability of software. Spectrum-based fault localization (SBFL) and mutation-based fault localization (MBFL) are the two most popular fault localization methods. However, the accuracies of the two methods are still limited. For example, only 10.63% of faults can be detected by inspecting the top 3 suspicious elements reported by Ochiai, which is a famous SBFL technique. Unfortunately, programmers only examine the first few suspicious elements before losing patience. Since the information used in SBFL and MBFL are quite different and complementary, this paper proposes a novel approach by combining spectrum and mutation to improve the fault localization accuracy. First, the faulty program is evaluated by using SBFL, and the potential faulty statements are ranked according to their suspiciousness. Then, mutants of the program are generated and executed by MBFL. Finally, the statements that are ranked in the top tied <inline-formula> <tex-math notation="LaTeX">{n} </tex-math></inline-formula> by SBFL are evaluated and reranked according to their mutation scores. Experiments are carried on the Defects4J benchmark and the results reveal that the accuracy of the proposed approach outperforms those of the SBFL and MBFL techniques. In terms of the faults located by inspecting the top 1 suspicious elements, the SMFL techniques detect at least 2.36 times more faults than two SBFL techniques (DStar and Ochiai) and detect at least 1.86 times more faults than two MBFL techniques (MUSE and Metallaxis).</description><subject>Benchmark testing</subject><subject>Debugging</subject><subject>Fault detection</subject><subject>fault localization</subject><subject>Fault location</subject><subject>Information science</subject><subject>Localization</subject><subject>Mutation</subject><subject>mutation testing</subject><subject>program spectrum</subject><subject>Software</subject><subject>Software debugging</subject><subject>Software quality</subject><subject>Software reliability</subject><issn>2169-3536</issn><issn>2169-3536</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><sourceid>ESBDL</sourceid><sourceid>RIE</sourceid><sourceid>DOA</sourceid><recordid>eNpNUctuwjAQjKpWKqJ8AZdIPUPXduLYRxRBQaLqgfZsOX6goCSmTtKKfn0NQah72dVqZvYxUTRFMEcI-Msiz5e73RwDhjkBnCYU7qIRRpTPSEro_b_6MZq07QFCsNBKs1G03tRH777LZh_vnO1-pDfxSvZVF2-dklX5K7vSNXFxinNXF2VzAR6N6nxfx7LR8VvfXSBP0YOVVWsm1zyOPlfLj3w9276_bvLFdqYSYN3MGi55agnnBaMaCqDa4IJJogqbAtaQEKtAKsqAZIRbMMhmllJsaKIo0WQcbQZd7eRBHH1ZS38STpbi0nB-L6TvSlUZkSmTMKYREGUTokzBdKYxCnenNqMKBa3nQSu84Ks3bScOrvdNWF_gJPwxY0BpQJEBpbxrW2_sbSoCcXZADA6IswPi6kBgTQdWaYy5MTgGhCknf041gYY</recordid><startdate>2020</startdate><enddate>2020</enddate><creator>Cui, Zhanqi</creator><creator>Jia, Minghua</creator><creator>Chen, Xiang</creator><creator>Zheng, Liwei</creator><creator>Liu, Xiulei</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>ESBDL</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>7SR</scope><scope>8BQ</scope><scope>8FD</scope><scope>JG9</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>DOA</scope><orcidid>https://orcid.org/0000-0002-9303-3682</orcidid><orcidid>https://orcid.org/0000-0001-7641-6369</orcidid><orcidid>https://orcid.org/0000-0003-0859-7502</orcidid><orcidid>https://orcid.org/0000-0002-1180-3891</orcidid><orcidid>https://orcid.org/0000-0002-5537-9236</orcidid></search><sort><creationdate>2020</creationdate><title>Improving Software Fault Localization by Combining Spectrum and Mutation</title><author>Cui, Zhanqi ; Jia, Minghua ; Chen, Xiang ; Zheng, Liwei ; Liu, Xiulei</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c408t-fe9a95f399b86d0b06de2b8a3cbf502d043fc0ac6803739f0e1f7f662e64c63d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>Benchmark testing</topic><topic>Debugging</topic><topic>Fault detection</topic><topic>fault localization</topic><topic>Fault location</topic><topic>Information science</topic><topic>Localization</topic><topic>Mutation</topic><topic>mutation testing</topic><topic>program spectrum</topic><topic>Software</topic><topic>Software debugging</topic><topic>Software quality</topic><topic>Software reliability</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Cui, Zhanqi</creatorcontrib><creatorcontrib>Jia, Minghua</creatorcontrib><creatorcontrib>Chen, Xiang</creatorcontrib><creatorcontrib>Zheng, Liwei</creatorcontrib><creatorcontrib>Liu, Xiulei</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>Computer and Information Systems Abstracts</collection><collection>Electronics & Communications Abstracts</collection><collection>Engineered Materials Abstracts</collection><collection>METADEX</collection><collection>Technology Research Database</collection><collection>Materials Research Database</collection><collection>ProQuest Computer Science 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>DOAJ Directory of Open Access Journals</collection><jtitle>IEEE access</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Cui, Zhanqi</au><au>Jia, Minghua</au><au>Chen, Xiang</au><au>Zheng, Liwei</au><au>Liu, Xiulei</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Improving Software Fault Localization by Combining Spectrum and Mutation</atitle><jtitle>IEEE access</jtitle><stitle>Access</stitle><date>2020</date><risdate>2020</risdate><volume>8</volume><spage>172296</spage><epage>172307</epage><pages>172296-172307</pages><issn>2169-3536</issn><eissn>2169-3536</eissn><coden>IAECCG</coden><abstract>The performance of software fault localization techniques is critical to software debugging and the reliability of software. Spectrum-based fault localization (SBFL) and mutation-based fault localization (MBFL) are the two most popular fault localization methods. However, the accuracies of the two methods are still limited. For example, only 10.63% of faults can be detected by inspecting the top 3 suspicious elements reported by Ochiai, which is a famous SBFL technique. Unfortunately, programmers only examine the first few suspicious elements before losing patience. Since the information used in SBFL and MBFL are quite different and complementary, this paper proposes a novel approach by combining spectrum and mutation to improve the fault localization accuracy. First, the faulty program is evaluated by using SBFL, and the potential faulty statements are ranked according to their suspiciousness. Then, mutants of the program are generated and executed by MBFL. Finally, the statements that are ranked in the top tied <inline-formula> <tex-math notation="LaTeX">{n} </tex-math></inline-formula> by SBFL are evaluated and reranked according to their mutation scores. Experiments are carried on the Defects4J benchmark and the results reveal that the accuracy of the proposed approach outperforms those of the SBFL and MBFL techniques. In terms of the faults located by inspecting the top 1 suspicious elements, the SMFL techniques detect at least 2.36 times more faults than two SBFL techniques (DStar and Ochiai) and detect at least 1.86 times more faults than two MBFL techniques (MUSE and Metallaxis).</abstract><cop>Piscataway</cop><pub>IEEE</pub><doi>10.1109/ACCESS.2020.3025460</doi><tpages>12</tpages><orcidid>https://orcid.org/0000-0002-9303-3682</orcidid><orcidid>https://orcid.org/0000-0001-7641-6369</orcidid><orcidid>https://orcid.org/0000-0003-0859-7502</orcidid><orcidid>https://orcid.org/0000-0002-1180-3891</orcidid><orcidid>https://orcid.org/0000-0002-5537-9236</orcidid><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 2169-3536 |
ispartof | IEEE access, 2020, Vol.8, p.172296-172307 |
issn | 2169-3536 2169-3536 |
language | eng |
recordid | cdi_proquest_journals_2454678066 |
source | IEEE Open Access Journals; DOAJ Directory of Open Access Journals; EZB-FREE-00999 freely available EZB journals |
subjects | Benchmark testing Debugging Fault detection fault localization Fault location Information science Localization Mutation mutation testing program spectrum Software Software debugging Software quality Software reliability |
title | Improving Software Fault Localization by Combining Spectrum and Mutation |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-22T04%3A52%3A43IST&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=Improving%20Software%20Fault%20Localization%20by%20Combining%20Spectrum%20and%20Mutation&rft.jtitle=IEEE%20access&rft.au=Cui,%20Zhanqi&rft.date=2020&rft.volume=8&rft.spage=172296&rft.epage=172307&rft.pages=172296-172307&rft.issn=2169-3536&rft.eissn=2169-3536&rft.coden=IAECCG&rft_id=info:doi/10.1109/ACCESS.2020.3025460&rft_dat=%3Cproquest_cross%3E2454678066%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2454678066&rft_id=info:pmid/&rft_ieee_id=9201269&rft_doaj_id=oai_doaj_org_article_7ce488d103cf43ceb8d7d219575f76c1&rfr_iscdi=true |