Bug Propagation through Code Cloning: An Empirical Study

Code clones are defined to be the identical or nearly similar code fragments in a code-base. According to a number of existing studies, code clones are directly related to bugs and inconsistencies in software systems. Code cloning (i.e., creating code clones) is suspected to propagate temporarily hi...

Full description

Saved in:
Bibliographic Details
Published inICSME 2017 : proceedings : 2017 IEEE International Conference on Software Maintenance and Evolution : 19-22 September 2017, Shanghai, China pp. 227 - 237
Main Authors Mondal, Manishankar, Roy, Chanchal K., Schneider, Kevin A.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.09.2017
Subjects
Online AccessGet full text
DOI10.1109/ICSME.2017.33

Cover

Abstract Code clones are defined to be the identical or nearly similar code fragments in a code-base. According to a number of existing studies, code clones are directly related to bugs and inconsistencies in software systems. Code cloning (i.e., creating code clones) is suspected to propagate temporarily hidden bugs from one code fragment to another. However, there is no study on the intensity of bug-propagation through code cloning.In this paper we present our empirical study on bug-propagation through code cloning. We define two clone evolution patterns that reasonably indicate bug propagation through code cloning. We first identify code clones that experienced bug-fix changes by analyzing software evolution history, and then determine which of these code clones evolved following the bug propagation patterns. According to our study on thousands of commits of four open-source subject systems written in Java, up to 33% of the clone fragments that experience bug-fix changes can contain propagated bugs. Around 28.57% of the bug-fixes experienced by the code clones can occur for fixing propagated bugs. We also find that near-miss clones are primarily involved with bug-propagation rather than identical clones. The clone fragments involved with bug propagation are mostly method clones. Bug propagation is more likely to occur in the clone fragments that are created in the same commit operation rather than in different commits. Our findings are important for prioritizing code clones for refactoring and tracking from the perspective of bug propagation.
AbstractList Code clones are defined to be the identical or nearly similar code fragments in a code-base. According to a number of existing studies, code clones are directly related to bugs and inconsistencies in software systems. Code cloning (i.e., creating code clones) is suspected to propagate temporarily hidden bugs from one code fragment to another. However, there is no study on the intensity of bug-propagation through code cloning.In this paper we present our empirical study on bug-propagation through code cloning. We define two clone evolution patterns that reasonably indicate bug propagation through code cloning. We first identify code clones that experienced bug-fix changes by analyzing software evolution history, and then determine which of these code clones evolved following the bug propagation patterns. According to our study on thousands of commits of four open-source subject systems written in Java, up to 33% of the clone fragments that experience bug-fix changes can contain propagated bugs. Around 28.57% of the bug-fixes experienced by the code clones can occur for fixing propagated bugs. We also find that near-miss clones are primarily involved with bug-propagation rather than identical clones. The clone fragments involved with bug propagation are mostly method clones. Bug propagation is more likely to occur in the clone fragments that are created in the same commit operation rather than in different commits. Our findings are important for prioritizing code clones for refactoring and tracking from the perspective of bug propagation.
Author Mondal, Manishankar
Roy, Chanchal K.
Schneider, Kevin A.
Author_xml – sequence: 1
  givenname: Manishankar
  surname: Mondal
  fullname: Mondal, Manishankar
  email: mshankar.mondal@usask.ca
  organization: Dept. of Comput. Sci., Univ. of Saskatchewan, Saskatoon, SK, Canada
– sequence: 2
  givenname: Chanchal K.
  surname: Roy
  fullname: Roy, Chanchal K.
  email: chanchal.roy@usask.ca
  organization: Dept. of Comput. Sci., Univ. of Saskatchewan, Saskatoon, SK, Canada
– sequence: 3
  givenname: Kevin A.
  surname: Schneider
  fullname: Schneider, Kevin A.
  email: kevin.schneider@usask.ca
  organization: Dept. of Comput. Sci., Univ. of Saskatchewan, Saskatoon, SK, Canada
