Identifying the severity of technical debt issues based on semantic and structural information

被引:0
|
作者
Dongjin Yu
Sicheng Li
Xin Chen
Tian Sun
机构
[1] Hangzhou Dianzi University,School of Computer Science and Technology
[2] Hangzhou Dianzi University,HDU
来源
Software Quality Journal | 2023年 / 31卷
关键词
Technical debt; Technical debt issues; Severity identification; Semantic information; Structural information; Code analysis;
D O I
暂无
中图分类号
学科分类号
摘要
Technical debt (TD) refers to the phenomenon that developers choose a compromise solution from a short-term benefit perspective during design or architecture selection. TD-related issues, such as code smells, may have a critical impact on important non-functional requirements. Different severity levels of TD issues require different measures to be taken by developers in the future. Existing studies mainly focus on detecting TD in software projects through source code or comments, but usually ignore the severity degree of TD issues. As a matter of fact, it is very important to identify the severity of TD issues and clarify which TD should be prioritized. In this paper, we propose an approach that combines the semantic and structural information of the code snippets to identify their severity at method level. In the approach, we first transform each method affected by TD issues into an abstract syntax tree (AST) and use the paths in the AST to represent its semantic information. Then, we extract different code metrics to measure the size, coupling, and complexity of methods affected by TD issues to represent their structural information. Finally, we build a stacking ensemble model to identify the severity of TD issues by using Random Forest (RF) and eXtreme Gradient Boosting (XGBoost) for the base classifiers and Support Vector Machine (SVM) for the meta-classifier. The evaluation results on the real dataset show that our approach achieves 65.77% in terms of precision, 68.18% in terms of recall, and 65.84% in terms of F1-score on average. In addition, the experimental results also demonstrate that the strategy of combining the semantic and structural information of code snippets is effective in improving the effectiveness of our approach.
引用
收藏
页码:1499 / 1526
页数:27
相关论文
共 50 条
  • [41] A two-stage approach for identifying and interpreting self-admitted technical debt
    Ming Yin
    Jiaze Wang
    Dan Zhu
    Cunzhi Gao
    Applied Intelligence, 2023, 53 : 26592 - 26602
  • [42] DebtViz: A Tool for Identifying, Measuring, Visualizing, and Monitoring Self-Admitted Technical Debt
    Li, Yikun
    Soliman, Mohamed
    Avgeriou, Paris
    van Ittersum, Maarten
    2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION, ICSME, 2023, : 558 - 562
  • [43] Identifying architectural technical debt, principal, and interest in microservices: A multiple-case study
    de Toledo, Saulo S.
    Martini, Antonio
    Sjoberg, Dag I. K.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 177
  • [44] A two-stage approach for identifying and interpreting self-admitted technical debt
    Yin, Ming
    Wang, Jiaze
    Zhu, Dan
    Gao, Cunzhi
    APPLIED INTELLIGENCE, 2023, 53 (22) : 26592 - 26602
  • [45] A Benchmarking-based Model for Technical Debt Calculation
    Mayr, Alois
    Ploesch, Reinhold
    Koerner, Christian
    2014 14TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC 2014), 2014, : 305 - 314
  • [46] Technical Debt Prioritization: A Search-Based Approach
    Alfayez, Reem
    Boehm, Barry
    2019 IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2019), 2019, : 434 - 445
  • [47] Technical Debt Forecasting Based on Deep Learning Techniques
    Mathioudaki, Maria
    Tsoukalas, Dimitrios
    Siavvas, Miltiadis
    Kehagias, Dionysios
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS, ICCSA 2021, PT VII, 2021, 12955 : 306 - 322
  • [48] JCaliper: Search-Based Technical Debt Management
    Kouros, Panagiotis
    Chaikalis, Theodore
    Arvanitou, Elvira-Maria
    Chatzigeorgiou, Alexander
    Ampatzoglou, Apostolos
    Amanatidis, Theodoros
    SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 1721 - 1730
  • [49] TEKNO: Preparing Legacy Technical Documents for Semantic Information Systems
    Furth, Sebastian
    Schirm, Maximilian
    Belli, Volker
    Baumeister, Joachim
    NATURAL LANGUAGE PROCESSING AND INFORMATION SYSTEMS, NLDB 2017, 2017, 10260 : 429 - 434
  • [50] How Do Developers Fix Issues and Pay Back Technical Debt in the Apache Ecosystem?
    Digkas, Georgios
    Lungu, Mircea
    Avgeriou, Paris
    Chatzigeorgiou, Alexander
    Ampatzoglou, Apostolos
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 153 - 163