Identifying Code Clones Having High Possibilities of Containing Bugs

Code cloning has emerged as a controversial term in software engineering research and practice because of its positive and negative impacts on software evolution and maintenance. Researchers suggest managing code clones through refactoring and tracking. Given the huge number of code clones in a soft...

Full description

Saved in:
Bibliographic Details
Published in2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC) pp. 99 - 109
Main Authors Mondal, Manishankar, Roy, Chanchal K., Schneider, Kevin A.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.05.2017
Subjects
Online AccessGet full text
DOI10.1109/ICPC.2017.31

Cover

Abstract Code cloning has emerged as a controversial term in software engineering research and practice because of its positive and negative impacts on software evolution and maintenance. Researchers suggest managing code clones through refactoring and tracking. Given the huge number of code clones in a software system's code-base, it is essential to identify the most important ones to manage. In our research, we investigate which clone fragments have high possibilities of containing bugs so that such clones can be prioritized for refactoring and tracking to help minimize future bug-fixing tasks. Existing studies on clone bug-proneness cannot pinpoint code clones that are likely to experience bug-fixes in the future. According to our analysis on thousands of revisions of four diverse subject systems written in Java, change frequency of code clones does not indicate their bug-proneness (i.e., does not indicate their tendencies of experiencing bug-fixes in future). Bug-proneness is mainly related with change recency of code clones. In other words, more recently changed code clones have a higher possibility of containing bugs. Moreover, for the code clones that were not changed previously we observed that clones that were created more recently have higher possibilities of experiencing bug-fixes. Thus, our research reveals the fact that bug-proneness of code clones mainly depends on how recently they were changed or created (for the ones that were not changed before). It invalidates the common intuition regarding the relatedness between high change frequency and bug-proneness. We believe that code clones should be prioritized for management considering their change recency or recency of creation (for the unchanged ones).
AbstractList Code cloning has emerged as a controversial term in software engineering research and practice because of its positive and negative impacts on software evolution and maintenance. Researchers suggest managing code clones through refactoring and tracking. Given the huge number of code clones in a software system's code-base, it is essential to identify the most important ones to manage. In our research, we investigate which clone fragments have high possibilities of containing bugs so that such clones can be prioritized for refactoring and tracking to help minimize future bug-fixing tasks. Existing studies on clone bug-proneness cannot pinpoint code clones that are likely to experience bug-fixes in the future. According to our analysis on thousands of revisions of four diverse subject systems written in Java, change frequency of code clones does not indicate their bug-proneness (i.e., does not indicate their tendencies of experiencing bug-fixes in future). Bug-proneness is mainly related with change recency of code clones. In other words, more recently changed code clones have a higher possibility of containing bugs. Moreover, for the code clones that were not changed previously we observed that clones that were created more recently have higher possibilities of experiencing bug-fixes. Thus, our research reveals the fact that bug-proneness of code clones mainly depends on how recently they were changed or created (for the ones that were not changed before). It invalidates the common intuition regarding the relatedness between high change frequency and bug-proneness. We believe that code clones should be prioritized for management considering their change recency or recency of creation (for the unchanged ones).
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. & Eng., 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. & Eng., 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. & Eng., Univ. of Saskatchewan, Saskatoon, SK, Canada
BookMark eNotjDtPwzAUhY0EAy1sbCz5Awm-cfwawTwSqRIdOrBVN_F1sBQc1ASk_ntS0elI3_nOWbHLNCZi7A54AcDtQ-O2rig56ELABVuBFEZxKeTHNXtuPKU5hmNMfeZGT5kblvGU1fh7QnXsP7PtOE2xjUOc49KMYRHTjDGdhKeffrphVwGHiW7PuWa715edq_PN-1vjHjc5lhXMuRUSZeWxNIG6rmx9xXlHQRrQUiuFpg0taTQYrEfoWo7WlpJ85cGD4mLN7v9vIxHtvw_xCw_HvbYKJDfiD05FRq8
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/ICPC.2017.31
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
EISBN 153860535X
9781538605356
EndPage 109
ExternalDocumentID 7961508
Genre orig-research
GroupedDBID 6IE
6IL
CBEJK
RIE
RIL
ID FETCH-LOGICAL-a241t-935a54da28fecc2bd400cef58175766a8bfbe7a8af9da1cb0a9925ed4d1d1603
IEDL.DBID RIE
IngestDate Thu Jun 29 18:38:04 EDT 2023
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a241t-935a54da28fecc2bd400cef58175766a8bfbe7a8af9da1cb0a9925ed4d1d1603
PageCount 11
ParticipantIDs ieee_primary_7961508
PublicationCentury 2000
PublicationDate 2017-May
PublicationDateYYYYMMDD 2017-05-01
PublicationDate_xml – month: 05
  year: 2017
  text: 2017-May
