{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,2]],"date-time":"2026-10-02T10:21:11Z","timestamp":1790936471163,"version":"4.1.0"},"reference-count":56,"publisher":"Association for Computing Machinery (ACM)","issue":"ISSTA","license":[{"start":{"date-parts":[[2025,6,22]],"date-time":"2025-06-22T00:00:00Z","timestamp":1750550400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/legalcode"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2025,6,22]]},"abstract":"<jats:p>\n                    As the development of\n                    <jats:italic toggle=\"yes\">Solidity<\/jats:italic>\n                    contracts on\n                    <jats:italic toggle=\"yes\">Ethereum,<\/jats:italic>\n                    more developers are reusing them on other compatible blockchains. However, developers may overlook the differences between the designs of the blockchain system, such as the\n                    <jats:italic toggle=\"yes\">Gas Mechanism<\/jats:italic>\n                    and\n                    <jats:italic toggle=\"yes\">Consensus Protocol,<\/jats:italic>\n                    leading to the same contracts on different blockchains not being able to achieve consistent execution as on\n                    <jats:italic toggle=\"yes\">Ethereum.<\/jats:italic>\n                    This inconsistency reveals design flaws in reused contracts, exposing code smells that hinder code reusability, and we define this inconsistency as\n                    <jats:italic toggle=\"yes\">EVM-lnequivalent Code Smells.<\/jats:italic>\n                  <\/jats:p>\n                  <jats:p>\n                    In this paper, we conducted the first empirical study to reveal the causes and characteristics of\n                    <jats:italic toggle=\"yes\">EVM-lnequivalent Code Smells.<\/jats:italic>\n                    To ensure the identified smells reflect real developer concerns, we collected and analyzed 1,379 security audit reports and 326\n                    <jats:italic toggle=\"yes\">Stack Overflow<\/jats:italic>\n                    posts related to reused contracts on EVM-compatible blockchains, such as\n                    <jats:italic toggle=\"yes\">Binance Smart Chain<\/jats:italic>\n                    (BSC) and\n                    <jats:italic toggle=\"yes\">Polygon.<\/jats:italic>\n                    Using the\n                    <jats:italic toggle=\"yes\">open card sorting<\/jats:italic>\n                    method, we defined six types of\n                    <jats:italic toggle=\"yes\">EVM-lnequivalent Code Smells.<\/jats:italic>\n                    For automated detection, we developed a tool named\n                    <jats:italic toggle=\"yes\">EquivGuard.<\/jats:italic>\n                    It employs static taint analysis to identify key paths from different patterns and uses symbolic execution to verify path reachability. Our analysis of 905,948 contracts across six major blockchains shows that\n                    <jats:italic toggle=\"yes\">EVM-lnequivalent Code Smells<\/jats:italic>\n                    are widespread, with an average prevalence of 17.70%. While contracts with code smells do not necessarily lead to financial loss and attacks, their high prevalence and significant asset management underscore the potential threats of reusing these smelly\n                    <jats:italic toggle=\"yes\">Ethereum<\/jats:italic>\n                    contracts. Thus, developers are advised to abandon\n                    <jats:italic toggle=\"yes\">Copy-and-Paste<\/jats:italic>\n                    programming practices and detect\n                    <jats:italic toggle=\"yes\">EVM-lnequivalent Code Smells<\/jats:italic>\n                    before reusing\n                    <jats:italic toggle=\"yes\">Ethereum<\/jats:italic>\n                    contracts.\n                  <\/jats:p>","DOI":"10.1145\/3728921","type":"journal-article","created":{"date-parts":[[2025,6,22]],"date-time":"2025-06-22T10:52:56Z","timestamp":1750589576000},"page":"1031-1053","source":"Crossref","is-referenced-by-count":2,"title":["Copy-and-Paste? Identifying EVM-Inequivalent Code Smells in Multi-chain Reuse Contracts"],"prefix":"10.1145","volume":"2","author":[{"ORCID":"https:\/\/orcid.org\/0009-0004-1439-2989","authenticated-orcid":false,"given":"Zexu","family":"Wang","sequence":"first","affiliation":[{"name":"Sun Yat-sen University, Zhuhai, China"},{"name":"Peng Cheng Laboratory, Shenzhen, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0192-9992","authenticated-orcid":false,"given":"Jiachi","family":"Chen","sequence":"additional","affiliation":[{"name":"Sun Yat-sen University, Zhuhai, China"},{"name":"Guangdong Engineering Technology Research Center of Blockchain, Zhuhai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6272-4069","authenticated-orcid":false,"given":"Tao","family":"Zhang","sequence":"additional","affiliation":[{"name":"Macau University of Science and Technology, Macau, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2040-5059","authenticated-orcid":false,"given":"Yu","family":"Zhang","sequence":"additional","affiliation":[{"name":"Harbin Institute of Technology, Harbin, China"},{"name":"Peng Cheng Laboratory, Shenzhen, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4783-876X","authenticated-orcid":false,"given":"Weizhe","family":"Zhang","sequence":"additional","affiliation":[{"name":"Harbin Institute of Technology, Harbin, China"},{"name":"Peng Cheng Laboratory, Shenzhen, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8922-0496","authenticated-orcid":false,"given":"Yuming","family":"Feng","sequence":"additional","affiliation":[{"name":"Peng Cheng Laboratory, Shenzhen, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7878-4330","authenticated-orcid":false,"given":"Zibin","family":"Zheng","sequence":"additional","affiliation":[{"name":"Sun Yat-sen University, Zhuhai, China"},{"name":"Guangdong Engineering Technology Research Center of Blockchain, Zhuhai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,6,22]]},"reference":[{"key":"e_1_3_1_1_2","unstructured":"0x52. 2024. An attacker can lock operator out of the pod by setting gas limit that\u2019s higher than the block gas limit of dest chain. https:\/\/solodit.xyz\/issues\/h-01-an-attacker-can-lock-operator-out-of-the-pod-by-setting-gas-limit-thatshigher-than-the-block-gas-limit-of-dest-chain-code4rena-holograph-holograph-contest-git."},{"key":"e_1_3_1_2_2","unstructured":"Solidity Academy. 2023. Understanding Ethereum Gas: A Technical Deep Dive into gasleft(). https:\/\/medium.com\/@solidity101\/understanding-ethereum-gas-a-technical-deep-dive-into-gasleft-b0842742fd12."},{"key":"e_1_3_1_3_2","unstructured":"Alex Beregszaszi (@axic) Jacques Wagener (@jacqueswww). 2018. EIP-1380: Reduced gas cost for call to self. https:\/\/eips.ethereum.org\/EIPS\/eip-1380."},{"key":"e_1_3_1_4_2","unstructured":"Arbitrum. 2024. Arbitrum \u2014 The Future of Ethereum. https:\/\/arbitrum.io\/."},{"key":"e_1_3_1_5_2","unstructured":"AuditBase. 2024. Consider using block.number instead of block.timestamp. https:\/\/detectors.auditbase.com\/blocknumber-vs-timestamp-solidity."},{"key":"e_1_3_1_6_2","unstructured":"AuditOne. 2024. Lack of Validation for valid_till_block_height on FastBridge Service. https:\/\/solodit.xyz\/issues\/lackof-validation-for-valid_till_block_height-on-fastbridge-service-auditone-none-aurorafastbridge-markdown."},{"key":"e_1_3_1_7_2","unstructured":"BlockSec. 2024. Ensuring a Secure and Seamless Web3 World. https:\/\/blocksec.com\/."},{"key":"e_1_3_1_8_2","unstructured":"BNB Chain community. 2024. About the BEP Category. https:\/\/forum.bnbchain.org\/t\/about-the-bep-category\/624."},{"key":"e_1_3_1_9_2","unstructured":"CaptPython. 2019. Design pattern Checks-Effects-Interactions Pattern. https:\/\/ethereum.stackexchange.com\/questions\/66456\/design-pattern-checks-effects-interactions-pattern."},{"key":"e_1_3_1_10_2","unstructured":"CFI Team. 2024. Hard Forks. https:\/\/corporatefinanceinstitute.com\/resources\/cryptocurrency\/hard-fork\/."},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/3563328"},{"key":"e_1_3_1_12_2","unstructured":"Che Kohler. 2022. What Is Bitcoin Block Time? https:\/\/thebitcoinmanual.com\/articles\/btc-block-time\/."},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2020.2989002"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","unstructured":"Xiangping Chen Peiyong Liao Yixin Zhang Yuan Huang and Zibin Zheng. 2021. Understanding Code Reuse in Smart Contracts. In 2021 IEEE International Conference on Software Analysis Evolution and Reengineering (SANER). 470\u2013479. https:\/\/doi.org\/10.1109\/SANER50967.2021.00050 10.1109\/SANER50967.2021.00050","DOI":"10.1109\/SANER50967.2021.00050"},{"key":"e_1_3_1_15_2","unstructured":"Consensys. 2019. Stop Using Solidity\u2019s transfer() Now. https:\/\/consensys.io\/diligence\/blog\/2019\/09\/stop-using-soliditystransfer-now\/."},{"key":"e_1_3_1_16_2","unstructured":"ConsenSys. 2024. Consensys - A complete suite of trusted products to build anything in web3. https:\/\/consensys.io\/."},{"key":"e_1_3_1_17_2","unstructured":"Crytic. 2024. Manage and switch between Solidity compiler versions. https:\/\/github.com\/crytic\/solc-select."},{"key":"e_1_3_1_18_2","unstructured":"Cyfrin. 2025. Solodit. https:\/\/solodit.cyfrin.io\/."},{"key":"e_1_3_1_19_2","unstructured":"DefiLIama. 2024. DefiLiama EVM Chains. Retrieved from https:\/\/defillama.com\/chains\/EVM."},{"key":"e_1_3_1_20_2","unstructured":"Etherscan. 2024. Etherscan APIs- Ethereum (ETH) API Provider. https:\/\/etherscan.io\/apis."},{"key":"e_1_3_1_21_2","unstructured":"Etherscan. 2025. Etherscan Smart Contracts Audit and Security. https:\/\/etherscan.io\/directory\/Smart_Contracts\/Smart_Contracts_Audit_And_Security."},{"key":"e_1_3_1_22_2","unstructured":"evm.storage. 2024. An Ethereum Virtual Machine Opcodes Interactive Reference. https:\/\/www.evm.codes\/."},{"key":"e_1_3_1_23_2","unstructured":"Ethereum Stack Exchange. 2024. Ethereum Stack Exchange. https:\/\/ethereum.stackexchange.com\/."},{"key":"e_1_3_1_24_2","unstructured":"Gopal Gurram. 2021. Can we deploy same ERC20-token on different blockchains? https:\/\/stackoverflow.com\/questions\/68802705\/can-we-deploy-same-erc20-token-on-different-blockchains\/68805158#68805158."},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3597206"},{"key":"e_1_3_1_26_2","unstructured":"Inspex. 2024. How 20 Million $OP Was Stolen from the Multisig Wallet (Not Yet) Owned by Wintermute. https:\/\/inspexco.medium.com\/how-20-million-op-was-stolen-from-the-multisig-wallet-not-yet-owned-bywintermute-3f6c75db740a."},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3560832.3563442"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/2976749.2978309"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2021.3117966"},{"key":"e_1_3_1_30_2","unstructured":"Martin Lundfall (@Mrchico). 2020. ERC-2612: Permit Extension for EIP-20 Signed Approvals. https:\/\/eips.ethereum.org\/EIPS\/eip-2612."},{"key":"e_1_3_1_31_2","unstructured":"Ather Nawaz. 2012. A Comparison of Card-sorting Analysis Methods. In APCHI\u201912. Proceedings of the 10th Asia Pacific Conference on Computer-Human Interaction Vol. 2. Association for Computing Machinery United States 583\u2013592. http:\/\/apchi2012.org\/ The 10th Asia Pacific Conference on Computer Human Interaction. 2012 ; Conference date: 28-08-2012 Through 31-08-2012."},{"key":"e_1_3_1_32_2","unstructured":"OpenZeppelin. 2024. openzeppelin-contracts. https:\/\/github.com\/OpenZeppelin\/openzeppelin-contracts."},{"key":"e_1_3_1_33_2","unstructured":"Orderly Network. 2023. What is an EVM Compatible Chain? https:\/\/medium.com\/@orderlynetwork\/what-is-an-evmcompatible-chain-46a7825adc4d."},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","unstructured":"Giuseppe Antonio Pierro and Roberto Tonelli. 2021. Analysis of Source Code Duplication in Ethreum Smart Contracts. In 2021 IEEE International Conference on Software Analysis Evolution and Reengineering (SANER). 701\u2013707. https:\/\/doi.org\/10.1109\/SANER50967.2021.00089 10.1109\/SANER50967.2021.00089","DOI":"10.1109\/SANER50967.2021.00089"},{"key":"e_1_3_1_35_2","unstructured":"SlowMist. 2024. SlowMist - Focusing on Blockchain Ecosystem Security. https:\/\/www.slowmist.com\/."},{"key":"e_1_3_1_36_2","unstructured":"Soliditydeveloper. 2022. What is ecrecover in Solidity? https:\/\/soliditydeveloper.com\/ecrecover."},{"key":"e_1_3_1_37_2","unstructured":"Stackoveflow. 2024. Stack Overflow - Where Developers Learn Share & Build Careers. https:\/\/stackoverflow.com\/."},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/3611643.3616270"},{"key":"e_1_3_1_39_2","unstructured":"Tanish Gupta. 2023. EOAs vs Contracts: Understanding the Two Types of Ethereum Accounts. https:\/\/medium.com\/\\spacefactor\\@m{}tanish_gupta\/eoas-vs-contracts-understanding-the-two-types-of-ethereumaccounts-378f9402d0e8."},{"key":"e_1_3_1_40_2","unstructured":"Trail of Bits. 2024. Trail of Bits. https:\/\/www.trailofbits.com\/."},{"key":"e_1_3_1_41_2","unstructured":"TRON. 2024. Decentralize The Web. https:\/\/tron.network\/."},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.59"},{"key":"e_1_3_1_43_2","unstructured":"Uniswap. 2021. Router02. https:\/\/docs.uniswap.org\/contracts\/v2\/reference\/smart-contracts\/router-02."},{"key":"e_1_3_1_44_2","unstructured":"Vechain. 2023. Contract address prediction. https:\/\/docs.vechain.org\/core-concepts\/evm-compatibility\/test-coverage\/contract-address-prediction."},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","unstructured":"Shuai Wang Yong Yuan Xiao Wang Juanjuan Li Rui Qin and Fei-Yue Wang. 2018. An Overview of Smart Contract: Architecture Applications and Future Trends. In 2018 IEEE Intelligent Vehicles Symposium (IV). 108\u2013113. https:\/\/doi.org\/10.1109\/IVS.2018.8500488 10.1109\/IVS.2018.8500488","DOI":"10.1109\/IVS.2018.8500488"},{"key":"e_1_3_1_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3643734"},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","unstructured":"Zexu Wang Jiachi Chen Peilin Zheng Yu Zhang Weizhe Zhang and Zibin Zheng. 2024. Unity is Strength: Enhancing Precision in Reentrancy Vulnerability Detection of Smart Contract Analysis Tools. IEEE Transactions on Software Engineering (2024) 1\u201312. https:\/\/doi.org\/10.1109\/TSE.2024.3427321 10.1109\/TSE.2024.3427321","DOI":"10.1109\/TSE.2024.3427321"},{"key":"e_1_3_1_48_2","unstructured":"Wikipedia contributors. 2024. Binance \u2013 Wikipedia The Free Encyclopedia. https:\/\/en.wikipedia.org\/w\/index.php?title=Binance&oldid=1214652916."},{"key":"e_1_3_1_49_2","unstructured":"Wikipedia contributors. 2024. Ethereum \u2013 Wikipedia The Free Encyclopedia. https:\/\/en.wikipedia.org\/w\/index.php?title=Ethereum&oldid=1214478940."},{"key":"e_1_3_1_50_2","unstructured":"Wikipedia contributors. 2024. Polygon (blockchain) \u2013 Wikipedia The Free Encyclopedia. https:\/\/en.wikipedia.org\/w\/index.php?title=Polygon_(blockchain)&oldid=1214411541."},{"key":"e_1_3_1_51_2","first-page":"1","article-title":"Ethereum: A secure decentralised generalised transaction ledger.","volume":"151","author":"Wood Gavin","year":"2014","unstructured":"Gavin Wood . 2014. Ethereum: A secure decentralised generalised transaction ledger. Ethereum project yellow paper 151, 2014 (2014), 1\u201332.","journal-title":"Ethereum project yellow paper"},{"issue":"1","key":"e_1_3_1_52_2","first-page":"1","article-title":"Card sorting: current practices and beyond.","volume":"4","author":"Wood Jed R","year":"2008","unstructured":"Jed R Wood and Larry E Wood. 2008. Card sorting: current practices and beyond. Journal of Usability Studies 4, 1 (2008), 1\u20136.","journal-title":"Journal of Usability Studies"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/3324884.3416553"},{"key":"e_1_3_1_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/3597926.3598063"},{"key":"e_1_3_1_55_2","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3639131"},{"key":"e_1_3_1_56_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2942301"}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3728921","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,8,23]],"date-time":"2026-08-23T13:50:47Z","timestamp":1787493047000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3728921"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,22]]},"references-count":56,"journal-issue":{"issue":"ISSTA","published-print":{"date-parts":[[2025,6,22]]}},"alternative-id":["10.1145\/3728921"],"URL":"https:\/\/doi.org\/10.1145\/3728921","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,6,22]]}}}