Just-In-Time Software Defect Prediction using a deep learning-based model
Abstract
The increase in software complexity, driven by technological developments and user demands, has created major challenges for companies in Software Quality Assurance. Companies seek efficient ways to identify and mitigate defects, recognizing that they cause high financial costs and other problems with negative impacts on business. Among defect prediction approaches, Just-In-Time Software Defect Prediction has received increased attention from software industry professionals in recent years. This technique aims to identify and treat defects early, to improve the quality of the software development cycle. This study proposes a Deep Learning-based approach for Just-In-Time Software Defect Prediction using a large dataset of historical data from several popular software projects. The Deep Learning model was trained to identify defects by analyzing the software metrics provided by the dataset. The model achieved an accuracy of 82.08% in its predictions, and it was possible to determine the most relevant metrics for its conclusions through interpretability techniques. The results obtained demonstrate the potential of Just-In-Time Software Defect Prediction as a tool for improving software quality and encouraging the development of new studies and improvements in this area of research.
First published online 17 January 2025
Keyword : software defect prediction, machine learning, deep learning
This work is licensed under a Creative Commons Attribution 4.0 International License.
References
Goyal, J., & Sinha, R. R. (2023). Machine learning-based defect prediction for software efficiency. International Journal of Intelligent Systems and Applications in Engineering, 11(6s), 257–266.
Kaur, G., Pruthi, J., & Gandhi, P. (2023). Machine learning based software fault prediction models. Karbala International Journal of Modern Science, 9(2), Article 9. https://doi.org/10.33640/2405-609X.3297
Keshavarz, H., & Nagappan, M. (2022). ApacheJIT: A large dataset for just-in-time defect prediction. In Proceedings of the 19th International Conference on Mining Software Repositories (pp. 191–195). Association for Computing Machinery. https://doi.org/10.1145/3524842.3527996
Khalid, A., Badshah, G., Ayub, N., Shiraz, M., & Ghouse, M. (2023). Software defect prediction analysis using machine learning techniques. Sustainability, 15(6), Article 5517. https://doi.org/10.3390/su15065517
Krasner, H. (2022). The cost of poor software quality in the US: A 2022 report. CISQ. https://www.it-cisq.org
Lamba, T., Kavita, & Mishra, A. K. (2019). Optimal machine learning model for software defect prediction. International Journal of Intelligent Systems and Applications, 11(2), 36–48. https://doi.org/10.5815/ijisa.2019.02.05
Li, Z., Jing, X.-Y., & Zhu, X. (2018). Progress on approaches to software defect prediction. IET Software, 12(3), 161–175. https://doi.org/10.1049/iet-sen.2017.0148
Lundberg S. M., & Lee S. (2017). A unified approach to interpreting model predictions. arXiv. https://doi.org/10.48550/arXiv.1705.07874
Mahbub, P., Shuvo, O., & Masudur Rahman, M. (2023). Defectors: A large, diverse Python dataset for defect prediction. In 2023 IEEE/ACM 20th International Conference on Mining Software Repositories (pp. 393–397). IEEE. https://doi.org/10.1109/MSR59073.2023.00085
Nevendra, M., & Singh, P. (2021). Software defect prediction using deep learning. Journal of Applied Sciences, 18(10), 173–189. https://doi.org/10.12700/APH.18.10.2021.10.9
Rathore, S. S., & Kumar, S. (2019). A study on software fault prediction techniques. Artificial Intelligence Review, 51(1), 255–327. https://doi.org/10.1007/s10462-017-9563-5
Santos, G., Figueiredo, E., Veloso, A., Viggiato, M., & Ziviani, N. (2020). Predicting software defects with explainable machine learning. In 19th Brazilian Symposium on Software Quality (Article 18). Association for Computing Machinery. https://doi.org/10.1145/3439961.3439979
Shah, M., & Pujara, N. (2020). Software defects prediction using machine learning. arXiv. https://doi.org/10.48550/arXiv.2011.00998
Sirshar, M., Mir, H., Amir, K., & Zainab, L. (2019). Comparative analysis of software defect prediction techniques. Preprints. https://www.preprints.org/manuscript/201912.0075/v1
Thota, M. K., Shajin, F. H., & Rajesh, P. (2020). Survey on software defect prediction techniques. International Journal of Applied Science and Engineering, 17(4), 331–344. https://doi.org/10.6703/IJASE.202012_17(4).331
Zhao, Y., Damevski, K., & Chen, H. (2023). A Systematic survey of just-in-time software defect prediction. ACM Computing Surveys, 55(10), Article 201. https://doi.org/10.1145/3567550