International Journal of Information Security Engineering Review Article

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

  1. Maitri Manya Department of Computer Science and Engineering, Lakshmi Narain College of Technology, Bhopal
  2. Raj Kumar Sharma Department of Computer Science and Engineering, Lakshmi Narain College of Technology, Bhopal

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 maximizing 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 ML 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

References (30)

  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. 2017;23(1):418-451. doi:10.1007/s10664-017-9522-4
  2. Guo J, Yang D, Siegmund N, Apel S, Sarkar A, Valov P, et al. Data-efficient performance learning for configurable systems. Empirical Software Engineering. 2017;23(3):1826-1867. doi:10.1007/s10664-017-9573-6
  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;119(9):24-27. doi:10.5120/21096-3799
  4. Mhawish MY, Gupta M. Predicting Code Smells and Analysis of Predictions: Using Machine Learning Techniques and Software Metrics. Journal of Computer Science and Technology. 2020;35(6):1428-1445. doi:10.1007/s11390-020-0323-7
  5. Amarjeet, 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;29(3):349-364. doi:10.1016/j.jksuci.2015.09.004
  6. Chug A, Malhotra R. Benchmarking framework for maintainability prediction of open source software using object-oriented metrics. Int J Innov Comput Inf Control. 2016;12:615–34.
  7. Yimer ST, Molla YS, Alemneh E. Predicting Software Maintenance Type, Change Impact, and Maintenance Time Using Machine Learning Algorithms. 2022 International Conference on Information and Communication Technology for Development for Africa (ICT4DA). 2022:37-41. doi:10.1109/ict4da56482.2022.9971350
  8. Rantanen O. Artificial intelligence in software maintenance [Master’s thesis]. Lappeenranta: Lappeenranta-Lahti University of Technology; 2021.
  9. Aburakhia S, Shami A. SB-PdM: A tool for predictive maintenance of rolling bearings based on limited labeled data. Softw Impacts. 2023;16:100503.
  10. IEEE 12207-2-2020. ISO/IEC/IEEE International Standard - Systems and software engineering--Software life cycle processes--Part 2: Relation and mapping between ISO/IEC/IEEE 12207:2017 and ISO/IEC 12207:2008. IEEE Computer Society. 2020.
  11. Kemerer CF. Software complexity and software maintenance: A survey of empirical research. Annals of Software Engineering. 1995;1(1):1-22. doi:10.1007/bf02249043
  12. Kaur U, Singh G. A Review on Software Maintenance Issues and How to Reduce Maintenance Efforts. International Journal of Computer Applications. 2015;118(1):6-11. doi:10.5120/20707-3021
  13. Hall T, Rainer A, Baddoo N, Beecham S. An empirical study of maintenance issues within process improvement programmes in the software industry. Proceedings IEEE International Conference on Software Maintenance. ICSM 2001. 422-430. doi:10.1109/icsm.2001.972755
  14. Joullié JE, Gould AM. Theory, explanation, and understanding in management research. BRQ Business Research Quarterly. 2021;26(4):347-360. doi:10.1177/23409444211012414
  15. Caulfield C, Veal D, Maj SP. Teaching Software Engineering Project Management – A Novel Approach for Software Engineering Programs. Modern Applied Science. 2011;5(5). doi:10.5539/mas.v5n5p87
  16. Handbook of Software Engineering and Knowledge Engineering - Vol 1: Fundamentals. 2001. doi:10.1142/9789812389718
  17. Karningsih PD, Puspitasari W, Singgih ML. Cost-Integrated Lean Maintenance to Reduce Maintenance Cost. Jurnal Optimasi Sistem Industri. 2023;22(1):69-80. doi:10.25077/josi.v22.n1.p69-80.2023
  18. Rana A, Koroitamana EVM. Measuring maintenance activity effectiveness. Journal of Quality in Maintenance Engineering. 2018;24(4):437-448. doi:10.1108/jqme-11-2016-0061
  19. Tsang AH, Jardine AK, Kolodny H. Measuring maintenance performance: a holistic approach. International Journal of Operations & Production Management. 1999 Jul 1;19(7):691-715.
  20. Awad M, Khanna R. Efficient Learning Machines. 2015. doi:10.1007/978-1-4302-5990-9
  21. Voskoglou MG, Salem ABM. Benefits and Limitations of the Artificial with Respect to the Traditional Learning of Mathematics. Mathematics. 2020;8(4):611. doi:10.3390/math8040611
  22. Burkart N, Huber MF. A Survey on the Explainability of Supervised Machine Learning. Journal of Artificial Intelligence Research. 2021;70:245-317. doi:10.1613/jair.1.12228
  23. van Otterlo M, Wiering M. Reinforcement Learning and Markov Decision Processes. Adaptation, Learning, and Optimization. 2012:3-42. doi:10.1007/978-3-642-27645-3_1
  24. Silva P, Bezerra C, Machado I. Automating Feature Model maintainability evaluation using machine learning techniques. Journal of Systems and Software. 2023;195:111539. doi:10.1016/j.jss.2022.111539
  25. Bombiri O, Poda P, Ouedraogo TF. Application of Machine Learning in Software Quality: a Mini-review. 2023 IEEE Multi-conference on Natural and Engineering Sciences for Sahel's Sustainable Development (MNE3SD). 2023:1-7. doi:10.1109/mne3sd57078.2023.10079800
  26. Wang J, Zhang C. An Open-Source Software Reliability Model Considering Learning Factors and Stochastically Introduced Faults. Applied Sciences. 2024;14(2):708. doi:10.3390/app14020708
  27. Al-Smadi Y, Eshtay M, Al-Qerem A, Nashwan S, Ouda O, Abd El-Aziz AA. Reliable prediction of software defects using Shapley interpretable machine learning models. Egyptian Informatics Journal. 2023;24(3):100386. doi:10.1016/j.eij.2023.05.011
  28. Malhotra R, Lata K. An empirical study on predictability of software maintainability using imbalanced data. Software Quality Journal. 2020;28(4):1581-1614. doi:10.1007/s11219-020-09525-y
  29. Reddivari S, Raman J. Software Quality Prediction: An Investigation Based on Machine Learning. 2019 IEEE 20th International Conference on Information Reuse and Integration for Data Science (IRI). 2019:115-122. doi:10.1109/iri.2019.00030
  30. Jagtap M, Katragadda P, Satelkar P. Software Reliability: Development of Software Defect Prediction Models Using Advanced Techniques. 2022 Annual Reliability and Maintainability Symposium (RAMS). 2022:1-7. doi:10.1109/rams51457.2022.9893986