Software technical debt prediction based on complex software networks.

Journal: PloS one
Published Date:

Abstract

Technical debt prediction (TDP) is crucial for the long-term maintainability of software. In the literature, many machine-learning based TDP models have been proposed; they used TD-related metrics as input features for machine-learning classifiers to build TDP models. However, their performance is unsatisfactory. Developing and utilizing more effective metrics to build TDP models is considered as a promising approach to enhance the performance of TDP models. Social Network Analysis (SNA) uses a set of metrics (i.e., SNA metrics) to characterize software elements (classes, binaries, etc.) in software from the perspective of software as a whole. SNA metrics are regarded as a compensation of TD-related metrics used in the existing TDP work, and thus are expected to improve the performance of existing TDP models. However, the effectiveness of SNA metrics in the field of TDP has never been explored so far. To fill this gap, in this paper, we propose an improved software technical debt prediction approach. First, we represent software as a Class Dependency Network, based on which we compute the value of a set of SNA metrics. Second, we combine SNA metrics with the TD-related metrics to create a combined metric suite (CMS). Third, we employ CMS as the input features and utilize seven commonly used machine learning classifiers to build TDP models. Empirical results on a publicly available data set show that (i) the combined metric suite (i.e., CMS) can indeed improve the performance of existing TDP models; (ii) XGBoost performs best among the seven classifiers, with an [Formula: see text] value of 0.77, an MI ratio of approximately 0.10, and a recall close to 0.87. Furthermore, we also reveal the relative effectiveness of different metric combinations.

Authors

  • Bo Jiang
    Jiangsu Co-Innovation Center of Efficient Processing and Utilization of Forest Resources, Nanjing Forestry University, Nanjing 210037, China. 111501206@njfu.edu.cn.
  • Jiaye Cen
    School of Computer Science and Technology, Zhejiang Gongshang University, Hangzhou, Zhejiang, China.
  • Erluan Zhu
    School of Computer Science and Technology, Zhejiang Gongshang University, Hangzhou, Zhejiang, China.
  • Jiale Wang
    School of Information Science and Engineering, Shandong Normal University, Jinan 250358, P. R. China.