A Review of A Strategy For Improving Software Maintenance Using Machine Learning for Security Requirements

Author: itsmaitrimanyahere2026, Raj Kumar Sharma International Journal of Information Security Engineering-STM Journals Issn: Date: 2024-12-28 01:47 Volume: 2 Issue: 2 Keyworde: Software Engineering, software maintainability prediction, machine learning, metric, Security Full Text PDF Submit Manuscript Journals

Abstract

Within the area of software technical education, the significance of software defect discovery has increased as a research focus to enhance program reliability. By maximising testing resources and assisting developers in identifying potential problems using program defect predictions, program dependability is increased. Applying Software Engineering (SE) techniques to critical and intricate systems, like networking and security systems, is imperative. Traditional methods of predicting software maintainability have limitations, particularly in balancing security concerns, maintainability, and system integrity. This work explores the application of machine learning (ML) techniques to predict and improve software maintainability by identifying key software metrics. The study explores Several machines learning models, including deep learning, to increase the precision of the predictions made by software maintainability metrics. It also reviews existing research on software maintainability and defect prediction, identifying common research gaps such as model scalability, interpretability, and class imbalance issues. By employing ML classification techniques and addressing these gaps, this study aims to bridge the gap between security considerations and maintainability, providing more robust and efficient methods for software maintenance.

Keywords: Software Engineering, software maintainability prediction, machine learning, metric, Security

INTRODUCTION

In software development, maintenance takes up around 70% of the time and is quite expensive for the developers. The complexity and scale of new software has expanded significantly in recent years, making it harder to manage [1]. Software maintainability and a product or organization’s financial performance are closely correlated [2]. We can forecast potential changes or software issues after it has been launched by using maintainability. Consequently, one of the qualities of software that influences its performance is its maintainability. During the maintenance phase, developers receive assistance in estimating the likely quantity of alteration that may take place in software components. Because the maintainability forecasts turned out to be accurate, software design can be modified to identify what has to be changed to produce software modules going forward

One major issue facing the computer industry is software maintainability [4]. Making the system automated is the rationale. Numerous approaches to artificial intelligence and machine learning have been employed up to this point. In most of the methods, testing has only been conducted with a limited set of software [5]. Previous works have shown that no research has been done on utilizing deep learning to forecast metrics for software maintenance. Furthermore, the software upkeep predictability shows only minor improvements as a result of such operations. Datasets are insufficient to produce definitive findings that shed light on the system’s input data. The connected software-related activity Maintainability The primary method of predictive analytics is the application of various machine learning methods.
.

Keyworde: Software Engineering, software maintainability prediction, machine learning, metric, Security

Full Text PDF

