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.
翻译:根据ISO/IEC 14764的定义,软件开发是一个非常广泛的活动,它涵盖软件的整个生命周期,包括设计、编程、维护等等。在这项研究中,我们侧重于与智能合同部署后维护有关的问题。智能合同是自执行程序,在链条上运行。智能合同无法在部署后进行修改,因此与常规软件相比,软件开发带来了独特的维护挑战。根据ISO/IEC 14764的定义,有四种软件维护,即矫正、适应、完善和预防性维护。这项研究旨在回答:(一) 智能合同开发者在被部署到Etheem后在纠正、适应、完善和预防性维护方面会遇到哪些问题? (二) 智能合同是当前用于智能合同的维护相关方法? 为了获得这些研究问题的答案,我们首先进行了系统的文献审查,以分析2014至2020年出版的131份智能合同相关研究论文。由于Etheenum生态系统正在快速增长,以前出版物的有些成果可能过时,而且学术界和行业之间可能存在更好的差距。(b)为了应对当前智能合同和智能合同开发者们的研究结果,我们进行了一项智能合同的在线调查。(I)基础的实地评估。我们收到的一些智能合同评估。(I)基础合同评估,我们收到的智能合同和智能合同开发者,我们目前收到的智能合同的智能合同和智能合同的实地研究。