BookMark eNotzLtOwzAUAFAjgQQtHZlY_AMJvn6brUQpVCpqpcJcOYmdGqV2lMfQv2eA6WxngW5jig6hJyA5ADEv2-L4WeaUgMoZu0ELEExLYgzl92g1jj-EEDBSc64fkH6bW3wYUm9bO4UU8XQe0tyecZEah4suxRDbV7yOuLz0YQi17fBxmpvrI7rzthvd6t8l-t6UX8VHttu_b4v1LgugxJRVXDWuEpXxpKo1SN5oyhzTVBgiag_WKWl87aUV2koqjfUN1eCt4pKCVWyJnv_e4Jw79UO42OF60sRwTjn7BevbRTM
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1109/ICSME.2017.33
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 1538609924
9781538609927
EndPage 237
ExternalDocumentID 8094424
Genre orig-research
GroupedDBID 6IE
6IF
6IG
6IH
6IK
6IL
6IM
6IN
AAJGR
AAWTH
ABLEC
ABQGA
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
IEGSK
IJVOP
OCL
RIB
RIC
RIE
RIL
RIO
ID FETCH-LOGICAL-i175t-b47deb5b9f0bc8164d823e3825905cf1ae769fcf6a58a6269afd281fa74621a73
IEDL.DBID RIE
IngestDate Wed Aug 27 02:31:27 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i175t-b47deb5b9f0bc8164d823e3825905cf1ae769fcf6a58a6269afd281fa74621a73
PageCount 11
ParticipantIDs ieee_primary_8094424
PublicationCentury 2000
PublicationDate 2017-Sept.
PublicationDateYYYYMMDD 2017-09-01
PublicationDate_xml – month: 09
  year: 2017
  text: 2017-Sept.
PublicationDecade 2010
PublicationTitle ICSME 2017 : proceedings : 2017 IEEE International Conference on Software Maintenance and Evolution : 19-22 September 2017, Shanghai, China
PublicationTitleAbbrev ICSM
PublicationYear 2017
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0001968448
Score 1.7723663
Snippet Code clones are defined to be the identical or nearly similar code fragments in a code-base. According to a number of existing studies, code clones are...
SourceID ieee
SourceType Publisher
StartPage 227
SubjectTerms Bug Propagation
Clone Prioritization
Cloning
Code Clones
Computer bugs
History
Java
Software systems
Title Bug Propagation through Code Cloning: An Empirical Study
URI https://ieeexplore.ieee.org/document/8094424
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NS8NAEF1qT56qtuI3e_Bo0ibZbHa9aWipQkXQQm8lu5mVoqZFkoP-emc3aSviwVsIgSwzm515kzdvCLkUsYIItPEYxgaPMSY9RLaBF0sFHNPrPHC6BZMHPp6y-1k8a5GrTS8MADjyGfj20v3Lz5e6sqWyvkAswkK2Q3Zwm9W9Wtt6iuQCocZWRrN_lz5Nhpa8lfh2LO6P4Skudow6ZLJ-a00ZefWrUvn665cg43-XtUd62y49-riJP_ukBcUB6azHNNDmq-0ScVu92Afx6HBuoM1sHpouc6DpmyvIXtObgg7fVwsnGUItvfCzR6aj4XM69pqBCd4Cs4DSUyzJQcVKmoHSAq2cizCCCEGgHMTaBBkkXBpteBaLDJGMzEweisBkCeNhkCXRIWkXywKOCA0xUQnRiwFThilM86TJlOCgA60NpmTHpGsNMV_VmhjzxgYnf98-JbvWDzU364y0y48KzjGYl-rCefEbl7WerQ
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NT4NAEJ3UetBT1db47R48Ci2wwK43bWpaLY2JbdJbwy67plFpY-Cgv95ZoK0xHrwRQgKZCbyZ4c17AFfMF8pTUlsUscGilHILO1vH8rlQAZbXiVPoFkSjoD-hD1N_WoPr9S6MUqognynbHBb_8pOFzM2orM2wF6Eu3YJtxH3ql9tam4kKDxg2Gxshzfag-xz1DH0rtI0x7g_7lAI97hsQre5bkkZe7TwTtvz6Jcn43wfbg9ZmT488rRFoH2oqPYDGyqiBVO9tE9hd_mIuxI9HkQhSufOQ7iJRpPtWjGRvyG1Keu_LeSEaQgzB8LMFk_veuNu3KssEa451QGYJGiZK-ILrjpAM45ww11MetoG840vtxCoMuJY6iH0WYy_DY524zNFxSAPXiUPvEOrpIlVHQFwsVVzMo0OFpgILPa5jwQIlHSk1FmXH0DSBmC1LVYxZFYOTv09fwk5_HA1nw8Ho8RR2TU5KptYZ1LOPXJ0jtGfiosjoNxf_ofo
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=ICSME+2017+%3A+proceedings+%3A+2017+IEEE+International+Conference+on+Software+Maintenance+and+Evolution+%3A+19-22+September+2017%2C+Shanghai%2C+China&rft.atitle=Bug+Propagation+through+Code+Cloning%3A+An+Empirical+Study&rft.au=Mondal%2C+Manishankar&rft.au=Roy%2C+Chanchal+K.&rft.au=Schneider%2C+Kevin+A.&rft.date=2017-09-01&rft.pub=IEEE&rft.spage=227&rft.epage=237&rft_id=info:doi/10.1109%2FICSME.2017.33&rft.externalDocID=8094424