Refrences:

  1. Huang Q, Shihab E, Xia X, Lo D, Li S. Identifying self-admitted technical debt in open source projects using text mining. Empirical Software Engineering. 2018 Feb;23:418-51..
  2. Guo J, Yang D, Siegmund N, Apel S, Sarkar A, Valov P, Czarnecki K, Wasowski A, Yu H. Data-efficient performance learning for configurable systems. Empirical Software Engineering. 2018 Jun;23:1826-67.
  3. Mishra S, Sharma A. Maintainability prediction of object oriented software by using adaptive network based fuzzy system technique. International Journal of Computer Applications. 2015 Jan 1;119(9).
  4. M. Y. Mhawish and M. Gupta, “Predicting Code Smells and Analysis of Predictions: Using Machine Learning Techniques and Software Metrics,” J. Comput. Sci. Technol., 2020, doi: 10.1007/s11390-020-0323-7.
  5. Chhabra JK. Improving package structure of object-oriented software using multi-objective optimization and weighted class connections. Journal of King Saud University-Computer and Information Sciences. 2017 Jul 1;29(3):349-64.
  6. Chug A, Malhotra R. Benchmarking framework for maintainability prediction of open source software using object oriented metrics. International Journal of Innovative Computing, Information and Control. 2016 Apr 1;12(2):615-34. 
  7. Yimer ST, Molla YS, Alemneh E. Predicting Software Maintenance Type, Change Impact, and Maintenance Time Using Machine Learning Algorithms. In2022 International Conference on Information and Communication Technology for Development for Africa (ICT4DA) 2022 Nov 28 (pp. 37-41). IEEE. 
  8. O. Rantanen, “ARTIFICIAL INTELLIGENCE IN SOFTWARE MAINTENANCE”.
  9. Aburakhia S, Shami A. SB-PdM: A tool for predictive maintenance of rolling bearings based on limited labeled data. Software Impacts. 2023 May 1;16:100503.
  10. ISO/IEC/IEEE 12207-2, INTERNATIONAL STANDARD ISO / IEC / IEEE 12207-2 Systems and software engineering. 2020.
  11. C. F. Kemerer, “Software complexity and software maintenance: A survey of empirical research,” Ann. Softw. Eng., 1995, doi: 10.1007/BF02249043.
  12. U. Kaur and G. Singh, “A Review on Software Maintenance Issues and How to Reduce Maintenance Efforts,” Int. J. Comput. Appl., 2015, doi: 10.5120/20707-3021.
  13. T. Hall, A. Rainer, N. Baddoo, and S. Beecham, “An empirical study of maintenance issues within process improvement programmes in the software industry,” in IEEE International Conference on Software Maintenance, ICSM, 2001. doi: 10.1109/ICSM.2001.972755.
  14. J. E. Joullié and A. M. Gould, “Theory, explanation, and understanding in management research,” BRQ Bus. Res. Q., 2023, doi: 10.1177/23409444211012414.
  15. C. Caulfield, D. Veal, and S. P. Maj, “Teaching software engineering project management-A novel approach for software engineering programs,” Mod. Appl. Sci., 2011, doi: 10.5539/mas.v5n5p87.
  16. G. Canfora and A. Cimitile, Handbook of Software Engineering and Knowledge Engineering – Vol 1: Fundamentals, no. January 2001. 2010. doi: 10.1142/9789812389718.
  17. P. D. Karningsih, W. Puspitasari, and M. L. Singgih, “Cost-Integrated Lean Maintenance to Reduce Maintenance Cost,” J. Optimasi Sist. Ind., 2023, doi: 10.25077/josi.v22.n1.p69-80.2023.
  18. A. Rana and E. V. M. Koroitamana, “Measuring maintenance activity effectiveness,” J. Qual. Maint. Eng., 2018, doi: 10.1108/JQME-11-2016-0061.
  19. S. Name, S. Engineering, P. Management, and S. Code, “Software Engineering & Project Management,” 2023.
  20. M. Awad and R. Khanna, Efficient learning machines: Theories, concepts, and applications for engineers and system designers. 2015. doi: 10.1007/978-1-4302-5990-9.
  21. M. G. Voskoglou and A. B. M. Salem, “Benefits and limitations of the artificial with respect to the traditional learning of mathematics,” Mathematics, 2020, doi: 10.3390/math8040611.
  22. N. Burkart and M. F. Huber, “A survey on the explainability of supervised machine learning,” Journal of Artificial Intelligence Research. 2021. doi: 10.1613/JAIR.1.12228.
  23. M. Van Otterlo and M. Wiering, “Reinforcement learning and markov decision processes,” in Adaptation, Learning, and Optimization, 2012. doi: 10.1007/978-3-642-27645-3_1.
  24. P. Silva, C. Bezerra, and I. Machado, “Automating Feature Model maintainability evaluation using machine learning techniques,” J. Syst. Softw., 2023, doi: 10.1016/j.jss.2022.111539.
  25. O. Bombiri, P. Poda, and T. F. Ouedraogo, “Application of Machine Learning in Software Quality: a Mini-review,” in 2023 IEEE Multi-Conference on Natural and Engineering Sciences for Sahel’s Sustainable Development, MNE3SD 2023, 2023. doi: 10.1109/MNE3SD57078.2023.10079800.
  26. J. Wang and C. Zhang, “An Open-Source Software Reliability Model Considering Learning Factors and Stochastically Introduced Faults,” Appl. Sci., vol. 14, no. 2, p. 708, Jan. 2024, doi: 10.3390/app14020708.
  27. Y. Al-Smadi, M. Eshtay, A. Al-Qerem, S. Nashwan, O. Ouda, and A. A. Abd El-Aziz, “Reliable prediction of software defects using Shapley interpretable machine learning models,” Egypt. Informatics J., 2023, doi: 10.1016/j.eij.2023.05.011.
  28. R. Malhotra and K. Lata, “An empirical study on predictability of software maintainability using imbalanced data,” Softw. Qual. J., 2020, doi: 10.1007/s11219-020-09525-y.
  29. S. Reddivari and J. Raman, “Software quality prediction: An investigation based on machine learning,” in Proceedings – 2019 IEEE 20th International Conference on Information Reuse and Integration for Data Science, IRI 2019, 2019. doi: 10.1109/IRI.2019.00030.
  30. Jagtap M, Katragadda P, Satelkar P. Software reliability: development of software defect prediction models using advanced techniques. In2022 Annual Reliability and Maintainability Symposium (RAMS) 2022 Jan 24 (pp. 1-7). IEEE.
>