Toward understanding the rhetoric of small source code changes

Understanding the impact of software changes has been a challenge since software systems were first developed. With the increasing size and complexity of systems, this problem has become more difficult. There are many ways to identify the impact of changes on the system from the plethora of software...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on software engineering 2005-06, Vol.31 (6), p.511-526
Hauptverfasser: Purushothaman, R., Perry, D.E.
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 526
container_issue 6
container_start_page 511
container_title IEEE transactions on software engineering
container_volume 31
creator Purushothaman, R.
Perry, D.E.
description Understanding the impact of software changes has been a challenge since software systems were first developed. With the increasing size and complexity of systems, this problem has become more difficult. There are many ways to identify the impact of changes on the system from the plethora of software artifacts produced during development, maintenance, and evolution. We present the analysis of the software development process using change and defect history data. Specifically, we address the problem of small changes by focusing on the properties of the changes rather than the properties of the code itself. Our study reveals that 1) there is less than 4 percent probability that a one-line change introduces a fault in the code, 2) nearly 10 percent of all changes made during the maintenance of the software under consideration were one-line changes, 3) nearly 50 percent of the changes were small changes, 4) nearly 40 percent of changes to fix faults resulted in further faults, 5) the phenomena of change differs for additions, deletions, and modifications as well as for the number of lines affected, and 6) deletions of up to 10 lines did not cause faults.
doi_str_mv 10.1109/TSE.2005.74
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_ieee_primary_1463233</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>1463233</ieee_id><sourcerecordid>1671261535</sourcerecordid><originalsourceid>FETCH-LOGICAL-c381t-396e86f51ac9d7b30aec6d06b11ff8a13926d07366e130a32fce1b1b9786b3c3</originalsourceid><addsrcrecordid>eNp90M9LwzAUB_AgCs7pyaOX4kEE6cxrmqS5CDLmDxh4sPeQpq9bR9fMpEX8782YIHjw8h6P9-HB-xJyCXQGQNV9-b6YZZTymcyPyAQUUynjGT0mE0pVkXJeqFNyFsKGRiQln5CH0n0aXydjX6MPg-nrtl8lwxoTv8bB-dYmrknC1nRdEtzoLSbW1bGsTb_CcE5OGtMFvPjpU1I-Lcr5S7p8e36dPy5TywoYUqYEFqLhYKyqZcWoQStqKiqApikMMJXFUTIhEOKSZY1FqKBSshAVs2xKbg5nd959jBgGvW2Dxa4zPbox6KwASkVOI7z9F4KQkAngjEd6_Ydu4n99_EKD4lzmVLGI7g7IeheCx0bvfLs1_ksD1fvIdYxc7yPXMo_66qBbRPyVuWAZY-wb6AB67w</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>195574093</pqid></control><display><type>article</type><title>Toward understanding the rhetoric of small source code changes</title><source>IEEE Electronic Library (IEL)</source><creator>Purushothaman, R. ; Perry, D.E.</creator><creatorcontrib>Purushothaman, R. ; Perry, D.E.</creatorcontrib><description>Understanding the impact of software changes has been a challenge since software systems were first developed. With the increasing size and complexity of systems, this problem has become more difficult. There are many ways to identify the impact of changes on the system from the plethora of software artifacts produced during development, maintenance, and evolution. We present the analysis of the software development process using change and defect history data. Specifically, we address the problem of small changes by focusing on the properties of the changes rather than the properties of the code itself. Our study reveals that 1) there is less than 4 percent probability that a one-line change introduces a fault in the code, 2) nearly 10 percent of all changes made during the maintenance of the software under consideration were one-line changes, 3) nearly 50 percent of the changes were small changes, 4) nearly 40 percent of changes to fix faults resulted in further faults, 5) the phenomena of change differs for additions, deletions, and modifications as well as for the number of lines affected, and 6) deletions of up to 10 lines did not cause faults.</description><identifier>ISSN: 0098-5589</identifier><identifier>EISSN: 1939-3520</identifier><identifier>DOI: 10.1109/TSE.2005.74</identifier><identifier>CODEN: IESEDJ</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Changes ; Computer architecture ; Computer programming ; Computer programs ; Computer Society ; Costs ; Deletion ; Errors ; Evolution ; fault probabilities ; Faults ; Focusing ; History ; Index Terms- Source code changes ; Life testing ; Maintenance ; one-line changes ; Probability ; Programming ; Rhetoric ; Risk management ; Software ; Software development ; Software engineering ; software faults ; Software maintenance ; Software systems ; Studies</subject><ispartof>IEEE transactions on software engineering, 2005-06, Vol.31 (6), p.511-526</ispartof><rights>Copyright Institute of Electrical and Electronics Engineers, Inc. (IEEE) Jun 2005</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c381t-396e86f51ac9d7b30aec6d06b11ff8a13926d07366e130a32fce1b1b9786b3c3</citedby><cites>FETCH-LOGICAL-c381t-396e86f51ac9d7b30aec6d06b11ff8a13926d07366e130a32fce1b1b9786b3c3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/1463233$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,780,784,796,27923,27924,54757</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/1463233$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Purushothaman, R.</creatorcontrib><creatorcontrib>Perry, D.E.</creatorcontrib><title>Toward understanding the rhetoric of small source code changes</title><title>IEEE transactions on software engineering</title><addtitle>TSE</addtitle><description>Understanding the impact of software changes has been a challenge since software systems were first developed. With the increasing size and complexity of systems, this problem has become more difficult. There are many ways to identify the impact of changes on the system from the plethora of software artifacts produced during development, maintenance, and evolution. We present the analysis of the software development process using change and defect history data. Specifically, we address the problem of small changes by focusing on the properties of the changes rather than the properties of the code itself. Our study reveals that 1) there is less than 4 percent probability that a one-line change introduces a fault in the code, 2) nearly 10 percent of all changes made during the maintenance of the software under consideration were one-line changes, 3) nearly 50 percent of the changes were small changes, 4) nearly 40 percent of changes to fix faults resulted in further faults, 5) the phenomena of change differs for additions, deletions, and modifications as well as for the number of lines affected, and 6) deletions of up to 10 lines did not cause faults.</description><subject>Changes</subject><subject>Computer architecture</subject><subject>Computer programming</subject><subject>Computer programs</subject><subject>Computer Society</subject><subject>Costs</subject><subject>Deletion</subject><subject>Errors</subject><subject>Evolution</subject><subject>fault probabilities</subject><subject>Faults</subject><subject>Focusing</subject><subject>History</subject><subject>Index Terms- Source code changes</subject><subject>Life testing</subject><subject>Maintenance</subject><subject>one-line changes</subject><subject>Probability</subject><subject>Programming</subject><subject>Rhetoric</subject><subject>Risk management</subject><subject>Software</subject><subject>Software development</subject><subject>Software engineering</subject><subject>software faults</subject><subject>Software maintenance</subject><subject>Software systems</subject><subject>Studies</subject><issn>0098-5589</issn><issn>1939-3520</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2005</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><sourceid>8G5</sourceid><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GNUQQ</sourceid><sourceid>GUQSH</sourceid><sourceid>M2O</sourceid><recordid>eNp90M9LwzAUB_AgCs7pyaOX4kEE6cxrmqS5CDLmDxh4sPeQpq9bR9fMpEX8782YIHjw8h6P9-HB-xJyCXQGQNV9-b6YZZTymcyPyAQUUynjGT0mE0pVkXJeqFNyFsKGRiQln5CH0n0aXydjX6MPg-nrtl8lwxoTv8bB-dYmrknC1nRdEtzoLSbW1bGsTb_CcE5OGtMFvPjpU1I-Lcr5S7p8e36dPy5TywoYUqYEFqLhYKyqZcWoQStqKiqApikMMJXFUTIhEOKSZY1FqKBSshAVs2xKbg5nd959jBgGvW2Dxa4zPbox6KwASkVOI7z9F4KQkAngjEd6_Ydu4n99_EKD4lzmVLGI7g7IeheCx0bvfLs1_ksD1fvIdYxc7yPXMo_66qBbRPyVuWAZY-wb6AB67w</recordid><startdate>20050601</startdate><enddate>20050601</enddate><creator>Purushothaman, R.</creator><creator>Perry, D.E.</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>3V.</scope><scope>7WY</scope><scope>7WZ</scope><scope>7X7</scope><scope>7XB</scope><scope>87Z</scope><scope>88E</scope><scope>88F</scope><scope>88I</scope><scope>88K</scope><scope>8AL</scope><scope>8FE</scope><scope>8FG</scope><scope>8FI</scope><scope>8FJ</scope><scope>8FK</scope><scope>8FL</scope><scope>8G5</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BEZIV</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>FRNLG</scope><scope>FYUFA</scope><scope>F~G</scope><scope>GHDGH</scope><scope>GNUQQ</scope><scope>GUQSH</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K60</scope><scope>K6~</scope><scope>K7-</scope><scope>K9.</scope><scope>L.-</scope><scope>L6V</scope><scope>M0C</scope><scope>M0N</scope><scope>M0S</scope><scope>M1P</scope><scope>M1Q</scope><scope>M2O</scope><scope>M2P</scope><scope>M2T</scope><scope>M7S</scope><scope>MBDVC</scope><scope>P5Z</scope><scope>P62</scope><scope>PQBIZ</scope><scope>PQBZA</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</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>20050601</creationdate><title>Toward understanding the rhetoric of small source code changes</title><author>Purushothaman, R. ; Perry, D.E.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c381t-396e86f51ac9d7b30aec6d06b11ff8a13926d07366e130a32fce1b1b9786b3c3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2005</creationdate><topic>Changes</topic><topic>Computer architecture</topic><topic>Computer programming</topic><topic>Computer programs</topic><topic>Computer Society</topic><topic>Costs</topic><topic>Deletion</topic><topic>Errors</topic><topic>Evolution</topic><topic>fault probabilities</topic><topic>Faults</topic><topic>Focusing</topic><topic>History</topic><topic>Index Terms- Source code changes</topic><topic>Life testing</topic><topic>Maintenance</topic><topic>one-line changes</topic><topic>Probability</topic><topic>Programming</topic><topic>Rhetoric</topic><topic>Risk management</topic><topic>Software</topic><topic>Software development</topic><topic>Software engineering</topic><topic>software faults</topic><topic>Software maintenance</topic><topic>Software systems</topic><topic>Studies</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Purushothaman, R.</creatorcontrib><creatorcontrib>Perry, D.E.</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 Central (Corporate)</collection><collection>ABI/INFORM Collection</collection><collection>ABI/INFORM Global (PDF only)</collection><collection>Health &amp; Medical Collection</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>ABI/INFORM Global (Alumni Edition)</collection><collection>Medical Database (Alumni Edition)</collection><collection>Military Database (Alumni Edition)</collection><collection>Science Database (Alumni Edition)</collection><collection>Telecommunications (Alumni Edition)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Hospital Premium Collection</collection><collection>Hospital Premium Collection (Alumni Edition)</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ABI/INFORM Collection (Alumni Edition)</collection><collection>Research Library (Alumni Edition)</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Business Premium Collection</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>Business Premium Collection (Alumni)</collection><collection>Health Research Premium Collection</collection><collection>ABI/INFORM Global (Corporate)</collection><collection>Health Research Premium Collection (Alumni)</collection><collection>ProQuest Central Student</collection><collection>Research Library Prep</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>ProQuest Business Collection (Alumni Edition)</collection><collection>ProQuest Business Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Health &amp; Medical Complete (Alumni)</collection><collection>ABI/INFORM Professional Advanced</collection><collection>ProQuest Engineering Collection</collection><collection>ABI/INFORM Global</collection><collection>Computing Database</collection><collection>Health &amp; Medical Collection (Alumni Edition)</collection><collection>Medical Database</collection><collection>Military Database</collection><collection>Research Library</collection><collection>Science Database</collection><collection>Telecommunications Database</collection><collection>Engineering Database</collection><collection>Research Library (Corporate)</collection><collection>Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>One Business (ProQuest)</collection><collection>ProQuest One Business (Alumni)</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>ProQuest Central Basic</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>Purushothaman, R.</au><au>Perry, D.E.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Toward understanding the rhetoric of small source code changes</atitle><jtitle>IEEE transactions on software engineering</jtitle><stitle>TSE</stitle><date>2005-06-01</date><risdate>2005</risdate><volume>31</volume><issue>6</issue><spage>511</spage><epage>526</epage><pages>511-526</pages><issn>0098-5589</issn><eissn>1939-3520</eissn><coden>IESEDJ</coden><abstract>Understanding the impact of software changes has been a challenge since software systems were first developed. With the increasing size and complexity of systems, this problem has become more difficult. There are many ways to identify the impact of changes on the system from the plethora of software artifacts produced during development, maintenance, and evolution. We present the analysis of the software development process using change and defect history data. Specifically, we address the problem of small changes by focusing on the properties of the changes rather than the properties of the code itself. Our study reveals that 1) there is less than 4 percent probability that a one-line change introduces a fault in the code, 2) nearly 10 percent of all changes made during the maintenance of the software under consideration were one-line changes, 3) nearly 50 percent of the changes were small changes, 4) nearly 40 percent of changes to fix faults resulted in further faults, 5) the phenomena of change differs for additions, deletions, and modifications as well as for the number of lines affected, and 6) deletions of up to 10 lines did not cause faults.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSE.2005.74</doi><tpages>16</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 0098-5589
ispartof IEEE transactions on software engineering, 2005-06, Vol.31 (6), p.511-526
issn 0098-5589
1939-3520
language eng
recordid cdi_ieee_primary_1463233
source IEEE Electronic Library (IEL)
subjects Changes
Computer architecture
Computer programming
Computer programs
Computer Society
Costs
Deletion
Errors
Evolution
fault probabilities
Faults
Focusing
History
Index Terms- Source code changes
Life testing
Maintenance
one-line changes
Probability
Programming
Rhetoric
Risk management
Software
Software development
Software engineering
software faults
Software maintenance
Software systems
Studies
title Toward understanding the rhetoric of small source code changes
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-10T10%3A24%3A16IST&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=Toward%20understanding%20the%20rhetoric%20of%20small%20source%20code%20changes&rft.jtitle=IEEE%20transactions%20on%20software%20engineering&rft.au=Purushothaman,%20R.&rft.date=2005-06-01&rft.volume=31&rft.issue=6&rft.spage=511&rft.epage=526&rft.pages=511-526&rft.issn=0098-5589&rft.eissn=1939-3520&rft.coden=IESEDJ&rft_id=info:doi/10.1109/TSE.2005.74&rft_dat=%3Cproquest_RIE%3E1671261535%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=195574093&rft_id=info:pmid/&rft_ieee_id=1463233&rfr_iscdi=true