HEDP: A Method for Early Forecasting Software Defects based on Human Error Mechanisms

As the primary cause of software defects, human error is the key to understanding, and perhaps to predicting and avoiding them. Little research has been done to predict defects on the basis of the cognitive errors that cause them. This paper proposes an approach to predicting software defects throug...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2021-10
Hauptverfasser: Huang, Fuqun, Strigini, Lorenzo
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title arXiv.org
container_volume
creator Huang, Fuqun
Strigini, Lorenzo
description As the primary cause of software defects, human error is the key to understanding, and perhaps to predicting and avoiding them. Little research has been done to predict defects on the basis of the cognitive errors that cause them. This paper proposes an approach to predicting software defects through knowledge about the cognitive mechanisms of human errors. Our theory is that the main process behind a software defect is that an error-prone scenario triggers human error modes, which psychologists have observed to recur across diverse activities. Software defects can then be predicted by identifying such scenarios, guided by this knowledge of typical error modes. The proposed idea emphasizes predicting the exact location and form of a possible defect. We conducted two case studies to demonstrate and validate this approach, with 55 programmers in a programming competition and 5 analysts serving as the users of the approach. We found it impressive that the approach was able to predict, at the requirement phase, the exact locations and forms of 7 out of the 22 (31.8%) specific types of defects that were found in the code. The defects predicted tended to be common defects: their occurrences constituted 75.7% of the total number of defects in the 55 developed programs; each of them was introduced by at least two persons. The fraction of the defects introduced by a programmer that were predicted was on average (over all programmers) 75%. Furthermore, these predicted defects were highly persistent through the debugging process. If the prediction had been used to successfully prevent these defects, this could have saved 46.2% of the debugging iterations. This excellent capability of forecasting the exact locations and forms of possible defects at the early phases of software development recommends the approach for substantial benefits to defect prevention and early detection.
doi_str_mv 10.48550/arxiv.2110.06758
format Article
fullrecord <record><control><sourceid>proquest_arxiv</sourceid><recordid>TN_cdi_arxiv_primary_2110_06758</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2581959836</sourcerecordid><originalsourceid>FETCH-LOGICAL-a958-4e844a6730545dc599485f1334e9154a2d79e366a00f934e35620163f6edb1463</originalsourceid><addsrcrecordid>eNotj01PwkAYhDcmJhLkB3hyE8_F_e6uNwKFmkA0Ec_NS7srJbSLu0Xl31vB0ySTmck8CN1RMhZaSvII4af-GjPaG0SlUl-hAeOcJlowdoNGMe4IIUylTEo-QO95Nnt9whO8st3WV9j5gDMI-xOe-2BLiF3dfuA377pvCBbPrLNlF_EGoq2wb3F-bKDFWQh9b2XLLbR1bOItunawj3b0r0O0nmfraZ4sXxbP08kyASN1IqwWAlTKiRSyKqUxPYGjnAtrqBTAqtRYrhQQ4kxvcqkYoYo7ZasNFYoP0f1l9sxcHELdQDgVf-zFmb1PPFwSh-A_jzZ2xc4fQ9t_KpjU1EijueK_ZmdZhw</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2581959836</pqid></control><display><type>article</type><title>HEDP: A Method for Early Forecasting Software Defects based on Human Error Mechanisms</title><source>arXiv.org</source><source>Free E- Journals</source><creator>Huang, Fuqun ; Strigini, Lorenzo</creator><creatorcontrib>Huang, Fuqun ; Strigini, Lorenzo</creatorcontrib><description>As the primary cause of software defects, human error is the key to understanding, and perhaps to predicting and avoiding them. Little research has been done to predict defects on the basis of the cognitive errors that cause them. This paper proposes an approach to predicting software defects through knowledge about the cognitive mechanisms of human errors. Our theory is that the main process behind a software defect is that an error-prone scenario triggers human error modes, which psychologists have observed to recur across diverse activities. Software defects can then be predicted by identifying such scenarios, guided by this knowledge of typical error modes. The proposed idea emphasizes predicting the exact location and form of a possible defect. We conducted two case studies to demonstrate and validate this approach, with 55 programmers in a programming competition and 5 analysts serving as the users of the approach. We found it impressive that the approach was able to predict, at the requirement phase, the exact locations and forms of 7 out of the 22 (31.8%) specific types of defects that were found in the code. The defects predicted tended to be common defects: their occurrences constituted 75.7% of the total number of defects in the 55 developed programs; each of them was introduced by at least two persons. The fraction of the defects introduced by a programmer that were predicted was on average (over all programmers) 75%. Furthermore, these predicted defects were highly persistent through the debugging process. If the prediction had been used to successfully prevent these defects, this could have saved 46.2% of the debugging iterations. This excellent capability of forecasting the exact locations and forms of possible defects at the early phases of software development recommends the approach for substantial benefits to defect prevention and early detection.</description><identifier>EISSN: 2331-8422</identifier><identifier>DOI: 10.48550/arxiv.2110.06758</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Computer Science - Artificial Intelligence ; Computer Science - Computational Complexity ; Computer Science - Computers and Society ; Computer Science - Software Engineering ; Debugging ; Defects ; Forecasting ; Human error ; Predictions ; Programmers ; Software ; Software development</subject><ispartof>arXiv.org, 2021-10</ispartof><rights>2021. This work is published under http://creativecommons.org/licenses/by-nc-nd/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><rights>http://creativecommons.org/licenses/by-nc-nd/4.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,780,784,885,27925</link.rule.ids><backlink>$$Uhttps://doi.org/10.48550/arXiv.2110.06758$$DView paper in arXiv$$Hfree_for_read</backlink><backlink>$$Uhttps://doi.org/10.1109/ACCESS.2023.3234490$$DView published paper (Access to full text may be restricted)$$Hfree_for_read</backlink></links><search><creatorcontrib>Huang, Fuqun</creatorcontrib><creatorcontrib>Strigini, Lorenzo</creatorcontrib><title>HEDP: A Method for Early Forecasting Software Defects based on Human Error Mechanisms</title><title>arXiv.org</title><description>As the primary cause of software defects, human error is the key to understanding, and perhaps to predicting and avoiding them. Little research has been done to predict defects on the basis of the cognitive errors that cause them. This paper proposes an approach to predicting software defects through knowledge about the cognitive mechanisms of human errors. Our theory is that the main process behind a software defect is that an error-prone scenario triggers human error modes, which psychologists have observed to recur across diverse activities. Software defects can then be predicted by identifying such scenarios, guided by this knowledge of typical error modes. The proposed idea emphasizes predicting the exact location and form of a possible defect. We conducted two case studies to demonstrate and validate this approach, with 55 programmers in a programming competition and 5 analysts serving as the users of the approach. We found it impressive that the approach was able to predict, at the requirement phase, the exact locations and forms of 7 out of the 22 (31.8%) specific types of defects that were found in the code. The defects predicted tended to be common defects: their occurrences constituted 75.7% of the total number of defects in the 55 developed programs; each of them was introduced by at least two persons. The fraction of the defects introduced by a programmer that were predicted was on average (over all programmers) 75%. Furthermore, these predicted defects were highly persistent through the debugging process. If the prediction had been used to successfully prevent these defects, this could have saved 46.2% of the debugging iterations. This excellent capability of forecasting the exact locations and forms of possible defects at the early phases of software development recommends the approach for substantial benefits to defect prevention and early detection.</description><subject>Computer Science - Artificial Intelligence</subject><subject>Computer Science - Computational Complexity</subject><subject>Computer Science - Computers and Society</subject><subject>Computer Science - Software Engineering</subject><subject>Debugging</subject><subject>Defects</subject><subject>Forecasting</subject><subject>Human error</subject><subject>Predictions</subject><subject>Programmers</subject><subject>Software</subject><subject>Software development</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2021</creationdate><recordtype>article</recordtype><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GOX</sourceid><recordid>eNotj01PwkAYhDcmJhLkB3hyE8_F_e6uNwKFmkA0Ec_NS7srJbSLu0Xl31vB0ySTmck8CN1RMhZaSvII4af-GjPaG0SlUl-hAeOcJlowdoNGMe4IIUylTEo-QO95Nnt9whO8st3WV9j5gDMI-xOe-2BLiF3dfuA377pvCBbPrLNlF_EGoq2wb3F-bKDFWQh9b2XLLbR1bOItunawj3b0r0O0nmfraZ4sXxbP08kyASN1IqwWAlTKiRSyKqUxPYGjnAtrqBTAqtRYrhQQ4kxvcqkYoYo7ZasNFYoP0f1l9sxcHELdQDgVf-zFmb1PPFwSh-A_jzZ2xc4fQ9t_KpjU1EijueK_ZmdZhw</recordid><startdate>20211013</startdate><enddate>20211013</enddate><creator>Huang, Fuqun</creator><creator>Strigini, Lorenzo</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20211013</creationdate><title>HEDP: A Method for Early Forecasting Software Defects based on Human Error Mechanisms</title><author>Huang, Fuqun ; Strigini, Lorenzo</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a958-4e844a6730545dc599485f1334e9154a2d79e366a00f934e35620163f6edb1463</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2021</creationdate><topic>Computer Science - Artificial Intelligence</topic><topic>Computer Science - Computational Complexity</topic><topic>Computer Science - Computers and Society</topic><topic>Computer Science - Software Engineering</topic><topic>Debugging</topic><topic>Defects</topic><topic>Forecasting</topic><topic>Human error</topic><topic>Predictions</topic><topic>Programmers</topic><topic>Software</topic><topic>Software development</topic><toplevel>online_resources</toplevel><creatorcontrib>Huang, Fuqun</creatorcontrib><creatorcontrib>Strigini, Lorenzo</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Access via ProQuest (Open Access)</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>arXiv Computer Science</collection><collection>arXiv.org</collection><jtitle>arXiv.org</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Huang, Fuqun</au><au>Strigini, Lorenzo</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>HEDP: A Method for Early Forecasting Software Defects based on Human Error Mechanisms</atitle><jtitle>arXiv.org</jtitle><date>2021-10-13</date><risdate>2021</risdate><eissn>2331-8422</eissn><abstract>As the primary cause of software defects, human error is the key to understanding, and perhaps to predicting and avoiding them. Little research has been done to predict defects on the basis of the cognitive errors that cause them. This paper proposes an approach to predicting software defects through knowledge about the cognitive mechanisms of human errors. Our theory is that the main process behind a software defect is that an error-prone scenario triggers human error modes, which psychologists have observed to recur across diverse activities. Software defects can then be predicted by identifying such scenarios, guided by this knowledge of typical error modes. The proposed idea emphasizes predicting the exact location and form of a possible defect. We conducted two case studies to demonstrate and validate this approach, with 55 programmers in a programming competition and 5 analysts serving as the users of the approach. We found it impressive that the approach was able to predict, at the requirement phase, the exact locations and forms of 7 out of the 22 (31.8%) specific types of defects that were found in the code. The defects predicted tended to be common defects: their occurrences constituted 75.7% of the total number of defects in the 55 developed programs; each of them was introduced by at least two persons. The fraction of the defects introduced by a programmer that were predicted was on average (over all programmers) 75%. Furthermore, these predicted defects were highly persistent through the debugging process. If the prediction had been used to successfully prevent these defects, this could have saved 46.2% of the debugging iterations. This excellent capability of forecasting the exact locations and forms of possible defects at the early phases of software development recommends the approach for substantial benefits to defect prevention and early detection.</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><doi>10.48550/arxiv.2110.06758</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier EISSN: 2331-8422
ispartof arXiv.org, 2021-10
issn 2331-8422
language eng
recordid cdi_arxiv_primary_2110_06758
source arXiv.org; Free E- Journals
subjects Computer Science - Artificial Intelligence
Computer Science - Computational Complexity
Computer Science - Computers and Society
Computer Science - Software Engineering
Debugging
Defects
Forecasting
Human error
Predictions
Programmers
Software
Software development
title HEDP: A Method for Early Forecasting Software Defects based on Human Error Mechanisms
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-26T05%3A43%3A25IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_arxiv&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=HEDP:%20A%20Method%20for%20Early%20Forecasting%20Software%20Defects%20based%20on%20Human%20Error%20Mechanisms&rft.jtitle=arXiv.org&rft.au=Huang,%20Fuqun&rft.date=2021-10-13&rft.eissn=2331-8422&rft_id=info:doi/10.48550/arxiv.2110.06758&rft_dat=%3Cproquest_arxiv%3E2581959836%3C/proquest_arxiv%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2581959836&rft_id=info:pmid/&rfr_iscdi=true