Software technical debt prediction based on complex software networks

基于复杂软件网络的软件技术债务预测

阅读:1

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.

特别声明

1、本页面内容包含部分的内容是基于公开信息的合理引用;引用内容仅为补充信息,不代表本站立场。

2、若认为本页面引用内容涉及侵权,请及时与本站联系,我们将第一时间处理。

3、其他媒体/个人如需使用本页面原创内容,需注明“来源:[生知库]”并获得授权;使用引用内容的,需自行联系原作者获得许可。

4、投稿及合作请联系:info@biocloudy.com。