Enhancing Software Maintainability Prediction Using Multiple Linear Regression and Predictor Importance

Authors

DOI:

https://doi.org/10.52756/ijerr.2023.v36.013

Keywords:

Machine learning, Multiple linear regression, Object-oriented metric, Predictor importance, Software maintainability prediction

Abstract

Accurate maintenance effort and cost estimation are essential for effective software development. By identifying software modules with poor maintainability, Software Maintainability Prediction (SMP) plays a crucial role in managing software maintenance expenses. Previous research efforts have used multiple regression techniques to predict software maintainability, but the results regarding various accuracy and performance metrics are inconclusive. As such, developing a methodology that can recommend regression techniques for software maintainability prediction in the face of inconsistent performance or accuracy metrics is imperative. This research addresses the critical issue of software maintainability and presents a novel approach, the Software Maintainability Model (SMP) utilizing the Predictor Importance (PI) Method, Multiple Linear Regression (MLR), and five machine learning techniques. The proposed SMP integrates ten static source code metrics from object-oriented programming. MLR and PI implement feature selection, and the SMP's performance is evaluated based on accuracy and the Mean Magnitude of Relative Error (MMRE) parameters. Our findings are promising: for the User Interface Management System (UIMS) software, the proposed SMP demonstrates an impressive MMRE of 0.2441 and an accuracy of 91.91%. Similarly, for the Quality Evaluation System (QUES) software, an MMRE value of 0.2222 is achieved alongside a maximum accuracy of 80.95%. The ensemble method, when compared to other Machine Learning (ML) techniques, exhibits superior performance. These results affirm the effectiveness of our approach, contributing to the enhancement of software maintainability in object-oriented programming systems.

References

Ahmed, M. A., & Al-Jamimi, H. A. (2013). Machine learning approaches for predicting software maintainability: a fuzzy‐based transparent model. IET Software, 7(6), 317-326. https://doi.org/10.1049/iet-sen.2013.0046

Al Dallal, J. (2013). OO class maintainability prediction using internal quality attributes. Information and Software Technology, 55(11), 2028-2048. https://doi.org/10.1016/j.infsof.2013.07.005

Aljamaan, H., Elish, M. O., & Ahmad, I. (2013). An ensemble of computational intelligence models for software maintenance effort prediction. Springer Berlin Heidelberg. In Advances in Computational Intelligence: 12th International Work-Conference on Artificial Neural Networks, IWANN 2013, Puerto de la Cruz, Tenerife, Spain, June 12-14, 2013, Proceedings, Part I 12, pp. 592-603. https://doi.org/10.1007/978-3-642-38679-4_60

Al-Jamimi, H. A., & Ahmed, M. (2012, June). Prediction of software maintainability using fuzzy logic. In 2012 IEEE International Conference on Computer Science and Automation Engineering, pp. 702–705. https://doi.org/10.1109/ICSESS.2012.6269563

Alsolai, H., & Roper, M. (2020). A systematic literature review of machine learning techniques for software maintainability prediction. Information and Software Technology,119, 106214. https://doi.org/10.1016/j.infsof.2019.106214

Chandra, D. (2012). Support vector approach using a radial kernel function to predict software maintenance effort based on a multivariate approach. International Journal of Computer Applications, 51(4). 21–25. https://doi.org/10.5120/8029-1302

Chidamber, S. R., & Kemerer, C. F. (1994). A metrics suite for OO design. IEEE Transactions on Software Engineering, 20(6), 476-493. https://doi.org/10.1109/32.295895

Colakoglu, F. N., Yazici, A., & Mishra, A. (2021). Software product quality metrics: A systematic mapping study. IEEE Access, 9, 44647-44670. https://doi.org/10.1109/ACCESS.2021.3054730

Coleman, D., Ash, D., Lowther, B., & Oman, P. (1994). Using metrics to evaluate software system maintainability. Computer, 27(8), 44–49. https://doi.org/10.1109/2.303623

Elish, M. O., Aljamaan, H., & Ahmad, I. (2015). Three empirical studies on predicting software maintainability using ensemble methods. Soft Computing, 19, 2511-2524. https://doi.org/10.1007/s00500-014-1576-2

Garomssa, S. D., Kannan, R., Chai, I., & Riehle, D. (2022). How software quality mediates the impact of intellectual capital on commercial open-source software company success. IEEE Access, 10, 46490-46503. https://doi.org/10.1109/ACCESS.2022.3170058

Gupta, S., & Chug, A. (2020). Software maintainability prediction of open source datasets using least squares support vector machines. Journal of Statistics and Management Systems, 23(6), 1011–1021. https://doi.org/10.1080/09720510.2020.1799501

Haner Kırğıl, E. N., & Erçelebi Ayyıldız, T. (2023). Predicting Software Cohesion Metrics with Machine Learning Techniques. Applied Sciences, 13(6), 3722. https://doi.org/10.3390/app13063722

Hu, Y., Jiang, H., & Hu, Z. (2023). Measuring code maintainability with deep neural networks. Frontiers of Computer Science, 17(6), 176214.

JayaBharath, M., Choudary, N. L., Pranay, C. S., Praveenya, M. D., & Reddy, B. R. (2023, March). An analysis of Software Maintainability Prediction Using Ensemble Learning Algorithms. IEEE. In 2023 3rd International Conference on Artificial Intelligence and Signal Processing (AISP), pp. 1-5.

