Abstract
Abstract Estimating the number of defects in a software project before the testing phase can reduce the enormous amount of development cost and help in allocating testing resources optimally and efficiently. However, estimating the number of defects in each module of a successive version of the software system will be more efficient in minimizing the development cost. The article proposed a method for estimating the number of defects in the successive version of a software system. The Cross Version Defect Count Estimation (CVDCE) technique estimates the number of defects in the next version of a software system. We proposed a new CVDCE model named Software Defect Count Estimator (SDC-Estimator). We utilized Long and Short Term Memory along with Attention layer architecture in our proposed model. We used seven software projects and their existing versions from the PROMISE repository. First, we have created a meta-content dataset from the different versions of the same software and used it for the training of the proposed model. We compared the performance of the SDC-Estimator with fourteen baseline and three state-of-the-art deep learning methods. We found, that in six out of seven and four out of seven projects, MAE is lowermost, and accuracy is higher respectively, whereas, in two out of seven software, MSE is minimum. We also found the mean of performance measures produced by the proposed model across all seven projects is most optimal compared to baseline methods. The proposed model tackles class imbalance and overfitting problems using random oversampling and dropout regularization, respectively, to produce fair and unbiased results. We observed the improvement of the proposed model on benchmark techniques by inspecting 20% of lines of code. In most situations, the improvements are significant, and it has a large effect size across all seven projects.
Published Version
Join us for a 30 min session where you can share your feedback and ask us any queries you have