论文标题
维持有关以太坊的智能合约:问题,技术和未来挑战
Maintaining Smart Contracts on Ethereum: Issues, Techniques, and Future Challenges
论文作者
论文摘要
软件开发是一项非常广泛的活动,可捕获软件的整个生命周期,其中包括设计,编程,维护等。在这项研究中,我们专注于与维护相关的智能合约后部署的关注。智能合约是在区块链上运行的自我执行的程序。一旦部署就无法修改它们,因此与传统软件相比,它们带来了独特的维护挑战。根据ISO/IEC 14764的定义,有四种软件维护,即矫正,自适应,完美和预防性维护。这项研究旨在回答(i)智能合约开发人员将在部署到以太坊后遇到哪些问题? (ii)用于智能合约的当前与维护相关的方法是什么?为了获得这些研究问题的答案,我们首先进行了系统的文献综述,分析了2014年至2020年发表的131个智能合约相关的研究论文。由于以太坊生态系统正在快速增长,因此先前出版物的一些结果可能是过时的,并且可能存在学术界和行业之间的差距。为了解决这个问题,我们对GitHub上的智能合同开发人员进行了在线调查,以验证我们的发现,并收到了165个有用的答复。根据调查反馈和文献综述,我们介绍了有关与智能合同维护有关的问题的首次实证研究。我们的研究可以帮助智能合同开发人员更好地维护其基于智能合同的项目,我们重点介绍了一些未来的研究方向,以改善以太坊生态系统。
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.