Abstract
Software development is a very broad activity that captures the entire life cycle of a software, which includes designing, programming, maintenance and so on. In this study, we focus on the maintenance-related concerns of the post-deployment of smart contracts. Smart contracts are self-executed programs that run on a blockchain. They cannot be modified once deployed and hence they bring unique maintenance challenges compared to conventional software. According to the definition of ISO/IEC 14764, there are four kinds of software maintenance, i.e., corrective, adaptive, perfective, and preventive maintenance. This study aims to answer (i) What kinds of issues will smart contract developers encounter for corrective, adaptive, perfective, and preventive maintenance after they are deployed to the Ethereum? (ii) What are the current maintenance-related methods used for smart contracts? To obtain the answers to these research questions, we first conducted a systematic literature review to analyze 131 smart contract related research papers published from 2014 to 2020. Since the Ethereum ecosystem is fast-growing, some results from previous publications might be out-of-date and there may be a gap between academia and industry. To address this, we performed an online survey of smart contract developers on Github to validate our findings and received 165 useful responses. Based on the survey feedback and literature review, we present the first empirical study on smart contract maintenance-related concerns. Our study can help smart contract developers better maintain their smart contract-based projects, and we highlight some key future research directions to improve the Ethereum ecosystem.







Similar content being viewed by others
Notes
The questions are multi-choice. Thus the sum of each options can exceed 100%. The same with the other questions.
Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards.
References
Amani S, Bégel M, Bortin M, Staples M (2018) Towards verifying Ethereum smart contract bytecode in Isabelle/HOL
AST (2020) Abstract syntax tree. https://en.wikipedia.org/wiki/Abstract_syntax_tree
Atzei N, Bartoletti M, Cimoli T (2017) A survey of attacks on Ethereum smart contracts (sok). In: International conference on principles of security and trust. Springer, pp 164–186
Ayoade G, Bauman E, Khan L, Hamlen K (2019) Smart contract defense through bytecode rewriting, IEEE
Azzopardi S, Ellul J, Pace GJ (2018) Monitoring smart contracts: Contractlarva and open challenges beyond. In: International conference on runtime verification. Springer, pp 113–137
Bartoletti M, Pompianu L (2017) An empirical analysis of smart contracts: platforms, applications, and design patterns. In: International conference on financial cryptography and data security. Springer, pp 494–509
Bartoletti M, Carta S, Cimoli T, Saia R (2020) Dissecting Ponzi schemes on Ethereum: identification, analysis, and impact. Futur. Gener. Comput. Syst. 102:259–277
Beck K, Beedle M, Van Bennekum A, Cockburn A, Cunningham W, Fowler M, Grenning J, Highsmith J, Hunt A, Jeffries R et al (2001) Manifesto for agile software development
Bez M, Fornari G, Vardanega T (2019) The scalability challenge of Ethereum: An initial quantitative analysis. In: 2019 IEEE international conference on service-oriented system engineering (SOSE). IEEE, pp 167–176
Bhargavan K, Delignat-Lavaud A, Fournet C, Gollamudi A, Gonthier G, Kobeissi N, Kulatova N, Rastogi A, Sibut-Pinote T, Swamy N et al (2016) Formal verification of smart contracts: Short paper. In: Proceedings of the 2016 ACM workshop on programming languages and analysis for security. pp 91–96
Bigi G, Bracciali A, Meacci G, Tuosto E (2015) Validation of decentralised smart contracts through game theory and formal methods. In: Programming languages with applications to biology and security. Springer, pp 142–161
Bistarelli S, Mazzante G, Micheletti M, Mostarda L, Tiezzi F (2019) Analysis of Ethereum smart contracts and opcodes. In: International conference on advanced information networking and applications. Springer, pp 546–558
Blockchain (2019) What is blockchain. https://en.wikipedia.org/wiki/Blockchain
Boehm B, Basili VR (2005) Software defect reduction top 10 list. Found Empir Softw Eng 426(37):426–431
Boehm BW (1988) A spiral model of software development and enhancement. Computer 21(5):61–72
Bosu A, Iqbal A, Shahriyar R, Chakraborty P (2019) Understanding the motivations, challenges and needs of Blockchain software developers: a survey. Empir. Softw. Eng. 24(4):2636–2673
Bourque P, Fairley RE et al (2014) Guide to the software engineering body of knowledge (SWEBOK (R)): Version 3.0. IEEE Computer Society Press, Washington
Brent L, Jurisevic A, Kong M, Liu E, Gauthier F, Gramoli V, Holz R, Scholz B (2018) Vandal: A scalable security analysis framework for smart contracts. arXiv:1809.03981
Bruce J (2014) The mini-blockchain scheme. White paper
Chakraborty P, Shahriyar R, Iqbal A, Bosu A (2018) Understanding the software development practices of blockchain projects: a survey. In: Proceedings of the 12th ACM/IEEE international symposium on empirical software engineering and measurement. pp 1–10
Chang J, Gao B, Xiao H, Sun J, Cai Y, Yang Z (2019) sCompile: Critical path identification and analysis for smart contracts. In: International conference on formal engineering methods. Springer, pp 286–304
Chen J, Xia X, David L, John G (2020a) Why do smart contracts self-destruct? investigating the selfdestruct function on ethereum. arXiv:2005.07908
Chen J, Xia X, Lo D, Grundy J, Luo X, Chen T (2020b) Defining smart contract defects on ethereum. IEEE Trans Softw Eng
Chen T, Li Z, Zhou H, Chen J, Luo X, Li X, Zhang X (2018a) Towards saving money in using smart contracts. In: 2018 IEEE/ACM 40th International conference on software engineering: new ideas and emerging technologies results (ICSE-NIER). IEEE, pp 81–84
Chen T, Zhang Y, Li Z, Luo X, Wang T, Cao R, Xiao X, Zhang X (2019a) TokenScope: automatically detecting inconsistent behaviors of cryptocurrency tokens in ethereum. In: Proceedings of the 2019 ACM SIGSAC conference on computer and communications security. pp 1503–1520
Chen T, Feng Y, Li Z, Zhou H, Luo X, Li X, Xiao X, Chen J, Zhang X (2020c) GasChecker: scalable analysis for discovering gas-inefficient smart contracts. IEEE Trans Emerg Topics Comput
Chen W, Ma M, Ye Y, Zheng Z, Zhou Y (2018b) IoT service based on jointcloud blockchain: The case study of smart traveling. In: 2018 IEEE symposium on service-oriented system engineering (SOSE), IEEE, pp 216–221
Chen W, Zheng Z, Ngai ECH, Zheng P, Zhou Y (2019b) Exploiting blockchain data to detect smart Ponzi schemes on Ethereum. IEEE Access 7:37575–37586
Colombo C, Ellul J, Pace GJ (2018) Contracts over smart contracts: Recovering from violations dynamically. In: International symposium on leveraging applications of formal methods. Springer, pp 300–315
Conoscenti M, Vetro A, De Martin JC (2016) Blockchain for the internet of things: a systematic literature review. In: 2016 IEEE/ACS 13th International conference of computer systems and applications (AICCSA). IEEE, pp 1–6
ConsenSys (2020) Smart contract best practices. https://github.com/ConsenSys/smart-contract-best-practices
Costan V, Devadas S (2016) Intel SGX explained. IACR Cryptology ePrint Archive 2016(086):1–118
Cryptokitties (2019) https://www.cryptokitties.co/
DApp (2019) Decentralized application. https://en.wikipedia.org/wiki/Decentralized_application
Delmolino K, Arnett M, Kosba A, Miller A, Shi E (2016) Step by step towards creating a safe smart contract: Lessons and insights from a cryptocurrency lab. In: International conference on financial cryptography and data security. Springer, pp 79–94
Di Angelo M, Salzer G (2019) Mayflies, breeders, and busy bees in Ethereum: smart contracts over time. In: Proceedings of the third ACM workshop on blockchains, cryptocurrencies and contracts. pp 1–10
DPoS (2019) Delegated proof of stake. https://lisk.io/academy/blockchain-basics/how-does-blockchain-work/delegated-proof-of-stakehttps://lisk.io/academy/blockchain-basics/how-does-blockchain-work/delegated-proof-of-stake
Drechsler R et al (2004) Advanced formal verification, vol 122. Springer, Berlin
Durieux T, Ferreira JF, Abreu R, Cruz P (2020) Empirical review of automated analysis tools on 47,587 Ethereum smart contracts. In: Proceedings of the ACM/IEEE 42nd International conference on software engineering. pp 530–541
Efanov D, Roschin P (2018) The all-pervasiveness of the blockchain technology. Procedia Comput Sci 123:116–121
EIP (2020) The ethereum improvement proposal repository. https://github.com/Ethereum/EIPs
EIP150 (2020) EIP-150. https://blog.Ethereum.org/2016/10/13/announcement-imminent-hard-fork-eip150-gas-cost-changes/https://blog.Ethereum.org/2016/10/13/announcement-imminent-hard-fork-eip150-gas-cost-changes/
ETC (2018) Ethereum classic. https://Ethereumclassic.github.io/
Ethereum (2019) Ethereum.org. https://www.Ethereum.org/
EtherScan (2018) https://etherscan.io/
Ethstates (2020) Ethereum network status. https://ethstats.net/
Fabian V, Vitalik B (2018) ERC20. https://github.com/Ethereum/EIPs/blob/master/EIPS/eip-20.md
Ferreira Torres C, Baden M, Norvill R, Jonker H (2019) ÆGIS: smart shielding of smart contracts. In: Proceedings of the 2019 ACM SIGSAC conference on computer and communications security. pp 2589–2591
Fontana FA, Mäntylä MV, Zanoni M, Marino A (2016) Comparing and experimenting machine learning techniques for code smell detection. Empir. Softw. Eng. 21(3):1143–1191
Fowler M, Beck K (1999) Refactoring: improving the design of existing code. Addison-Wesley Professional, Boston
Frowis M, Bohme R (2017) In code we trust? Measuring the control flow immutability of all smart contracts deployed on Ethereum. LNCS 10436:357–372
Fu Y, Ren M, Ma F, Jiang Y, Shi H, Sun J (2019) Evmfuzz: Differential fuzz testing of Ethereum virtual machine. arXiv:1903.08483
Gao Z, Jiang L, Xia X, Lo D, Grundy J (2020) Checking smart contracts with structural code embedding. IEEE Trans Softw Eng
GasStation (2020) ETH gas station. https://ethgasstation.info/
Giger E, D’Ambros M, Pinzger M, Gall HC (2012) Method-level bug prediction. In: Proceedings of the 2012 ACM-IEEE International symposium on empirical software engineering and measurement, IEEE, pp 171–180
Grano G, Di Sorbo A, Mercaldo F, Visaggio CA, Canfora G, Panichella S (2017) Android apps and user feedback: a dataset for software evolution and quality improvement. In: Proceedings of the 2nd ACM SIGSOFT international workshop on app market analytics. pp 8–11
Grech N, Kong M, Jurisevic A, Brent L, Scholz B, Smaragdakis Y (2018) Madmax: Surviving out-of-gas conditions in Ethereum smart contracts. Proceedings of the ACM on programming languages 2(OOPSLA):1–27
Grech N, Brent L, Scholz B, Smaragdakis Y (2019) Gigahorse: thorough, declarative decompilation of smart contracts, IEEE
Harz D, Knottenbelt W (2018) Towards safer smart contracts: A survey of languages and verification methods. arXiv:1809.0980
He N, Wu L, Wang H, Guo Y, Jiang X (2019) Characterizing code clones in the Ethereum smart contract ecosystem. arXiv:1905.00272
Hegedűs P (2019) Towards analyzing the complexity landscape of solidity based Ethereum smart contracts. Technologies 7(1):6
Hildenbrandt E, Saxena M, Rodrigues N, Zhu X, Daian P, Guth D, Moore B, Park D, Zhang Y, Stefanescu A et al (2018) Kevm: A complete formal semantics of the Ethereum virtual machine, IEEE
Huang R, Sun W, Xu Y, Chen H (2019) Towey D, A survey on adaptive random testing. IEEE Trans Softw Eng, Xia X
Huang THD (2018) Hunting the Ethereum smart contract: Color-inspired inspection of potential attacks. arXiv:1807.01868
Intel (2015) Intel corporation. Intelà software guard extensions evaluation SDK user’s guide for windows* OS. https://software.intel.com/sites/products/sgx-sdk-users-guide-windows
ISO/IEC (2006) ISO/IEC/IEEE international standard for software engineering - software life cycle processes - maintenance. ISO/IEC 14764:2006 (E) IEEE Std 14764-2006 Revision of IEEE Std 1219-1998), pp 1–58
Jiang B, Liu Y, Chan W (2018) Contractfuzzer: Fuzzing smart contracts for vulnerability detection. In: Proceedings of the 33rd ACM/IEEE international conference on automated software engineering. pp 259–269
Kalra S, Goel S, Dhawan M, Sharma S (2018) ZEUS: analyzing safety of smart contracts. In: The network and distributed system security symposium (NDSS). pp 1–12
Kiffer L, Levin D, Mislove A (2018) Analyzing ethereum’s contract topology. In: Proceedings of the internet measurement conference, vol 2018, pp 494–499
Kim M, Zimmermann T, DeLine R, Begel A (2016) The emerging role of data scientists on software development teams, IEEE
Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering. EBSE Technical Report
Kitchenham BA, Pfleeger SL (2008) Personal opinion surveys. In: Guide to advanced empirical software engineering. Springer, pp 63–92
Kolluri A, Nikolic I, Sergey I, Hobor A, Saxena P (2019) Exploiting the laws of order in smart contracts. In: Proceedings of the 28th ACM SIGSOFT international symposium on software testing and analysis. pp 363–373
Krupp J, Rossow C (2018) Teether: Gnawing at Ethereum to automatically exploit smart contracts. In: 27th USENIX security symposium. pp 1317–1333
Li X, Jiang P, Chen T, Luo X, Wen Q (2017), A survey on the security of blockchain systems. Future Gener Comput Syst
Li Z, Wu H, Xu J, Wang X, Zhang L, Chen Z (2019) MuSC: A tool for mutation testing of Ethereum smart contract. In: 2019 34th IEEE/ACM International conference on automated software engineering (ASE). IEEE, pp 1198–1201
Liu C, Liu H, Cao Z, Chen Z, Chen B, Roscoe B (2018a) Reguard: finding reentrancy bugs in smart contracts. In: 2018 IEEE/ACM 40th international conference on software engineering: companion (ICSE-Companion). IEEE, pp 65–68
Liu H, Liu C, Zhao W, Jiang Y, Sun J (2018b) S-gram: towards semantic-aware security auditing for Ethereum smart contracts. In: Proceedings of the 33rd ACM/IEEE international conference on automated software engineering. pp 814–819
LLVM (2021) The llvm project. https://llvm.org/
Lohr M, Peldszus S (2020) Maintenance of long-living smart contracts. In: CEUR workshop proceedings
Luu L, Chu DH, Olickel H, Saxena P, Hobor A (2016) Making smart contracts smarter. In: Proceedings of the 2016 ACM SIGSAC conference on computer and communications security. ACM, pp 254–269
Maalej W, Nabil H (2015) Bug report, feature request, or simply praise? on automatically classifying app reviews, IEEE
Macrinici D, Cartofeanu C, Gao S (2018) Smart contract applications within blockchain technology: A systematic mapping study. Telematics Inform. 35(8):2337–2354
Marino B, Juels A (2016) Setting standards for altering and undoing smart contracts. In: International symposium on rules and rule markup languages for the semantic web. Springer, pp 151–166
Marketcap (2020) https://www.ccn.com/marketcap/
Mavridou A, Laszka A (2018) Designing secure Ethereum smart contracts: A finite state machine based approach. In: International conference on financial cryptography and data security. Springer, pp 523–540
Mohanta BK, Panda SS, Jena D (2018) An overview of smart contract and use cases in blockchain technology. In: 2018 9th international conference on computing, communication and networking technologies (ICCCNT). IEEE, pp 1–4
Mossberg M, Manzano F, Hennenfent E, Groce A, Grieco G, Feist J, Brunson T, Dinaburg A (2019) Manticore: A user-friendly symbolic execution framework for binaries and smart contracts. In: 2019 34th IEEE/ACM international conference on automated software engineering (ASE). IEEE, pp 1186–1189
Mudge N (2021) Eip2535: diamond standard. https://eips.ethereum.org/EIPS/eip-2535
Mushegian N (2020) EIP-140. https://github.com/Ethereum/EIPs/issues/140
Nakamoto S (2008) Bitcoin: A peer-to-peer electronic cash system
Nguyen TD, Pham LH, Sun J, Lin Y, Minh QT (2020) sFuzz: an efficient adaptive fuzzer for solidity smart contracts. ICSE
Nikolić I, Kolluri A, Sergey I, Saxena P, Hobor A (2018) Finding the greedy, prodigal, and suicidal contracts at scale. In: Proceedings of the 34th annual computer security applications conference. pp 653–663
Nipkow T, Paulson LC, Wenzel M (2002) Isabelle/HOL: a proof assistant for higher-order logic, vol 2283. Springer Science & Business Media, Berlin
Norvill R, Pontiveros BBF, State R, Awan I, Cullen A (2017) Automated labeling of unknown contracts in Ethereum. In: 2017 26th international conference on computer communication and networks (ICCCN). IEEE, pp 1–6
Ong AD, Weiss DJ (2000) The impact of anonymity on responses to sensitive questions 1. J. Appl. Soc. Psychol. 30(8):1691–1708
OpenZeppelin (2020) OpenZeppelin upgradeable smart contract document. https://docs.openzeppelin.com/learn/upgrading-smart-contracts
Openzepplelin (2020) Openzepplelin contracts. https://github.com/OpenZeppelin/openzeppelin-contracts
Parizi RM, Dehghantanha A, Choo KKR, Singh A (2018a) Empirical vulnerability analysis of automated smart contracts security testing on blockchains. In: Proceedings of the 28th annual international conference on computer science and software engineering. IBM Corp., pp 103–113
Parizi RM, Dehghantanha A, et al. (2018b) Smart contract programming languages on blockchains: An empirical evaluation of usability and security. In: International conference on blockchain. Springer, pp 75–91
Park D, Zhang Y, Saxena M, Daian P, Roşu G (2018) A formal verification tool for Ethereum VM bytecode. In: Proceedings of the 2018 26th ACM joint meeting on european software engineering conference and symposium on the foundations of software engineering. pp 912–915
Perez D, Livshits B (2019) Smart contract vulnerabilities: Does anyone care? arXiv:1902.06710
Pigoski TM (1996) Practical software maintenance: best practices for managing your software investment. Wiley, Hoboken
PoS (2019) Proof of stake. https://en.wikipedia.org/wiki/Proof_of_stake
Reyna A, Martín C, Chen J, Soler E, Díaz M (2018) On blockchain and its integration with IoT. Challenges and opportunities. Future Gener Comput Syst 88:173–190
Rodler M, Li W, Karame GO, Davi L (2018) Sereum: Protecting existing smart contracts against re-entrancy attacks. arXiv:1812.05934
Schrans F, Eisenbach S, Drossopoulou S (2018) Writing safe smart contracts in Flint. In: Conference companion of the 2nd international conference on art, science, and engineering of programming. pp 218–219
SDHardFork (2020) Spurious dragon hard fork. https://blog.Ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/https://blog.Ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/
Segura S, Fraser G, Sanchez AB, Ruiz-Cortés A (2016) A survey on metamorphic testing. IEEE Trans Softw Eng 42(9):805–824
Siegel D (2018) Understanding the DAO attack. https://www.coindesk.com/understanding-dao-hack-journalists/https://www.coindesk.com/understanding-dao-hack-journalists/
Software C (2019) Mythril: Security analysis tool for evm bytecode. https://github.com/ConsenSys/mythril
Solidity (2020) Releases of solidity. https://github.com/Ethereum/solidity/releases
Solidity (2020) Solidity document. http://solidity.readthedocs.io
Spencer D (2009) Card sorting: Designing usable categories, Rosenfeld Media, New York
Swamy N, Hriţcu C, Keller C, Rastogi A, Delignat-Lavaud A, Forest S, Bhargavan K, Fournet C, Strub PY, Kohlweiss M et al (2016) Dependent types and multi-monadic effects in F. In: Proceedings of the 43rd annual ACM SIGPLAN-SIGACT symposium on principles of programming languages. pp 256–270
Tai AT, Alkalai L (1998) On-board maintenance for long-life systems. In: Proceedings. 1998 IEEE workshop on application-specific software engineering and technology. ASSET-98 (Cat. No. 98EX183). IEEE, pp 69–74
Tann A, Han XJ, Gupta SS, Ong YS (2018) Towards safer smart contracts: A sequence learning approach to detecting vulnerabilities. arXiv:1811.06632. pp 1371–1385
Tikhomirov S, Voskresenskaya E, Ivanitskiy I, Takhaviev R, Marchenko E, Alexandrov Y (2018) Smartcheck: Static analysis of Ethereum smart contracts. In: Proceedings of the 1st international workshop on emerging trends in software engineering for blockchain. pp 9–16
Torres CF, Schütte J, State R (2018) Osiris: Hunting for integer bugs in Ethereum smart contracts. In: Proceedings of the 34th Annual computer security applications conference. pp 664–676
Torres CF, Steichen M et al (2019) The art of the scam: Demystifying honeypots in Ethereum smart contracts. In: 28th {USENIX} security symposium ({USENIX} security, vol 19, pp 1591–1607
Tsankov P, Dan A, Drachsler-Cohen D, Gervais A, Buenzli F, Vechev M (2018) Securify: Practical security analysis of smart contracts. In: Proceedings of the 2018 ACM SIGSAC conference on computer and communications security. ACM, pp 67–82
Tyagi PK (1989) The effects of appeals, anonymity, and feedback on mail survey response patterns from salespeople. J. Acad. Mark. Sci. 17(3):235–241
Udokwu C, Kormiltsyn A, Thangalimodzi K, Norta A (2018) The state of the art for blockchain-enabled smart-contract applications in the organization. In: 2018 Ivannikov Ispras Open Conference (ISPRAS). IEEE, pp 137–144
Velner Y, Teutsch J, Luu L (2017) Smart contracts make Bitcoin mining pools vulnerable. In: International conference on financial cryptography and data security. Springer, pp 298–316
Vukolić M (2017) Rethinking permissioned blockchains. In: Proceedings of the ACM workshop on blockchain, cryptocurrencies and contracts. pp 3–7
Vyper (2020) Vyper document. https://vyper.readthedocs.io
Wan Z, Xia X, Hassan AE, Lo D, Yin J, Yang X (2018) Perceptions, expectations, and challenges in defect prediction. IEEE Trans Softw Eng
Wan Z, Xia X, Lo D, Murphy GC (2019) How does machine learning change software development practices? IEEE Trans Softw Eng
Wang H, Li Y, Lin SW, Ma L, Liu Y (2019a) Vultron: catching vulnerable smart contracts once and for all. In: 2019 IEEE/ACM 41st International conference on software engineering: new ideas and emerging results (ICSE-NIER). IEEE, pp 1–4
Wang X, He J, Xie Z, Zhao G, Cheung SC (2019b) ContractGuard: Defend ethereum smart contracts with embedded intrusion detection. IEEE Trans Serv Comput
Wang Z, Dai W, Choo KKR, Jin H, Zou D (2020) FSFC: An input filter-based secure framework for smart contract. J Netw Comput Appl :102530
Weili C, Zibin Z, Jiahui C, Edith N, Peilin Z, Yuren Z (2018) Detecting ponzi schemes on ethereum: towards healthier blockchain technology. In: Proceedings of the 2018 world wide web conference on world wide web, international world wide web conferences steering committee, pp 1409–1418
Wood G (2014) Ethereum: A secure decentralised generalised transaction ledger. Project Yellow Paper
Yan M, Xia X, Shihab E, Lo D, Yin J, Yang X (2018) Automating change-level self-admitted technical debt determination. IEEE Trans. Softw. Eng. 45(12):1211–1229
Zhang F, Cecchetti E, Croman K, Juels A, Shi E (2016) Town crier: An authenticated data feed for smart contracts. In: Proceedings of the 2016 aCM sIGSAC conference on computer and communications security. pp 270–282
Zhang T, Chen J, Zhan X, Luo X, Lo D, Jiang H (2019) Where2Change: Change request localization for app reviews. IEEE Trans Softw Eng
Zheng Z, Xie S, Dai HN, Chen X, Wang H (2018) Blockchain challenges and opportunities: A survey. Int J Web Grid Servi 14(4):352–375
Zheng Z, Xie S, Dai HN, Chen W, Chen X, Weng J, Imran M (2020) An overview on smart contracts: Challenges, advances and platforms. Futur. Gener. Comput. Syst. 105:475–491
Zhou E, Hua S, Pi B, Sun J, Nomura Y, Yamashita K, Kurihara H (2018) Security assurance for smart contract, IEEE
Zou W, Lo D, Kochhar PS, Le XBD, Xia X, Feng Y, Chen Z, Xu B (2019) Smart contract development: Challenges and opportunities. IEEE Trans Softw Eng
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Daniel Méndez
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Chen, J., Xia, X., Lo, D. et al. Maintenance-related concerns for post-deployed Ethereum smart contract development: issues, techniques, and future challenges. Empir Software Eng 26, 117 (2021). https://doi.org/10.1007/s10664-021-10018-0
Accepted:
Published:
DOI: https://doi.org/10.1007/s10664-021-10018-0