Software Quality Assessment Using Explainable Machine Learning
-
DOI:
https://doi.org/10.67228/3142788X/IJMLPA-2022P2T9WPublished 01-02-2022
Software Quality Assessment, Explainable Machine Learning, SHAP Values, LIME, Code Metrics, Software Defect Prediction, Software Reliability, Model Interpretability, Software Engineering Analytics, Quality Assurance Issue
Section
ArticlesHow to Cite
[1]N. Ravi, “Software Quality Assessment Using Explainable Machine Learning”, IJMLPA, vol. 5, no. 1, pp. 01–09, Jan. 2022, doi: 10.67228/3142788X/IJMLPA-2022P2T9W.Abstract
Ensuring software quality is critical for the reliability, maintainability, and usability of modern software systems. Traditional software quality assessment techniques often rely on manual reviews, static analysis, or classical machine learning models that offer limited interpretability. This research proposes an Explainable Machine Learning (XML)–based framework to assess software quality by integrating code metrics, defect datasets, and advanced interpretability methods such as SHAP, LIME, and permutation importance. The study evaluates multiple ML models—Random Forest, Gradient Boosting, XGBoost, and Neural Networks—to predict software quality attributes including reliability, maintainability, and defect proneness. Explainability techniques are applied to interpret model decisions, identify key quality indicators, and provide insights useful for developers, testers, and project managers. Experimental results demonstrate that explainable ML improves both predictive performance and decision transparency, making it suitable for practical software engineering environments. This research highlights how combining ML with explainability techniques enhances trust, interpretability, and actionable insights in software quality assessment.
References
[1] Chidamber, S. R., & Kemerer, C. F. (1994). A metrics suite for object-oriented design. IEEE Transactions on Software Engineering, 20(6), 476–493.
[2] Halstead, M. H. (1977). Elements of Software Science. Elsevier.
[3] McCabe, T. J. (1976). A complexity measure. IEEE Transactions on Software Engineering, SE-2(4), 308–320.
[4] Bell, R. M., & Ostrand, T. J. (2007). Predicting the fault-proneness of classes. IEEE Transactions on Software Engineering, 33(3), 167–182.
[5] Hall, T., Beecham, S., Bowes, D., Gray, D., & Counsell, S. (2012). A systematic review of fault prediction performance in software engineering. IEEE Transactions on Software Engineering, 38(6), 1276–1304.
[6] Breiman, L. (2001). Random forests. Machine Learning, 45(1), 5–32.
[7] Chen, T., & Guestrin, C. (2016). XGBoost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 785–794.
[8] Lundberg, S. M., & Lee, S.-I. (2017). A unified approach to interpreting model predictions. Advances in Neural Information Processing Systems, 30, 4765–4774.
[9] Ribeiro, M. T., Singh, S., & Guestrin, C. (2016). “Why should I trust you?” Explaining the predictions of any classifier. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 1135–1144.
[10] Sharma, K., Kaur, A., & Jain, S. (2020). Explainable AI for software defect prediction: A systematic review. Journal of Systems and Software, 169, 110713.
[11] Khoshgoftaar, T. M., Allen, E. B., & Ni, X. (2009). Using ensemble learning for software quality prediction. Journal of Systems and Software, 82(2), 209–218.
[12] Menzies, T., Greenwald, J., & Frank, A. (2007). Data mining static code attributes to learn defect predictors. IEEE Transactions on Software Engineering, 33(1), 2–13.
[13] Buse, R. P., & Weimer, W. (2010). Learning a metric for code readability. IEEE Transactions on Software Engineering, 36(4), 546–558.
[14] Kaur, H., & Sharma, D. (2021). An interpretable machine learning framework for software defect prediction. Expert Systems with Applications, 171, 114574.
Downloads
How to Cite
[1]N. Ravi, “Software Quality Assessment Using Explainable Machine Learning”, IJMLPA, vol. 5, no. 1, pp. 01–09, Jan. 2022, doi: 10.67228/3142788X/IJMLPA-2022P2T9W.