A review of a strategy for improving software maintenance using machine learning for security requirements

Notice

This is an unedited manuscript accepted for publication and provided as an Article in Press for early access at the author’s request. The article will undergo copyediting, typesetting, and galley proof review before final publication. Please be aware that errors may be identified during production that could affect the content. All legal disclaimers of the journal apply.

Year : 2024 | Volume :02 | Issue : 02 | Page : –
By
vector

Maitri Manya,

vector

Raj Kumar Sharma,

  1. Student, Department of Computer Science and engineering, Lakshmi Narain College of Technology, Bhopal, Madhaya Pradesh, India
  2. Assistant Professor, Department of Computer Science and engineering, Lakshmi Narain College of Technology, Bhopal, Madhaya Pradesh, India

Abstract document.addEventListener(‘DOMContentLoaded’,function(){frmFrontForm.scrollToID(‘frm_container_abs_111479’);});Edit Abstract & Keyword

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

[This article belongs to International Journal of Information Security Engineering (ijise)]

How to cite this article:
Maitri Manya, Raj Kumar Sharma. A review of a strategy for improving software maintenance using machine learning for security requirements. International Journal of Information Security Engineering. 2024; 02(02):-.
How to cite this URL:
Maitri Manya, Raj Kumar Sharma. A review of a strategy for improving software maintenance using machine learning for security requirements. International Journal of Information Security Engineering. 2024; 02(02):-. Available from: https://journals.stmjournals.com/ijise/article=2024/view=0

Full Text PDF

References
document.addEventListener(‘DOMContentLoaded’,function(){frmFrontForm.scrollToID(‘frm_container_ref_111479’);});Edit

[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.


Regular Issue Subscription Review Article
Volume 02
Issue 02
Received 25/09/2024
Accepted 03/10/2024
Published 07/11/2024

function myFunction2() {
var x = document.getElementById(“browsefigure”);
if (x.style.display === “block”) {
x.style.display = “none”;
}
else { x.style.display = “Block”; }
}
document.querySelector(“.prevBtn”).addEventListener(“click”, () => {
changeSlides(-1);
});
document.querySelector(“.nextBtn”).addEventListener(“click”, () => {
changeSlides(1);
});
var slideIndex = 1;
showSlides(slideIndex);
function changeSlides(n) {
showSlides((slideIndex += n));
}
function currentSlide(n) {
showSlides((slideIndex = n));
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName(“Slide”);
var dots = document.getElementsByClassName(“Navdot”);
if (n > slides.length) { slideIndex = 1; }
if (n (item.style.display = “none”));
Array.from(dots).forEach(
item => (item.className = item.className.replace(” selected”, “”))
);
slides[slideIndex – 1].style.display = “block”;
dots[slideIndex – 1].className += ” selected”;
}