Authors :
Dipali B. Tawar
Volume/Issue :
Volume 9 - 2024, Issue 5 - May
Google Scholar :
https://tinyurl.com/2krdv9c5
Scribd :
https://tinyurl.com/2s4f5us7
DOI :
https://doi.org/10.38124/ijisrt/IJISRT24MAY2519
Note : A published paper may take 4-5 working days from the publication date to appear in PlumX Metrics, Semantic Scholar, and ResearchGate.
Abstract :
In today's rapidly evolving technological era,
the role of machine learning in software development has
become increasingly vital and influential. Machine
learning has revolutionized various aspects of software
development, from code analysis and optimization to
prediction and decision-making. Moreover, machine
learning algorithms have the potential to significantly
enhance the software development process by automating
repetitive tasks, improving code quality, and reducing the
time and effort required for software testing and
debugging. By gaining lots of data and powerful
computing resources, machine learning algorithms can be
able to analyse patterns and make accurate predictions
about software performance, identify potential bugs or
security issues, and assist in improving software design
and development processes. Furthermore, machine
learning can facilitate software maintenance and
debugging by detecting anomalies and identifying
potential causes of software failures. Albeit, using
machine learning techniques into the software
development process can greatly improve efficiency,
productivity, and overall software quality.
In this paper it is presenting the tools, techniques and
the application of Machine Learning (ML) in different
phases of Software Development Life Cycle (SDLC) for
enhancing and improving the software development
process.
References :
- Elhabbash, A., Salama, M., Bahsoon, R., Tino, P. (2019) - Self-awareness in Software Engineering: A Systematic Literature Review – ACM
- Khomh, F., Adams, B., Cheng, J., Fokaefs, M., Antoniol, G. (2018) - Software Engineering for Machine- Learning Applications: The Road Ahead – IEEE.
- Borges, O. T., Lima, M., Couto, J., Gadelha, B., Conte, T., & Prikladnicki, R. (2022). ML@SE: What do we know about how Machine Learning impacts Software Engineering practice? 2022 17th Iberian Conference on Information Systems and Technologies (CISTI).
- Abubakar, H., Obaidat, M. S., Gupta, A., Bhattacharya, P.,Tanwar, S. (2020) - Interplay of Machine Learning and Software Engineering for Quality Estimations – IEEE
- Allamanis, M. (2018) - The adverse effects of code duplication in machine learning models of code Research Gate.
- Alloghani, M., Al-Jumeily, D., Baker, T., Hussain, A., Mustafina, J., Ahmed J. Aljaaf (2020) - An Intelligent Journey to Machine Learning Applications in Component-Based Software Engineering - Springer. Software Maintainability Metrics Prediction – IEEE.
- Aniche, M., Maziero, E., Durelli, R., Durelli, V. H. S. (2020) - The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring – IEEE.
- Alsolai, H. (2018) - Predicting Software Maintainability in Object-Oriented Systems Using Ensemble Technique.
- Panichella, S., Ruiz, M. (2020) - Requirements-Collector: Automating Requirements Specification from Elicitation Sessions and User Feedback – IEEE.
- Meinke, K., Bennaceur, A. (2018) - Machine Learning for Software Engineering: Models, Methods, and Applications – IEEE.
- Cetiner, M., Sahingoz, O. K. (2020) - A Comparative Analysis for Machine Learning based Software Defect Prediction Systems – IEEE.
- Zhang, L., Tan, J., et al, D. H. (2017) - From machine learning to deep learning: progress in machine intelligence for rational drug discovery – IEEE.
- Zhang, X., Gu, C., Lin, J (2006) - Support Vector Machines for Anomaly Detection – Research Gate.
- Zhang, X., Zhou, T., Zhu, C. (2017) - An Empirical Study of the Impact of Bad Designs on Defect Proneness -IEEE.
- Gupta, S., Chug, A. (2021) - An Optimized Extreme Learning Machine Algorithm for Improving Software Maintainability Prediction – IEEE.
- Jha, S., Kumar, R., Son, L. H., Abdel-Basset, M., Priyadarshini, I., Sharma, R., Long, H. V. (2019) – Deep Learning Approach for Software Maintainability Metrics Prediction
- Zhu, Y, Chen, L, Zhou, H, Feng, W., Zhu, Q. (2018) – Design and Implementation of WeChat Robot Based on Machine Learning – IEEE.
- Teixeira Borges, O., Colleoni Couto, J., Dubugras a. Ruiz, D., & Prikladnicki, R. (2020). How Machine Learning Has Been Applied in Software Engineering? International Conference on Enterprise Information Systems.
- Zhang, D., & J.P. Tsai, J. (Eds.). (2005). Machine learning applications in software engineering. Google Books.
- Peng, H., Li, B., Ling, H., Hu, W., Xiong, W. and Maybank, S. J. (2017) - Salient object detection via structured matrix decomposition - IEEE.
- Roper, M. (2019) - Using Machine Learning to Classify Test Outcomes – IEEE.
In today's rapidly evolving technological era,
the role of machine learning in software development has
become increasingly vital and influential. Machine
learning has revolutionized various aspects of software
development, from code analysis and optimization to
prediction and decision-making. Moreover, machine
learning algorithms have the potential to significantly
enhance the software development process by automating
repetitive tasks, improving code quality, and reducing the
time and effort required for software testing and
debugging. By gaining lots of data and powerful
computing resources, machine learning algorithms can be
able to analyse patterns and make accurate predictions
about software performance, identify potential bugs or
security issues, and assist in improving software design
and development processes. Furthermore, machine
learning can facilitate software maintenance and
debugging by detecting anomalies and identifying
potential causes of software failures. Albeit, using
machine learning techniques into the software
development process can greatly improve efficiency,
productivity, and overall software quality.
In this paper it is presenting the tools, techniques and
the application of Machine Learning (ML) in different
phases of Software Development Life Cycle (SDLC) for
enhancing and improving the software development
process.