中文

以太坊上智能合约的维护:问题、技术与未来挑战

软件工程 2021-08-18 v2

摘要

软件开发是一项非常广泛的活动,涵盖软件的整个生命周期,包括设计、编程、维护等。在本研究中,我们关注智能合约部署后与之相关的维护问题。智能合约是在区块链上运行的自我执行程序。它们在部署后无法被修改,因此相较于传统软件带来了独特的维护挑战。根据 ISO/IEC 14764 的定义,软件维护有四类,即改正性维护、适应性维护、完善性维护和预防性维护。本研究旨在回答:(i) 智能合约开发者将其部署到以太坊后,在改正性、适应性、完善性和预防性维护方面会遇到哪些类型的问题?(ii) 当前用于智能合约的维护相关方法有哪些?为获得这些研究问题的答案,我们首先进行了系统的文献综述,分析了 2014 年至 2020 年发表的 131 篇智能合约相关研究论文。由于以太坊生态系统快速发展,先前出版物中的某些结果可能已过时,且学术界与工业界之间可能存在差距。为此,我们对 Github 上的智能合约开发者进行了在线调查以验证我们的发现,并收到了 165 份有效回复。基于调查反馈与文献综述,我们提出了首项关于智能合约维护相关问题的实证研究。我们的研究可帮助智能合约开发者更好地维护其基于智能合约的项目,并指出了若干改进以太坊生态系统的关键未来研究方向。

关键词

引用

@article{arxiv.2007.00286,
  title  = {Maintaining Smart Contracts on Ethereum: Issues, Techniques, and Future Challenges},
  author = {Jiachi Chen and Xin Xia and David Lo and John Grundy and Xiaohu Yang},
  journal= {arXiv preprint arXiv:2007.00286},
  year   = {2021}
}