Automatic Bug Priority Prediction using LSTM and ANN Approaches during Software Development
Keywords:
Bug Priority Prediction, Deep Learning, Ensemble ApproachAbstract
The process of manually assign a priority value to a bug report takes time. There is a high chance that a developer may allocate the wrong value, and this can affect several important software development processes. To address this problem, the objective of this research incorporates three unique feature extraction approaches to create a model for automatically predicting the priority of bugs using the Long Short-Term Memory (LSTM) deep learning algorithm and Artificial Neural Network (ANN) algorithm. First, we collected approximately 20,500 bug reports from the Bugzilla; bug tracking system. Followed preprocessing, created models using two classifiers and feature vectors including Global Vectors for Word Representation (GloVe), Term Frequency-Inverse Document Frequency (TF-IDF), and Word2Vec used individually. The final classification results were determined by comparing the all results of the different models, which were integrated into an ensemble model. For evaluating the models, accuracy, recall, precision, and f-measure were used. The ensemble model produced the highest accuracy of 92% than other models as ANN model’s accuracy was 80.28%, LSTM GloVe model's accuracy was 89.58%, LSTM TF-IDF model's accuracy was 88.94%, LSTM W2V model's accuracy was 84.84%. And also, higher recall, precision, and f-measure results were found in the ensemble model. Using the proposed model by LSTM-based ensemble approach we could automatically find the bug priority level of bug reports
efficiently and effectively. In the future studies, intend to gather data from sources other than Bugzilla, such as JIRA or a GitHub repository. Additionally, try to apply other deep algorithms to improve the accuracy.
Link: https://www.ijrcom.org/download/issues/v3i1/IJRC31_03.pdf
References
K. Moran, "Enhancing android application bug reporting," 10th Joint Meeting Foundation, no. Aug, 2015, pp. 1045-1047, 2015.
J. Xuan, H. Jiang, Z. Ren and W. Zou, "Developer Prioritization in Bug Repositories," in 34th International Conference on Software Engineering (ICSE), 2012.
"Debian-wiki portal," 08 04 2022. [Online]. Available: https://wiki.debian.org/BTS. [Accessed 25 June 2023].
"Jira Issue Tracker," Atlassian, [Online]. Available: https://www.atlassian.com/software/jira/. [Accessed January 2023].
"Bugzilla Issue Tracker," Mozilla, [Online]. Available: https://www.bugzilla.org/. [Accessed January 2023].
X. Xia, D. Lo, X. Wang and B. Zhou, "Accurate developer recommendation for bug resolution," in 20th Working Conference Reversen Eng. (WCRE), Oct., 2013.
H. Bani-Salameh, M. Sallam and B. Al shboul, "A Deep-Learning-Based Bug Priority Prediction Using RNN-LSTM Neural Networks," e-Information Software Engineering Journal, vol. 15, no. 1, pp. 29-45, 2021.
"Bugzilla - Reporting a Bug," www.Bugzilla.org, June 2023. [Online]. Available:
https://www.bugzilla.org/contributing/reporting_bugs.html. [Accessed 14 June 2023].
R. Harris, "Singlemindconsulting," 14 August 2020. [Online]. Available: https://www.singlemindconsulting.com/blog/prioritize-bug-fixes-vs-product-features/. [Accessed 25 June 2023].
H. L. a. I. I. Q. Umer, "CNN-based automatic prioritization of bug reports," IEEE transactions on reliability, Vols. 69, no. 4, pp. 1341-1354, 2020.