PublicationDecade 2010
PublicationTitle 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC)
PublicationTitleAbbrev ICPC
PublicationYear 2017
Publisher IEEE
Publisher_xml – name: IEEE
Score 1.7269198
Snippet Code cloning has emerged as a controversial term in software engineering research and practice because of its positive and negative impacts on software...
SourceID ieee
SourceType Publisher
StartPage 99
SubjectTerms Change Frequency
Change Recency
Clone Bug-proneness
Cloning
Code Clones
Computer bugs
Java
Maintenance engineering
Software systems
Title Identifying Code Clones Having High Possibilities of Containing Bugs
URI https://ieeexplore.ieee.org/document/7961508
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwED21nZgAtYhveWAkKXEdJ14JVAWpqEORulW-2GYANYgmC7--5yQEhBjYrCyx72Q9n_3uPYAryYVxhutATIwIBNIIMdKBQWlTAkwCcf-iO3-Ss2fxuIpXPbjuemGstTX5zIZ-WL_lmyKv_FXZOFG1fHkf-kkqm16tjsuuxg_ZIvNcrST0jnE_vFJqqJjuw_zrJw1D5DWsSgzzz1_6i_-dxQGMvpvy2KKDm0Po2c0Q7ppG27pZiWWFsSx78-r7bKb9TQHzNA62KLYtCZbKYlY45iWpGmcIdlu9bEewnN4vs1nQGiMEmgC3DNQk1rEwmqeOMsDR0EbMrYspuFQ-SJ2iQ5voVDtldJTjjVaKx9YIExlvK30Egw3N5RhYEivDk0hTSU1HE4taThwljMoajilKfgJDH4D1eyN9sW7Xfvr35zPY8_Fv-IDnMCg_KntBmF3iZZ2sHYZtmiU
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwED6VMsAEqEW88cBIUuLaSbwSqFJoqw5F6hbZsc0AahBNFn4956QEhBjYrCxxfLK-nP09AK5CyrTVVHpsqJnHFI6UCqSnVWhiBEwEcXejO52F6RN7WPJlB65bLYwxpiafGd8N67t8XeSVOyobRKK2L9-Cbc4Y441aq2Wzi8E4mSeOrRX5LjPuR1pKDRajPZh-vabhiLz4Van8_OOXA-N_57EP_W9ZHpm3gHMAHbPqwV0jta3lSiQptCHJq_PfJ6l0ZwXEETnIvFhvaLDYGJPCEmdK1WRDkNvqed2Hxeh-kaTeJhrBkwi5pSeGXHKmJY0t1oAqjVsxN5bj8mIDEcpYWWUiGUsrtAxydSOFoNxopgPtgqUPobvCuRwBibjQNAokNtX4c2KUDIcWS4aNDVWxCukx9NwCZG-N-UW2-faTvx9fwk66mE6yyXj2eAq7rhYNO_AMuuV7Zc4RwUt1URfuE8hTnXI
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=2017+IEEE%2FACM+25th+International+Conference+on+Program+Comprehension+%28ICPC%29&rft.atitle=Identifying+Code+Clones+Having+High+Possibilities+of+Containing+Bugs&rft.au=Mondal%2C+Manishankar&rft.au=Roy%2C+Chanchal+K.&rft.au=Schneider%2C+Kevin+A.&rft.date=2017-05-01&rft.pub=IEEE&rft.spage=99&rft.epage=109&rft_id=info:doi/10.1109%2FICPC.2017.31&rft.externalDocID=7961508