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

被引:3
|
作者
Qu, Yubin [1 ,2 ,3 ]
Bao, Tie [1 ]
Chen, Xiang [4 ]
Li, Long [5 ]
Dou, Xianzhen [3 ]
Yuan, Meng [1 ]
Wang, Hongmei [6 ]
机构
[1] Jilin Univ, Coll Comp Sci & Technol, Changchun 130012, Peoples R China
[2] Jiangsu Coll Engn & Technol, Sch Informat Engn, Nantong, Peoples R China
[3] Guilin Univ Elect Technol, Guangxi Key Lab Trusted Software, Guilin, Peoples R China
[4] Nantong Univ, Sch Informat Sci & Technol, Nantong, Peoples R China
[5] Jinan Univ, Coll Cyber Secur, Guangzhou, Peoples R China
[6] Jiangsu Univ Sci & Technol, Sch Comp Sci & Engn, Zhenjiang, Jiangsu, Peoples R China
基金
中国国家自然科学基金;
关键词
Self-admitted technical debt; blockchain; empirical study; software engineering;
D O I
10.1080/09540091.2022.2067125
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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.
引用
收藏
页码:2026 / 2047
页数:22
相关论文
共 50 条
  • [31] Why Do We Need Intelligent Systems?
    Hendler, James
    IEEE INTELLIGENT SYSTEMS, 2008, 23 (06) : 2 - 3
  • [32] Do we need two systems for reasoning?
    Oberauer, K
    BEHAVIORAL AND BRAIN SCIENCES, 2000, 23 (05) : 692 - +
  • [33] Why do we need intelligent systems?
    Rensselaer Polytechnic Institute, United States
    IEEE Intell. Syst., 2008, 6 (2-3):
  • [34] Why do we need software-defined factories?
    Makdessian, Alec
    Electronic Products, 2023, 65 (05): : 4 - 5
  • [35] Characterizing Implicit Communal Components as Technical Debt in Automotive Software Systems
    Vogelsang, Andreas
    Femmer, Henning
    Junker, Maximilian
    2016 13TH WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE (WICSA), 2016, : 31 - 40
  • [36] Metrics for Software Quality in automated Production Systems as an Indicator for Technical Debt
    Capitan, Lorena
    Vogel-Heuser, Birgit
    2017 13TH IEEE CONFERENCE ON AUTOMATION SCIENCE AND ENGINEERING (CASE), 2017, : 709 - 716
  • [37] Technical Debt and the Reliability of Enterprise Software Systems: A Competing Risks Analysis
    Ramasubbu, Narayan
    Kemerer, Chris F.
    MANAGEMENT SCIENCE, 2016, 62 (05) : 1487 - 1510
  • [38] A Debt Restructuring Mechanism for Sovereigns. Do We Need a Legal Procedure?
    Smits, Rene
    COMMON MARKET LAW REVIEW, 2016, 53 (01): : 273 - 276
  • [39] Do you need a Blockchain?
    Wust, Karl
    Gervais, Arthur
    2018 CRYPTO VALLEY CONFERENCE ON BLOCKCHAIN TECHNOLOGY (CVCBT), 2018, : 45 - 54
  • [40] Technical Debt of Standardized Test Software
    Szabados, Kristof
    Kovacs, Attila
    2015 IEEE 7TH INTERNATIONAL WORKSHOP ON MANAGING TECHNICAL DEBT (MTD) PROCEEDINGS, 2015, : 57 - 60