An unsupervised software bug count prediction model based on selected software metrics
摘要
Software Bug Count Vector (SBCV) prediction technique is a regression model that aims to predict the precise number of bugs in each module of a software system. In contrast, a Software Bug Prediction (SBP) model focuses on predicting whether a module is buggy or not. Predicting the exact number of bugs in each module brings efficiency in software test resource allocation, maintenance, and release time. Many researchers have conducted empirical studies to predict SBCV using regression algorithms on labeled datasets only. However, accurately collecting and labeling buggy data poses multiple challenges, such as maintaining historical information, a version control system, an issue tracking system, and the need for experienced software experts. To address the limitation of labeled datasets and the absence of an unsupervised SBCV prediction model, we propose a novel unsupervised SBCV prediction model based on software metrics (SMs) thresholds. We have analyzed that previously proposed unsupervised SBP models calculated independent software metrics threshold using different techniques, but they did not consider skewness behaviors of software metrics distribution. To overcome this, we reduce the skewness of the SMs distribution using log transformation and then derive the threshold of each selected SM. Based on these thresholds and robust linear regression algorithm, we propose a SBCV prediction model. The proposed SBCV prediction model does not require labeled datasets and predicts software bug count in each module by self-learning approach. The average performance of our proposed technique over 22 datasets surpasses the majority of state-of-the-art regression techniques (8 standard supervised algorithms) in terms of mean absolute error (0.45), mean relative error (0.20), and Pred(l)_Error (0.29). The results of statistical tests, including the Wilcoxon signed-rank test, CohenD test, and Nemenyi test, demonstrate the significance of SBCV prediction models.