CNN-Based Deep Learning Approach for Prioritization of Bug Reports
P.G.S.M. Dharmakeerthi, R. A. H. M. Rupasingha, Banage T. G. S. Kumara · 2024
Software bugs are one of the most common types of defects in software products. A bug is an error or defect in a computer program that prevents it from functioning as intended. Bug prioritization is the process of determining which bugs should be fixed first. Prioritizing bugs is essential because it helps teams focus their efforts on fixing the most critical issues first. In recent years, the majority of researchers have focused their efforts on software bug priority-level prediction since currently it has been done manually. It is a time-consuming work and the accuracy level is also low. Therefore, the primary goal of this study is to propose an approach for predicting the bug priority level using deep learning algorithms. We used the Bugzilla dataset, which included more than 25,000 bug reports. After preprocessing data, we used several feature extraction methods, such as Global Vectors for Word Representation (GloVe), Word to Vector (Word2Vec), Term Frequency-Inverse Document Frequency (TF-IDF), and Document to Vector (Doc2Vec) methods to extract the features. There are four convolutional neural network (CNN) architectures, including AlexNet, 1DCNN, ResNet, and DenseNet used to compare the best architecture for predicting the bug priority. The accuracy is provided by each separate model: AlexNet 88.62%, 1DCNN 77.81%, ResNet 76.33%, and DenseNet 96.69%. This evaluation result discovered that DenseNet outperformed other CNN architectures in accuracy, precision, f-measure, recall, and error values. Using a proposed model, a new bug can be found and can easily assign a priority level to it while reducing the job of the software developers.