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...
Gespeichert in:
Veröffentlicht in: | IEEE transactions on software engineering 2013-06, Vol.39 (6), p.757-773 |
---|---|
Hauptverfasser: | , , , , , , |
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 & Medical Complete (Alumni)</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics & Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology & 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 |