Litcius/Paper detail

Do we need to pay technical debt in blockchain software systems?

Yubin Qu, Tie Bao, Xiang Chen, Long Li, Xianzhen Dou, Meng Yuan, Hongmei Wang

2022Connection Science10 citationsDOIOpen Access PDF

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.

Topics & Concepts

Technical debtComputer scienceBlockchainSoftwareDebtSoftware systemSource codeSoftware engineeringSoftware developmentCode (set theory)World Wide WebData scienceComputer securityFinanceBusinessOperating systemSet (abstract data type)Programming languageBlockchain Technology Applications and SecuritySoftware Engineering ResearchCloud Computing and Resource Management
Do we need to pay technical debt in blockchain software systems? | Litcius