Code Cloning in Solidity Smart Contracts: Prevalence, Evolution, and Impact on Development
In recent years, the development of Solidity smart contracts has been increasing rapidly in popularity. Code cloning is a common coding practice, and many prior studies have revealed that code clones could negatively impact software maintenance and quality. However, there is little work systematical...
Saved in:
Published in | Proceedings / International Conference on Software Engineering pp. 3060 - 3071 |
---|---|
Main Authors | , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
26.04.2025
|
Subjects | |
Online Access | Get full text |
ISSN | 1558-1225 |
DOI | 10.1109/ICSE55347.2025.00123 |
Cover
Loading…
Abstract | In recent years, the development of Solidity smart contracts has been increasing rapidly in popularity. Code cloning is a common coding practice, and many prior studies have revealed that code clones could negatively impact software maintenance and quality. However, there is little work systematically analyzing the nature and impacts of code clones in solidity smart contracts. To bridge this gap, we investigate the prevalence, evolution, and bug-proneness of code clones in solidity smart contracts, and further identify the possible reasons for these clones' occurrences. With our evaluation of 26,294 smart contracts with 97,877 functions, we have found that code clones are highly prevalent in smart contracts. Additionally, on average, 32.01% of clones co-evolve, indicating the need for careful management to avoid consistency issues. Surprisingly, unlike in traditional software development, code clones in smart contracts are rarely involved in bug fixes. Finally, we identify three main factors that affect the occurrences of clones. We believe our study can provide valuable insights for developers to understand and manage code clones in solidity smart contracts. |
---|---|
AbstractList | In recent years, the development of Solidity smart contracts has been increasing rapidly in popularity. Code cloning is a common coding practice, and many prior studies have revealed that code clones could negatively impact software maintenance and quality. However, there is little work systematically analyzing the nature and impacts of code clones in solidity smart contracts. To bridge this gap, we investigate the prevalence, evolution, and bug-proneness of code clones in solidity smart contracts, and further identify the possible reasons for these clones' occurrences. With our evaluation of 26,294 smart contracts with 97,877 functions, we have found that code clones are highly prevalent in smart contracts. Additionally, on average, 32.01% of clones co-evolve, indicating the need for careful management to avoid consistency issues. Surprisingly, unlike in traditional software development, code clones in smart contracts are rarely involved in bug fixes. Finally, we identify three main factors that affect the occurrences of clones. We believe our study can provide valuable insights for developers to understand and manage code clones in solidity smart contracts. |
Author | Song, Haopeng Wu, Chaochao Mo, Ran Ding, Wei |
Author_xml | – sequence: 1 givenname: Ran surname: Mo fullname: Mo, Ran email: moran@ccnu.edu.cn organization: School of Computer, Central China Normal University,Hubei Provincial Key Laboratory of Artificial Intelligence and Smart Learning,China – sequence: 2 givenname: Haopeng surname: Song fullname: Song, Haopeng email: haopeng@mails.ccnu.edu.cn organization: School of Computer, Central China Normal University,Hubei Provincial Key Laboratory of Artificial Intelligence and Smart Learning,China – sequence: 3 givenname: Wei surname: Ding fullname: Ding, Wei email: wding@mails.ccnu.edu.cn organization: School of Computer, Central China Normal University,Hubei Provincial Key Laboratory of Artificial Intelligence and Smart Learning,China – sequence: 4 givenname: Chaochao surname: Wu fullname: Wu, Chaochao email: wcc@mails.ccnu.edu.cn organization: School of Computer, Central China Normal University,Hubei Provincial Key Laboratory of Artificial Intelligence and Smart Learning,China |
BookMark | eNotkM1KAzEURqMo2Na-QRd5gE7Nze_EnYyjFgoK05Wbkk6uEpkmZSYW-vYd0NW3ORwO35TcxBSRkAWwFQCzD-uqqZUS0qw442rFGHBxRebW2FIIUExpC9dkAkqVBXCu7sh0GH4YY1paOyGfVfJIqy7FEL9piLRJXfAhn2lzcH2mVYq5d20eHulHjyfXYWxxSetT6n5zSHFJXfR0fTiODE2RPuMJu3Q8YMz35PbLdQPO_3dGti_1tnorNu-v6-ppUwQrcoGi9drsdYtCcdEKCaXkOKa7Umuu2pIbgSD3jCMCCF56o4znIA1oJz0TM7L40wZE3B37MHafd-M33FppxQUhVVOC |
CODEN | IEEPAD |
ContentType | Conference Proceeding |
DBID | 6IE 6IH CBEJK RIE RIO |
DOI | 10.1109/ICSE55347.2025.00123 |
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 | 9798331505691 |
EISSN | 1558-1225 |
EndPage | 3071 |
ExternalDocumentID | 11029949 |
Genre | orig-research |
GroupedDBID | -~X .4S .DC 29O 5VS 6IE 6IF 6IH 6IK 6IL 6IM 6IN 8US AAJGR AAWTH ABLEC ADZIZ ALMA_UNASSIGNED_HOLDINGS ARCSS AVWKF BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO EDO FEDTE I-F IEGSK IJVOP IPLJI M43 OCL RIE RIL RIO |
ID | FETCH-LOGICAL-i93t-e3cd67b6ce3523c341842e331a86625c8273e14b02ee11328d757d214716a4d03 |
IEDL.DBID | RIE |
IngestDate | Wed Aug 27 01:40:27 EDT 2025 |
IsPeerReviewed | false |
IsScholarly | true |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-i93t-e3cd67b6ce3523c341842e331a86625c8273e14b02ee11328d757d214716a4d03 |
PageCount | 12 |
ParticipantIDs | ieee_primary_11029949 |
PublicationCentury | 2000 |
PublicationDate | 2025-April-26 |
PublicationDateYYYYMMDD | 2025-04-26 |
PublicationDate_xml | – month: 04 year: 2025 text: 2025-April-26 day: 26 |
PublicationDecade | 2020 |
PublicationTitle | Proceedings / International Conference on Software Engineering |
PublicationTitleAbbrev | ICSE |
PublicationYear | 2025 |
Publisher | IEEE |
Publisher_xml | – name: IEEE |
SSID | ssj0006499 |
Score | 2.2898426 |
Snippet | In recent years, the development of Solidity smart contracts has been increasing rapidly in popularity. Code cloning is a common coding practice, and many... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 3060 |
SubjectTerms | Blockchain Blockchains Bridges Clone Evolution Cloning Code Cloning Codes Computer bugs Encoding Smart contracts Software development management Software engineering Software maintenance Solidity Smart Contracts |
Title | Code Cloning in Solidity Smart Contracts: Prevalence, Evolution, and Impact on Development |
URI | https://ieeexplore.ieee.org/document/11029949 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8NAEB60J0_1UfHNHjw2bZLdbDZeQ0srWIRWKF7KPqZQrIlo6sFf7-42rUUQvIVcEvb1fTM733wAt9TGBIplYaCUkQHTQgcqYzzgaLjOFFepcOLkhxEfPLH7aTKtxepeC4OIvvgMO-7R3-WbUq9cqqxrocqenizbh30bua3FWttjl1vuXmvjojDrDvNxL0koS20MGLu8SeQciXYcVDyA9Jsw2nx6XTfy0llVqqO_fnVl_Pe_HULrR6tHHrcodAR7WBxDc2PWQOq9ewLPeWmQ5EuffiWLgozL5cJYDk7Gr3b5ENemyimmPu6Ia-skvRipTXqf9dpsE1kYMvSiSlIWZKfaqAWTfm-SD4LaWCFYZLQKkGrDU8U1WvZFtcUxwWKkNJKC23BIC0tpMGIqjBGdEb0waZIaZ2gUcclMSE-hUZQFngERc2ao5QyYcs2okELOteRsnoQy4nEszqHlhmr2tm6dMduM0sUf7y_hwE2Xu66J-RU0qvcVXlvUr9SNn-1vYturyw |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3LTsJAFJ0oLnSFD4xvZ-GSQtuZTqduGwgoEBMwIW7IPC4JAVujxYVf78xQkJiYuGu6aTOvc-6de-5B6I6YmEDSxPek1MKjiitPJpR5DDRTiWQy5lac3B-wzjN9GEfjUqzutDAA4IrPoGEf3V2-ztXSpsqaBqrM6UmTXbRngD8KVnKtzcHLDHsv1XGBnzS76bAVRYTGJgoMbeYksJ5EWx4qDkLaVTRYf3xVOTJvLAvZUF-_-jL---8OUe1HrYefNjh0hHYgO0bVtV0DLnfvCXpJcw04XbgELJ5leJgvZtqwcDx8NQsI20ZVVjP1cY9tYyfh5Eh13PosV2cdi0zjrpNV4jzDW_VGNTRqt0ZpxyutFbxZQgoPiNIslkyB4V9EGSTjNARCAsGZCYgUN6QGAir9EMBa0XMdR7G2lkYBE1T75BRVsjyDM4T5lGpiWAPETFHCBRdTJRidRr4IWBjyc1SzQzV5WzXPmKxH6eKP97dovzPq9ya97uDxEh3YqbOXNyG7QpXifQnXhgMU8sbN_DeKeq8U |
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=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Code+Cloning+in+Solidity+Smart+Contracts%3A+Prevalence%2C+Evolution%2C+and+Impact+on+Development&rft.au=Mo%2C+Ran&rft.au=Song%2C+Haopeng&rft.au=Ding%2C+Wei&rft.au=Wu%2C+Chaochao&rft.date=2025-04-26&rft.pub=IEEE&rft.eissn=1558-1225&rft.spage=3060&rft.epage=3071&rft_id=info:doi/10.1109%2FICSE55347.2025.00123&rft.externalDocID=11029949 |