Title
Do we need to pay technical debt in blockchain software systems?
Abstract
For blockchain software systems, framework developers may introduce technical debts that application developers are not aware of. Because these technical debts can have a negative impact on software projects, we need to investigate the issue of technical debt in blockchain software systems. We wanted to investigate what types of self-introduced technical debt exist in open-source blockchain software systems, and how these technical debts are distributed. We have selected six most popular blockchain software projects from GitHub. Then the code comments from these software projects were extracted and manually labelled. Finally, the code comments were statistically analysed. We propose a new type of technical debt, resource debt, which is explicitly identified by the framework developers and requires special attention in subsequent production systems. Six types of technical debt are prevalent and there is not any algorithm debt. In addition, we find that the code comments containing technical debt are not entirely determined by task tags. SATD is prevalent in blockchain projects. There is more significant variability between different application software projects for different technical debts. The results of the study imply that for detecting SATD, deep semantic discovery models should be used, such as pre-trained models.
Year
DOI
Venue
2022
10.1080/09540091.2022.2067125
CONNECTION SCIENCE
Keywords
DocType
Volume
Self-admitted technical debt, blockchain, empirical study, software engineering
Journal
34
Issue
ISSN
Citations 
1
0954-0091
0
PageRank 
References 
Authors
0.34
0
7
Name
Order
Citations
PageRank
Yubin Qu100.34
Tie Bao253.96
Chen Xiang33135.72
Long Li400.34
Xianzhen Dou500.34
Meng Yuan600.68
Hongmei Wang700.34