arrow
返回

Why and how developers maintain smart contracts

delete2025-05-01
delete0
delete
OA
AI
G
Giovanni Rosa
S
Simone Scalabrino *
S
S. Mastrostefano
R
Rocco Oliveto
DOI:10.1007/s10664-025-10639-9delete
delete原文链接
delete分享
delete收藏
摘要

摘要

En 中文
Smart contracts, i.e., self-executing contracts written in code, have gained popularity in recent years due to the introduction of blockchain technology. These contracts are executed automatically when certain conditions are met, and, once deployed, they can not be modified. This presents issues when errors are found or updates are needed. Previous research has mainly focused on introducing approaches and tools for detecting bugs or vulnerabilities in smart contracts. However, it is unclear if these are the only maintenance-related operations developers perform. In this paper, we aim to understand why and how developers maintain smart contracts. We run a qualitative analysis on 590 commits from 14 open-source smart contract repositories written in Solidity, the most popular programming language for smart contracts. We analyze the commit messages, related issues, and the changes made to understand what triggered changes. Then, we examine how developers changed the source code. As a result, we define two taxonomies: one reporting the reasons for the maintenance and one regarding the patterns of modifications. Our findings suggest that smart contract maintenance is often focused on improving the internal quality of the scripts (40% of the cases), and that many changes aim to fix bugs despite the several approaches available for detecting them beforehand.
Keyword:
Empirical study
Smart contract
Solidity

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

U
University of Molise
学者数:
2.6K
论文数: 2.6K
被引数: 2.8K
引用论文

引用论文

暂无论文信息