ISSN (Online): 2321-3418
server-injected
Engineering and Computer Science
Open Access

Leveraging Machine Learning for Predictive Bug Analysis

,
DOI: 10.18535/ijsrm/v12i12.ec04· Pages: 1804-1814· Vol. 12, No. 12, (2024)· Published: December 16, 2024
PDF
Views: 1,016 PDF downloads: 205

Abstract

Software quality and reliability are of the utmost concern in modern systems. Nevertheless, the growth in the scale and complexity of software development has made the traditional bug detection analysis techniques inefficient and resource-intensive. This is where machine learning-driven predictive bug analysis comes in handy: allowing one to make predictions by classifying and prioritizing software defects based on previous bug history. This paper explores the application of ML algorithms, including Random Forest, Support Vector Machines (SVM), and Neural Networks, for predictive bug analysis. It discusses data collection, preprocessing techniques, and evaluation metrics such as accuracy, precision, and recall. The results have shown that ML-based models outperform traditional approaches concerning bug prediction accuracy. The paper also points out issues with the quality of datasets and computational overhead but goes ahead to proffer potential improvements that could be achieved using transfer learning and explainable AI techniques. This study highlights the potential transformative impact of ML on the quality of software and strongly encourages its use in mainstream software development.

Keywords

Machine LearningPredictive Bug AnalysisSoftware ReliabilityBug PredictionSoftware

References

  1. Aljarah, I., Banitaan, S., Abufardeh, S., Jin, W., & Salem, S. (2011). Selecting discriminating terms for bug assignment: A formal analysis. Proceedings of the 7th International Conference on Predictive Models in Software Engineering.Google Scholar ↗
  2. Alenezi, M., & Banitaan, S. (2013). Bug reports prioritization: Which features and classifier to use? 2013 12th International Conference on Machine Learning and Applications.Google Scholar ↗
  3. Osman, H., Ghafari, M., Nierstrasz, O., & Lungu, M. (2017). An extensive analysis of efficient bug prediction configurations. PROMISE Predictive Modelling in Software Engineering.Google Scholar ↗
  4. Osman, H., Ghafari, M., & Nierstrasz, O. (2017). Automatic feature selection by regularization to improve bug prediction accuracy. 2017 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation.Google Scholar ↗
  5. Pandey, S. K., Mishra, R. B., & Tripathi, A. K. (2021). Machine learning-based methods for software fault prediction: A survey. Expert Systems with Applications, 166, 114595.Google Scholar ↗
  6. Pandey, S. K., Mishra, R. B., & Tripathi, A. K. (2020). BPDET: An effective software bug prediction model using deep representation and ensemble learning techniques. Expert Systems with Applications, 165, 113085.Google Scholar ↗
  7. Yang, G., Min, K., & Lee, B. (2020). Applying deep learning algorithm to automatic bug localization and repair. Proceedings of the 35th Annual ACM Symposium on Applied Computing, 1634-1641.Google Scholar ↗
  8. Yang, G., Zhang, T., & Lee, B. (2014). Towards semi-automatic bug triage and severity prediction based on topic model and multi-feature of bug reports. 2014 IEEE 38th Annual Computer Software and Applications Conference, 97-106.Google Scholar ↗
  9. Hammouri, A., Hammad, M., Alnabhan, M., & Alsarayrah, F. (2014). Software bug prediction using machine learning approach. International Journal of Emerging Technologies in Learning.Google Scholar ↗
  10. Ferenc, R., Gyimesi, P., Gyimesi, G., Tóth, Z., & Gyimóthy, T. (2020). An automatically created novel bug dataset and its validation in bug prediction. arXiv preprint arXiv:2006.10158.Google Scholar ↗
  11. Hirsch, T., & Hofer, B. (2021). Root cause prediction based on bug reports. arXiv preprint arXiv:2103.02372.Google Scholar ↗
  12. Sawadogo, A. D., Guimard, Q., Bissyandé, T. F., Kaboré, A. K., Klein, J., & Moha, N. (2021). Early detection of security-relevant bug reports using machine learning: How far are we? arXiv preprint arXiv:2112.10123.Google Scholar ↗
  13. Marçal, I., & Garcia, R. E. (2023). A comprehensible analysis of the efficacy of ensemble models for bug prediction. arXiv preprint arXiv:2310.12133.Google Scholar ↗
  14. Rahman, A. A. U., & Farhana, E. (2021). An empirical study of bugs in COVID-19 software projects. Proceedings of the 2021 IEEE/ACM 18th International Conference on Mining Software Repositories.Google Scholar ↗
  15. Farhana, E., Rutherford, T., & Lynch, C. F. (2020). Predictive student modelling in an online reading platform. Proceedings of the 13th International Conference on Educational Data Mining.Google Scholar ↗
  16. Banerjee, S., Srikanth, H., & Cukic, B. (2010). Log-based reliability analysis of software as a service (SaaS). 2010 IEEE 21st International Symposium on Software Reliability Engineering.Google Scholar ↗
  17. Banerjee, S., Cukic, B., & Adjeroh, D. (2012). Automated duplicate bug report classification using subsequence matching. 2012 IEEE 14th International Symposium on High-Assurance Systems Engineering.Google Scholar ↗
  18. Battineni, G., Chintalapudi, N., & Amenta, F. (2019). Machine learning in medicine: Performance calculation of dementia prediction by support vector machines (SVM). Informatics in Medicine Unlocked, 15, 100200.Google Scholar ↗
  19. Sharma, M., Bedi, P., Chaturvedi, K. K., & Singh, V. B. (2012). Predicting the priority of a reported bug using machine learning techniques and cross project validation. 2012 12th International Conference on Intelligent Systems Design and Applications, 539-545.Google Scholar ↗
  20. Chaturvedi, K. K., & Singh, V. B. (2012). Determining bug severity using machine learning techniques. 2012 CSI Sixth International Conference on Software Engineering (CONSEG), 1-6.Google Scholar ↗
  21. Kumari, M., & Singh, V. B. (2020). An improved classifier based on entropy and deep learning for bug priority prediction. In Intelligent Systems Design and Applications: 18th International Conference on Intelligent Systems Design and Applications (ISDA 2018) (pp. 29-38). Springer.Google Scholar ↗
  22. Yang, G., Min, K., & Lee, B. (2020). Applying deep learning algorithm to automatic bug localization and repair. Proceedings of the 35th Annual ACM Symposium on Applied Computing, 1634-1641.Google Scholar ↗
  23. Yang, G., Zhang, T., & Lee, B. (2014). Towards semi-automatic bug triage and severity prediction based on topic model and multi-feature of bug reports. 2014 IEEE 38th Annual Computer Software and Applications Conference, 97-106.Google Scholar ↗
  24. Pandey, S. K., Mishra, R. B., & Tripathi, A. K. (2020). BPDET: An effective software bug prediction model using deep representation and ensemble learning techniques. Expert Systems with Applications, 165, 113085.Google Scholar ↗
  25. Pandey, S. K., Mishra, R. B., & Tripathi, A. K. (2021). Machine learning-based methods for software fault prediction: A survey. Expert Systems with Applications, 166, 114595.Google Scholar ↗
Author details
Pushpalika Chatterjee
Senior Software Engineering Manager in Payments
✉ Corresponding Author
👤 View Profile →
Apurba Das
Lead Automation Engineer
👤 View Profile →