Jung, H. W., Kim, S. G., & Chung, C. S. (2004). Measuring software product quality: A survey of ISO/IEC 9126. IEEE Software, 21(5), 88-92. https://doi.org/10.1109/MS.2004.1331309

Kaur, A., Kaur, K., & Pathak, K. (2014, September). Software maintainability prediction by data mining of software code metrics. IEEE, In 2014, there was an International Conference on Data Mining and Intelligent Computing (ICDMIC), pp. 1-6. https://doi.org/10.1109/ICDMIC.2014.6954262

Kumar, A., & Kaur, K. (2023). Recommendation of Regression Techniques for Software Maintainability Prediction with Multi-Criteria Decision-Making. International Journal of Information Technology & Decision Making, 22(03), 1061-1105.

Kumar, L., & Rath, S. K. (2016). Hybrid functional link artificial neural network approach for predicting maintainability of OO software. Journal of Systems and Software, 121, 170–190. https://doi.org/10.1016/j.jss.2016.01.003

Kumar, L., & Rath, S.K. (2017). Software maintainability prediction uses a hybrid neural network and fuzzy logic approach with a parallel computing concept. International Journal of System Assurance Engineering and Management, 8, 1487–1502. https://doi.org/10.1007/s13198-017-0618-4

Kumar, L., Krishna, A., & Rath, S. K. (2017). The impact of feature selection on maintainability prediction of service-oriented applications. Service Oriented Computing and Applications, 11, 137–161. https://doi.org/10.1007/s11761-016-0202-9

Kumar, L., Kumar, M., & Rath, S. K. (2017). Maintainability prediction of web service using support vector machine with various kernel methods. International Journal of System Assurance Engineering and Management, 8, 205-222. https://doi.org/10.1007/s13198-016-0415-5

Li, W., & Henry, S. (1993). OO metrics that predict maintainability. Journal of Systems and Software, 23(2), 111-122. https://doi.org/10.1016/0164-1212(93)90077-B

Mahfuz, N., & Shill, P. C. (2023, February). Faulty Classes Prediction in Object-Oriented Programming Using Composed Dagging Technique. IEEE. In 2023 International Conference on Electrical, Computer and Communication Engineering ECCE), pp. 1-5. https://doi.org/10.1109/ECCE57851.2023.10101655

Malhotra, R., & Chug, A. (2014). Application of group method of data handling model for software maintainability prediction using object-oriented systems. International Journal of System Assurance Engineering and Management, 5, 165-173. https://doi.org/10.1007/s13198-014-0227-4

Malhotra, R., & Lata, K. (2020). An empirical study on predictability of software maintainability using imbalanced data. Software Quality Journal, 28, 1581-1614. https://doi.org/10.1007/s11219-020-09525-y

Malhotra, R., & Lata, K. (2021). An empirical study to investigate the impact of data resampling techniques on the performance of class maintainability prediction models. Neurocomputing, 459, 432-453. https://doi.org/10.1016/j.neucom.2020.01.120

Moradi, M., Ahmadi, M., & Nikbazm, R. (2022). Comparison of machine learning techniques for VNF resource requirements prediction in NFV. Journal of Network and Systems Management, 30, 1-29. https://doi.org/10.1007/s10922-021-09629-1

Ouellet, A., & Badri, M. (2023). Combining object‐oriented metrics and centrality measures to predict faults in object‐oriented software: An empirical validation. Journal of Software: Evolution and Process, e2548. https://doi.org/10.1002/smr.2548

Van Koten, C., & Gray, A. R. (2006). An application of the Bayesian network for predicting OO software maintainability. Information and Software Technology, 48(1), 59-67. https://doi.org/10.1016/j.infsof.2005.03.002

Wang, X., Gegov, A., Farzad, A., Chen, Y., & Hu, Q. (2019). Fuzzy network-based framework for software maintainability prediction. International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, 27(05), 841-862. https://doi.org/10.1142/S0218488519500375

Xu, Y., Lu, L., E, L. N., Lian, W., Yang, H., Schwartz, L. H., ... & Zhao, B. (2019). Application of radiomics in predicting the malignancy of pulmonary nodules in different sizes. American Journal of Roentgenology, 213(6), 1213-1220. https://doi.org/10.2214/AJR.19.21490

Yenduri, G., & Gadekallu, T. R. (2023). Xai for maintainability prediction of software-defined networks. In Proceedings of the 24th International Conference on Distributed Computing and Networking, pp. 402-406. https://doi.org/10.1145/3571306.3571443

Zhang, W., Huang, L., Ng, V., & Ge, J. (2015). SMPLearner: learning to predict software maintainability. Automated Software Engineering, 22, 111-141. https://doi.org/10.1007/s10515-014-0161-3

Zhou, Y., & Leung, H. (2007). Predicting OO software maintainability using multivariate adaptive regression splines. Journal of Systems and Software, 80(8), 1349-1361. https://doi.org/10.1016/j.jss.2006.10.049

Zhou, Y., & Xu, B. (2008). Predicting the maintainability of open source software using design metrics. Wuhan University Journal of Natural Sciences, 13(1), 14-20. https://doi.org/10.1007/s11859-008-0104-6

Published

2023-12-30

How to Cite

Yadav, R., & Singh, R. (2023). Enhancing Software Maintainability Prediction Using Multiple Linear Regression and Predictor Importance. International Journal of Experimental Research and Review, 36, 135–146. https://doi.org/10.52756/ijerr.2023.v36.013

Issue

Section

Articles