A large-scale empirical study of just-in-time quality assurance

Defect prediction models are a well-known technique for identifying defect-prone files or packages such that practitioners can allocate their quality assurance efforts (e.g., testing and code reviews). However, once the critical files or packages have been identified, developers still need to spend...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on software engineering 2013-06, Vol.39 (6), p.757-773
Hauptverfasser: Kamei, Y., Shihab, E., Adams, B., Hassan, A. E., Mockus, A., Sinha, A., Ubayashi, N.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 773
container_issue 6
container_start_page 757
container_title IEEE transactions on software engineering
container_volume 39
creator Kamei, Y.
Shihab, E.
Adams, B.
Hassan, A. E.
Mockus, A.
Sinha, A.
Ubayashi, N.
description Defect prediction models are a well-known technique for identifying defect-prone files or packages such that practitioners can allocate their quality assurance efforts (e.g., testing and code reviews). However, once the critical files or packages have been identified, developers still need to spend considerable time drilling down to the functions or even code snippets that should be reviewed or tested. This makes the approach too time consuming and impractical for large software systems. Instead, we consider defect prediction models that focus on identifying defect-prone ("risky") software changes instead of files or packages. We refer to this type of quality assurance activity as "Just-In-Time Quality Assurance," because developers can review and test these risky changes while they are still fresh in their minds (i.e., at check-in time). To build a change risk model, we use a wide range of factors based on the characteristics of a software change, such as the number of added lines, and developer experience. A large-scale study of six open source and five commercial projects from multiple domains shows that our models can predict whether or not a change will lead to a defect with an average accuracy of 68 percent and an average recall of 64 percent. Furthermore, when considering the effort needed to review changes, we find that using only 20 percent of the effort it would take to inspect all changes, we can identify 35 percent of all defect-inducing changes. Our findings indicate that "Just-In-Time Quality Assurance" may provide an effort-reducing way to focus on the most risky changes and thus reduce the costs of developing high-quality software.
doi_str_mv 10.1109/TSE.2012.70
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_proquest_journals_1366047825</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>6341763</ieee_id><sourcerecordid>2991960661</sourcerecordid><originalsourceid>FETCH-LOGICAL-c314t-d7ec36521ca1e2a04a0b564bfcdfc750dacc80b36e68f3e027b5a47b9b77a56e3</originalsourceid><addsrcrecordid>eNpd0M9LwzAUwPEgCs7pyaOXghdBUl-SJmlPMsb8AQMPznNI01fJ6I8taQ_77-2YePD03uHD4_El5JZByhgUT5vPVcqB8VTDGZmxQhRUSA7nZAZQ5FTKvLgkVzFuAUBqLWfkeZE0Nnwjjc42mGC788FPaxKHsTokfZ1sxzhQ39HBt5jsR9v44ZDYGMdgO4fX5KK2TcSb3zknXy-rzfKNrj9e35eLNXWCZQOtNDqhJGfOMuQWMgulVFlZu6p2WkJlncuhFApVXgsErktpM10WpdZWKhRz8nC6uwv9fsQ4mNZHh01jO-zHaJjQXEmpBZvo_T-67cfQTd9NSinIdM7lpB5PyoU-xoC12QXf2nAwDMwxpplimmNMo2HSdyftEfFPKpExrYT4AViObw8</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1366047825</pqid></control><display><type>article</type><title>A large-scale empirical study of just-in-time quality assurance</title><source>IEEE Electronic Library (IEL)</source><creator>Kamei, Y. ; Shihab, E. ; Adams, B. ; Hassan, A. E. ; Mockus, A. ; Sinha, A. ; Ubayashi, N.</creator><creatorcontrib>Kamei, Y. ; Shihab, E. ; Adams, B. ; Hassan, A. E. ; Mockus, A. ; Sinha, A. ; Ubayashi, N.</creatorcontrib><description>Defect prediction models are a well-known technique for identifying defect-prone files or packages such that practitioners can allocate their quality assurance efforts (e.g., testing and code reviews). However, once the critical files or packages have been identified, developers still need to spend considerable time drilling down to the functions or even code snippets that should be reviewed or tested. This makes the approach too time consuming and impractical for large software systems. Instead, we consider defect prediction models that focus on identifying defect-prone ("risky") software changes instead of files or packages. We refer to this type of quality assurance activity as "Just-In-Time Quality Assurance," because developers can review and test these risky changes while they are still fresh in their minds (i.e., at check-in time). To build a change risk model, we use a wide range of factors based on the characteristics of a software change, such as the number of added lines, and developer experience. A large-scale study of six open source and five commercial projects from multiple domains shows that our models can predict whether or not a change will lead to a defect with an average accuracy of 68 percent and an average recall of 64 percent. Furthermore, when considering the effort needed to review changes, we find that using only 20 percent of the effort it would take to inspect all changes, we can identify 35 percent of all defect-inducing changes. Our findings indicate that "Just-In-Time Quality Assurance" may provide an effort-reducing way to focus on the most risky changes and thus reduce the costs of developing high-quality software.</description><identifier>ISSN: 0098-5589</identifier><identifier>EISSN: 1939-3520</identifier><identifier>DOI: 10.1109/TSE.2012.70</identifier><identifier>CODEN: IESEDJ</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Accuracy ; Computer programs ; Construction ; Cost reduction ; defect prediction ; Defects ; Developers ; Entropy ; Just in time ; just-in-time prediction ; Maintenance ; Mathematical models ; Measurement ; mining software repositories ; Object oriented modeling ; Packages ; Predictive models ; Quality assurance ; Quality control ; Risk assessment ; Software ; Software engineering ; software metrics ; Software quality ; Studies</subject><ispartof>IEEE transactions on software engineering, 2013-06, Vol.39 (6), p.757-773</ispartof><rights>Copyright IEEE Computer Society Jun 2013</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c314t-d7ec36521ca1e2a04a0b564bfcdfc750dacc80b36e68f3e027b5a47b9b77a56e3</citedby><cites>FETCH-LOGICAL-c314t-d7ec36521ca1e2a04a0b564bfcdfc750dacc80b36e68f3e027b5a47b9b77a56e3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/6341763$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,792,27903,27904,54737</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/6341763$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Kamei, Y.</creatorcontrib><creatorcontrib>Shihab, E.</creatorcontrib><creatorcontrib>Adams, B.</creatorcontrib><creatorcontrib>Hassan, A. E.</creatorcontrib><creatorcontrib>Mockus, A.</creatorcontrib><creatorcontrib>Sinha, A.</creatorcontrib><creatorcontrib>Ubayashi, N.</creatorcontrib><title>A large-scale empirical study of just-in-time quality assurance</title><title>IEEE transactions on software engineering</title><addtitle>TSE</addtitle><description>Defect prediction models are a well-known technique for identifying defect-prone files or packages such that practitioners can allocate their quality assurance efforts (e.g., testing and code reviews). However, once the critical files or packages have been identified, developers still need to spend considerable time drilling down to the functions or even code snippets that should be reviewed or tested. This makes the approach too time consuming and impractical for large software systems. Instead, we consider defect prediction models that focus on identifying defect-prone ("risky") software changes instead of files or packages. We refer to this type of quality assurance activity as "Just-In-Time Quality Assurance," because developers can review and test these risky changes while they are still fresh in their minds (i.e., at check-in time). To build a change risk model, we use a wide range of factors based on the characteristics of a software change, such as the number of added lines, and developer experience. A large-scale study of six open source and five commercial projects from multiple domains shows that our models can predict whether or not a change will lead to a defect with an average accuracy of 68 percent and an average recall of 64 percent. Furthermore, when considering the effort needed to review changes, we find that using only 20 percent of the effort it would take to inspect all changes, we can identify 35 percent of all defect-inducing changes. Our findings indicate that "Just-In-Time Quality Assurance" may provide an effort-reducing way to focus on the most risky changes and thus reduce the costs of developing high-quality software.</description><subject>Accuracy</subject><subject>Computer programs</subject><subject>Construction</subject><subject>Cost reduction</subject><subject>defect prediction</subject><subject>Defects</subject><subject>Developers</subject><subject>Entropy</subject><subject>Just in time</subject><subject>just-in-time prediction</subject><subject>Maintenance</subject><subject>Mathematical models</subject><subject>Measurement</subject><subject>mining software repositories</subject><subject>Object oriented modeling</subject><subject>Packages</subject><subject>Predictive models</subject><subject>Quality assurance</subject><subject>Quality control</subject><subject>Risk assessment</subject><subject>Software</subject><subject>Software engineering</subject><subject>software metrics</subject><subject>Software quality</subject><subject>Studies</subject><issn>0098-5589</issn><issn>1939-3520</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2013</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNpd0M9LwzAUwPEgCs7pyaOXghdBUl-SJmlPMsb8AQMPznNI01fJ6I8taQ_77-2YePD03uHD4_El5JZByhgUT5vPVcqB8VTDGZmxQhRUSA7nZAZQ5FTKvLgkVzFuAUBqLWfkeZE0Nnwjjc42mGC788FPaxKHsTokfZ1sxzhQ39HBt5jsR9v44ZDYGMdgO4fX5KK2TcSb3zknXy-rzfKNrj9e35eLNXWCZQOtNDqhJGfOMuQWMgulVFlZu6p2WkJlncuhFApVXgsErktpM10WpdZWKhRz8nC6uwv9fsQ4mNZHh01jO-zHaJjQXEmpBZvo_T-67cfQTd9NSinIdM7lpB5PyoU-xoC12QXf2nAwDMwxpplimmNMo2HSdyftEfFPKpExrYT4AViObw8</recordid><startdate>20130601</startdate><enddate>20130601</enddate><creator>Kamei, Y.</creator><creator>Shihab, E.</creator><creator>Adams, B.</creator><creator>Hassan, A. E.</creator><creator>Mockus, A.</creator><creator>Sinha, A.</creator><creator>Ubayashi, N.</creator><general>IEEE</general><general>IEEE Computer Society</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>JQ2</scope><scope>K9.</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>F28</scope><scope>FR3</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20130601</creationdate><title>A large-scale empirical study of just-in-time quality assurance</title><author>Kamei, Y. ; Shihab, E. ; Adams, B. ; Hassan, A. E. ; Mockus, A. ; Sinha, A. ; Ubayashi, N.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c314t-d7ec36521ca1e2a04a0b564bfcdfc750dacc80b36e68f3e027b5a47b9b77a56e3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2013</creationdate><topic>Accuracy</topic><topic>Computer programs</topic><topic>Construction</topic><topic>Cost reduction</topic><topic>defect prediction</topic><topic>Defects</topic><topic>Developers</topic><topic>Entropy</topic><topic>Just in time</topic><topic>just-in-time prediction</topic><topic>Maintenance</topic><topic>Mathematical models</topic><topic>Measurement</topic><topic>mining software repositories</topic><topic>Object oriented modeling</topic><topic>Packages</topic><topic>Predictive models</topic><topic>Quality assurance</topic><topic>Quality control</topic><topic>Risk assessment</topic><topic>Software</topic><topic>Software engineering</topic><topic>software metrics</topic><topic>Software quality</topic><topic>Studies</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Kamei, Y.</creatorcontrib><creatorcontrib>Shihab, E.</creatorcontrib><creatorcontrib>Adams, B.</creatorcontrib><creatorcontrib>Hassan, A. E.</creatorcontrib><creatorcontrib>Mockus, A.</creatorcontrib><creatorcontrib>Sinha, A.</creatorcontrib><creatorcontrib>Ubayashi, N.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</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 &amp; Medical Complete (Alumni)</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</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>IEEE transactions on software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Kamei, Y.</au><au>Shihab, E.</au><au>Adams, B.</au><au>Hassan, A. E.</au><au>Mockus, A.</au><au>Sinha, A.</au><au>Ubayashi, N.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>A large-scale empirical study of just-in-time quality assurance</atitle><jtitle>IEEE transactions on software engineering</jtitle><stitle>TSE</stitle><date>2013-06-01</date><risdate>2013</risdate><volume>39</volume><issue>6</issue><spage>757</spage><epage>773</epage><pages>757-773</pages><issn>0098-5589</issn><eissn>1939-3520</eissn><coden>IESEDJ</coden><abstract>Defect prediction models are a well-known technique for identifying defect-prone files or packages such that practitioners can allocate their quality assurance efforts (e.g., testing and code reviews). However, once the critical files or packages have been identified, developers still need to spend considerable time drilling down to the functions or even code snippets that should be reviewed or tested. This makes the approach too time consuming and impractical for large software systems. Instead, we consider defect prediction models that focus on identifying defect-prone ("risky") software changes instead of files or packages. We refer to this type of quality assurance activity as "Just-In-Time Quality Assurance," because developers can review and test these risky changes while they are still fresh in their minds (i.e., at check-in time). To build a change risk model, we use a wide range of factors based on the characteristics of a software change, such as the number of added lines, and developer experience. A large-scale study of six open source and five commercial projects from multiple domains shows that our models can predict whether or not a change will lead to a defect with an average accuracy of 68 percent and an average recall of 64 percent. Furthermore, when considering the effort needed to review changes, we find that using only 20 percent of the effort it would take to inspect all changes, we can identify 35 percent of all defect-inducing changes. Our findings indicate that "Just-In-Time Quality Assurance" may provide an effort-reducing way to focus on the most risky changes and thus reduce the costs of developing high-quality software.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSE.2012.70</doi><tpages>17</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 0098-5589
ispartof IEEE transactions on software engineering, 2013-06, Vol.39 (6), p.757-773
issn 0098-5589
1939-3520
language eng
recordid cdi_proquest_journals_1366047825
source IEEE Electronic Library (IEL)
subjects Accuracy
Computer programs
Construction
Cost reduction
defect prediction
Defects
Developers
Entropy
Just in time
just-in-time prediction
Maintenance
Mathematical models
Measurement
mining software repositories
Object oriented modeling
Packages
Predictive models
Quality assurance
Quality control
Risk assessment
Software
Software engineering
software metrics
Software quality
Studies
title A large-scale empirical study of just-in-time quality assurance
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-22T06%3A45%3A06IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=A%20large-scale%20empirical%20study%20of%20just-in-time%20quality%20assurance&rft.jtitle=IEEE%20transactions%20on%20software%20engineering&rft.au=Kamei,%20Y.&rft.date=2013-06-01&rft.volume=39&rft.issue=6&rft.spage=757&rft.epage=773&rft.pages=757-773&rft.issn=0098-5589&rft.eissn=1939-3520&rft.coden=IESEDJ&rft_id=info:doi/10.1109/TSE.2012.70&rft_dat=%3Cproquest_RIE%3E2991960661%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1366047825&rft_id=info:pmid/&rft_ieee_id=6341763&rfr_iscdi=true