论文标题

关于坚固智能合同项目的实际错误修复的实证研究

An Empirical Study on Real Bug Fixes from Solidity Smart Contract Projects

论文作者

Wang, Yilin, Chen, Xiangping, Huang, Yuan, Zhu, Hao-Nan, Bian, Jing, Zheng, Zibin

论文摘要

智能合约是位于区块链内部的代码部分,可以在满足特定预定义条件时触发以执行任何交易。通常用于区块链中的商业交易,使智能合约的安全尤为重要。在过去的几年中,我们在发现和修复按坚固性书写的智能合约中发现和修复错误的学术和实际兴趣。但是,对于坚固的智能合同项目中的真正错误修复知之甚少。为了了解错误修复并丰富了现实世界项目中错误修复的知识,我们对本文46个现实世界固体智能合约项目的历史错误修复进行了实证研究。我们提供多面讨论,主要探讨以下四个问题:文件类型和数量,修复复杂性,错误分布和修复补丁。在此过程中,我们提炼了四个发现,以探索这四个问题。最后,根据这些发现,我们提供了可行的含义,以改善从三个方面固定固体合同中错误的当前方法:自动维修技术,分析工具和坚固的开发人员。

Smart contracts are pieces of code that reside inside the blockchains and can be triggered to execute any transaction when specifically predefined conditions are satisfied. Being commonly used for commercial transactions in blockchain makes the security of smart contracts particularly important. Over the last few years, we have seen a great deal of academic and practical interest in detecting and fixing the bugs in smart contracts written by Solidity. But little is known about the real bug fixes in Solidity smart contract projects. To understand the bug fixes and enrich the knowledge of bug fixes in real-world projects, we conduct an empirical study on historical bug fixes from 46 real-world Solidity smart contract projects in this paper. We provide a multi-faceted discussion and mainly explore the following four questions: File Type and Amount, Fix Complexity, Bug distribution, and Fix Patches. We distill four findings during the process to explore these four questions. Finally, based on these findings, we provide actionable implications to improve the current approaches to fixing bugs in Solidity smart contracts from three aspects: Automatic repair techniques, Analysis tools, and Solidity developers.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源