Practical considerations in deploying statistical methods for defect prediction: A case study within the Turkish telecommunications industry

Building defect prediction models in large organizations has many challenges due to limited resources and tight schedules in the software development lifecycle. It is not easy to collect data, utilize any type of algorithm and build a permanent model at once. We have conducted a study in a large tel...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Information and software technology 2010-11, Vol.52 (11), p.1242-1257
Hauptverfasser: Tosun, Ayşe, Bener, Ayşe, Turhan, Burak, Menzies, Tim
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 1257
container_issue 11
container_start_page 1242
container_title Information and software technology
container_volume 52
creator Tosun, Ayşe
Bener, Ayşe
Turhan, Burak
Menzies, Tim
description Building defect prediction models in large organizations has many challenges due to limited resources and tight schedules in the software development lifecycle. It is not easy to collect data, utilize any type of algorithm and build a permanent model at once. We have conducted a study in a large telecommunications company in Turkey to employ a software measurement program and to predict pre-release defects. Based on our prior publication, we have shared our experience in terms of the project steps (i.e. challenges and opportunities). We have further introduced new techniques that improve our earlier results. In our previous work, we have built similar predictors using data representative for US software development. Our task here was to check if those predictors were specific solely to US organizations or to a broader class of software. We have presented our approach and results in the form of an experience report. Specifically, we have made use of different techniques for improving the information content of the software data and the performance of a Naïve Bayes classifier in the prediction model that is locally tuned for the company. We have increased the information content of the software data by using module dependency data and improved the performance by adjusting the hyper-parameter (decision threshold) of the Naïve Bayes classifier. We have reported and discussed our results in terms of defect detection rates and false alarms. We also carried out a cost–benefit analysis to show that our approach can be efficiently put into practice. Our general result is that general defect predictors, which exist across a wide range of software (in both US and Turkish organizations), are present. Our specific results indicate that concerning the organization subject to this study, the use of version history information along with code metrics decreased false alarms by 22%, the use of dependencies between modules further reduced false alarms by 8%, and the decision threshold optimization for the Naïve Bayes classifier using code metrics and version history information further improved false alarms by 30% in comparison to a prediction using only code metrics and a default decision threshold. Implementing statistical techniques and machine learning on a real life scenario is a difficult yet possible task. Using simple statistical and algorithmic techniques produces an average detection rate of 88%. Although using dependency data improves our results, it is difficult
doi_str_mv 10.1016/j.infsof.2010.06.006
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1671270835</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>S0950584910001163</els_id><sourcerecordid>1671270835</sourcerecordid><originalsourceid>FETCH-LOGICAL-c438t-3595679d9f481b766d612fff16eb5a0be6419586befcd6dce840ac4fe3b0137c3</originalsourceid><addsrcrecordid>eNqFkc-O1DAMxiMEEsPCG3DIkUsHp3_SlAPSasXCSivBYTlHaeIwGdpmiFPQvAMPTUaF63KyZf2-z7I_xl4L2AsQ8u1xHxZP0e9rKCOQewD5hO2E6ptKQt09ZTsYOqg61Q7P2QuiI4DooYEd-_0lGZuDNRO3caHgMJkcSsfDwh2epngOyzdOuUxp42bMh-iI-5gK4dFmfkrogr3o3vFrbg1hUazuzH-FfChG-YD8YU3fAx14xgltnOd1KW7_VrmVcjq_ZM-8mQhf_a1X7Ovth4ebT9X95493N9f3lW0blaumGzrZD27wrRJjL6WTovbeC4ljZ2BE2YqhU3JEb510FlULxrYemxFE09vmir3ZfE8p_liRsp4DWZwms2BcSQvZi7oH1XT_R-taKFVDPRS03VCbIlFCr08pzCadtQB9yUkf9ZaTvuSkQeqSU5G932RYLv4ZMGmyARdbPprKb7WL4XGDP3Ukodk</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1221882029</pqid></control><display><type>article</type><title>Practical considerations in deploying statistical methods for defect prediction: A case study within the Turkish telecommunications industry</title><source>ScienceDirect Journals (5 years ago - present)</source><creator>Tosun, Ayşe ; Bener, Ayşe ; Turhan, Burak ; Menzies, Tim</creator><creatorcontrib>Tosun, Ayşe ; Bener, Ayşe ; Turhan, Burak ; Menzies, Tim</creatorcontrib><description>Building defect prediction models in large organizations has many challenges due to limited resources and tight schedules in the software development lifecycle. It is not easy to collect data, utilize any type of algorithm and build a permanent model at once. We have conducted a study in a large telecommunications company in Turkey to employ a software measurement program and to predict pre-release defects. Based on our prior publication, we have shared our experience in terms of the project steps (i.e. challenges and opportunities). We have further introduced new techniques that improve our earlier results. In our previous work, we have built similar predictors using data representative for US software development. Our task here was to check if those predictors were specific solely to US organizations or to a broader class of software. We have presented our approach and results in the form of an experience report. Specifically, we have made use of different techniques for improving the information content of the software data and the performance of a Naïve Bayes classifier in the prediction model that is locally tuned for the company. We have increased the information content of the software data by using module dependency data and improved the performance by adjusting the hyper-parameter (decision threshold) of the Naïve Bayes classifier. We have reported and discussed our results in terms of defect detection rates and false alarms. We also carried out a cost–benefit analysis to show that our approach can be efficiently put into practice. Our general result is that general defect predictors, which exist across a wide range of software (in both US and Turkish organizations), are present. Our specific results indicate that concerning the organization subject to this study, the use of version history information along with code metrics decreased false alarms by 22%, the use of dependencies between modules further reduced false alarms by 8%, and the decision threshold optimization for the Naïve Bayes classifier using code metrics and version history information further improved false alarms by 30% in comparison to a prediction using only code metrics and a default decision threshold. Implementing statistical techniques and machine learning on a real life scenario is a difficult yet possible task. Using simple statistical and algorithmic techniques produces an average detection rate of 88%. Although using dependency data improves our results, it is difficult to collect and analyze such data in general. Therefore, we would recommend optimizing the hyper-parameter of the proposed technique, Naïve Bayes, to calibrate the defect prediction model rather than employing more complex classifiers. We also recommend that researchers who explore statistical and algorithmic methods for defect prediction should spend less time on their algorithms and more time on studying the pragmatic considerations of large organizations.</description><identifier>ISSN: 0950-5849</identifier><identifier>EISSN: 1873-6025</identifier><identifier>DOI: 10.1016/j.infsof.2010.06.006</identifier><language>eng</language><publisher>Elsevier B.V</publisher><subject>Algorithms ; Bayesian analysis ; Classifiers ; Computer programs ; Defects ; Experience report ; False alarms ; Mathematical models ; Naïve Bayes ; Organizations ; Software ; Software defect prediction ; Static code attributes</subject><ispartof>Information and software technology, 2010-11, Vol.52 (11), p.1242-1257</ispartof><rights>2010 Elsevier B.V.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c438t-3595679d9f481b766d612fff16eb5a0be6419586befcd6dce840ac4fe3b0137c3</citedby><cites>FETCH-LOGICAL-c438t-3595679d9f481b766d612fff16eb5a0be6419586befcd6dce840ac4fe3b0137c3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://dx.doi.org/10.1016/j.infsof.2010.06.006$$EHTML$$P50$$Gelsevier$$H</linktohtml><link.rule.ids>314,780,784,3548,27923,27924,45994</link.rule.ids></links><search><creatorcontrib>Tosun, Ayşe</creatorcontrib><creatorcontrib>Bener, Ayşe</creatorcontrib><creatorcontrib>Turhan, Burak</creatorcontrib><creatorcontrib>Menzies, Tim</creatorcontrib><title>Practical considerations in deploying statistical methods for defect prediction: A case study within the Turkish telecommunications industry</title><title>Information and software technology</title><description>Building defect prediction models in large organizations has many challenges due to limited resources and tight schedules in the software development lifecycle. It is not easy to collect data, utilize any type of algorithm and build a permanent model at once. We have conducted a study in a large telecommunications company in Turkey to employ a software measurement program and to predict pre-release defects. Based on our prior publication, we have shared our experience in terms of the project steps (i.e. challenges and opportunities). We have further introduced new techniques that improve our earlier results. In our previous work, we have built similar predictors using data representative for US software development. Our task here was to check if those predictors were specific solely to US organizations or to a broader class of software. We have presented our approach and results in the form of an experience report. Specifically, we have made use of different techniques for improving the information content of the software data and the performance of a Naïve Bayes classifier in the prediction model that is locally tuned for the company. We have increased the information content of the software data by using module dependency data and improved the performance by adjusting the hyper-parameter (decision threshold) of the Naïve Bayes classifier. We have reported and discussed our results in terms of defect detection rates and false alarms. We also carried out a cost–benefit analysis to show that our approach can be efficiently put into practice. Our general result is that general defect predictors, which exist across a wide range of software (in both US and Turkish organizations), are present. Our specific results indicate that concerning the organization subject to this study, the use of version history information along with code metrics decreased false alarms by 22%, the use of dependencies between modules further reduced false alarms by 8%, and the decision threshold optimization for the Naïve Bayes classifier using code metrics and version history information further improved false alarms by 30% in comparison to a prediction using only code metrics and a default decision threshold. Implementing statistical techniques and machine learning on a real life scenario is a difficult yet possible task. Using simple statistical and algorithmic techniques produces an average detection rate of 88%. Although using dependency data improves our results, it is difficult to collect and analyze such data in general. Therefore, we would recommend optimizing the hyper-parameter of the proposed technique, Naïve Bayes, to calibrate the defect prediction model rather than employing more complex classifiers. We also recommend that researchers who explore statistical and algorithmic methods for defect prediction should spend less time on their algorithms and more time on studying the pragmatic considerations of large organizations.</description><subject>Algorithms</subject><subject>Bayesian analysis</subject><subject>Classifiers</subject><subject>Computer programs</subject><subject>Defects</subject><subject>Experience report</subject><subject>False alarms</subject><subject>Mathematical models</subject><subject>Naïve Bayes</subject><subject>Organizations</subject><subject>Software</subject><subject>Software defect prediction</subject><subject>Static code attributes</subject><issn>0950-5849</issn><issn>1873-6025</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2010</creationdate><recordtype>article</recordtype><recordid>eNqFkc-O1DAMxiMEEsPCG3DIkUsHp3_SlAPSasXCSivBYTlHaeIwGdpmiFPQvAMPTUaF63KyZf2-z7I_xl4L2AsQ8u1xHxZP0e9rKCOQewD5hO2E6ptKQt09ZTsYOqg61Q7P2QuiI4DooYEd-_0lGZuDNRO3caHgMJkcSsfDwh2epngOyzdOuUxp42bMh-iI-5gK4dFmfkrogr3o3vFrbg1hUazuzH-FfChG-YD8YU3fAx14xgltnOd1KW7_VrmVcjq_ZM-8mQhf_a1X7Ovth4ebT9X95493N9f3lW0blaumGzrZD27wrRJjL6WTovbeC4ljZ2BE2YqhU3JEb510FlULxrYemxFE09vmir3ZfE8p_liRsp4DWZwms2BcSQvZi7oH1XT_R-taKFVDPRS03VCbIlFCr08pzCadtQB9yUkf9ZaTvuSkQeqSU5G932RYLv4ZMGmyARdbPprKb7WL4XGDP3Ukodk</recordid><startdate>20101101</startdate><enddate>20101101</enddate><creator>Tosun, Ayşe</creator><creator>Bener, Ayşe</creator><creator>Turhan, Burak</creator><creator>Menzies, Tim</creator><general>Elsevier B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20101101</creationdate><title>Practical considerations in deploying statistical methods for defect prediction: A case study within the Turkish telecommunications industry</title><author>Tosun, Ayşe ; Bener, Ayşe ; Turhan, Burak ; Menzies, Tim</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c438t-3595679d9f481b766d612fff16eb5a0be6419586befcd6dce840ac4fe3b0137c3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2010</creationdate><topic>Algorithms</topic><topic>Bayesian analysis</topic><topic>Classifiers</topic><topic>Computer programs</topic><topic>Defects</topic><topic>Experience report</topic><topic>False alarms</topic><topic>Mathematical models</topic><topic>Naïve Bayes</topic><topic>Organizations</topic><topic>Software</topic><topic>Software defect prediction</topic><topic>Static code attributes</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Tosun, Ayşe</creatorcontrib><creatorcontrib>Bener, Ayşe</creatorcontrib><creatorcontrib>Turhan, Burak</creatorcontrib><creatorcontrib>Menzies, Tim</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology 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><jtitle>Information and software technology</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Tosun, Ayşe</au><au>Bener, Ayşe</au><au>Turhan, Burak</au><au>Menzies, Tim</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Practical considerations in deploying statistical methods for defect prediction: A case study within the Turkish telecommunications industry</atitle><jtitle>Information and software technology</jtitle><date>2010-11-01</date><risdate>2010</risdate><volume>52</volume><issue>11</issue><spage>1242</spage><epage>1257</epage><pages>1242-1257</pages><issn>0950-5849</issn><eissn>1873-6025</eissn><abstract>Building defect prediction models in large organizations has many challenges due to limited resources and tight schedules in the software development lifecycle. It is not easy to collect data, utilize any type of algorithm and build a permanent model at once. We have conducted a study in a large telecommunications company in Turkey to employ a software measurement program and to predict pre-release defects. Based on our prior publication, we have shared our experience in terms of the project steps (i.e. challenges and opportunities). We have further introduced new techniques that improve our earlier results. In our previous work, we have built similar predictors using data representative for US software development. Our task here was to check if those predictors were specific solely to US organizations or to a broader class of software. We have presented our approach and results in the form of an experience report. Specifically, we have made use of different techniques for improving the information content of the software data and the performance of a Naïve Bayes classifier in the prediction model that is locally tuned for the company. We have increased the information content of the software data by using module dependency data and improved the performance by adjusting the hyper-parameter (decision threshold) of the Naïve Bayes classifier. We have reported and discussed our results in terms of defect detection rates and false alarms. We also carried out a cost–benefit analysis to show that our approach can be efficiently put into practice. Our general result is that general defect predictors, which exist across a wide range of software (in both US and Turkish organizations), are present. Our specific results indicate that concerning the organization subject to this study, the use of version history information along with code metrics decreased false alarms by 22%, the use of dependencies between modules further reduced false alarms by 8%, and the decision threshold optimization for the Naïve Bayes classifier using code metrics and version history information further improved false alarms by 30% in comparison to a prediction using only code metrics and a default decision threshold. Implementing statistical techniques and machine learning on a real life scenario is a difficult yet possible task. Using simple statistical and algorithmic techniques produces an average detection rate of 88%. Although using dependency data improves our results, it is difficult to collect and analyze such data in general. Therefore, we would recommend optimizing the hyper-parameter of the proposed technique, Naïve Bayes, to calibrate the defect prediction model rather than employing more complex classifiers. We also recommend that researchers who explore statistical and algorithmic methods for defect prediction should spend less time on their algorithms and more time on studying the pragmatic considerations of large organizations.</abstract><pub>Elsevier B.V</pub><doi>10.1016/j.infsof.2010.06.006</doi><tpages>16</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0950-5849
ispartof Information and software technology, 2010-11, Vol.52 (11), p.1242-1257
issn 0950-5849
1873-6025
language eng
recordid cdi_proquest_miscellaneous_1671270835
source ScienceDirect Journals (5 years ago - present)
subjects Algorithms
Bayesian analysis
Classifiers
Computer programs
Defects
Experience report
False alarms
Mathematical models
Naïve Bayes
Organizations
Software
Software defect prediction
Static code attributes
title Practical considerations in deploying statistical methods for defect prediction: A case study within the Turkish telecommunications industry
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-11T19%3A54%3A55IST&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=Practical%20considerations%20in%20deploying%20statistical%20methods%20for%20defect%20prediction:%20A%20case%20study%20within%20the%20Turkish%20telecommunications%20industry&rft.jtitle=Information%20and%20software%20technology&rft.au=Tosun,%20Ay%C5%9Fe&rft.date=2010-11-01&rft.volume=52&rft.issue=11&rft.spage=1242&rft.epage=1257&rft.pages=1242-1257&rft.issn=0950-5849&rft.eissn=1873-6025&rft_id=info:doi/10.1016/j.infsof.2010.06.006&rft_dat=%3Cproquest_cross%3E1671270835%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=1221882029&rft_id=info:pmid/&rft_els_id=S0950584910001163&rfr_iscdi=true