# A Systematic Literature Review on the Use of Machine Learning in Software Engineering

arXiv: https://arxiv.org/abs/2406.13877 · HTML: https://mlsanity.com/paper/2406.13877/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 32 of its 83 references that are in the map.
- First posted on arXiv 19 Jun 2024.

## Builds on (most cited first, 30 of 32)

- [Evaluating Large Language Models Trained on Code](https://mlsanity.com/paper/2107.03374/) (2021)
- [CodeBERT: A Pre-Trained Model for Programming and Natural Languages](https://mlsanity.com/paper/2002.08155/) (2020)
- [A Survey on Large Language Models for Code Generation](https://mlsanity.com/paper/2406.00515/) (2024)
- [LEVER: Learning to Verify Language-to-Code Generation with Execution](https://mlsanity.com/paper/2302.08468/) (2023)
- [Planning with Large Language Models for Code Generation](https://mlsanity.com/paper/2303.05510/) (2023)
- [Synchromesh: Reliable code generation from pre-trained language models](https://mlsanity.com/paper/2201.11227/) (2022)
- [Automatic Generation of Programming Exercises and Code Explanations using Large Language Models](https://mlsanity.com/paper/2206.11861/) (2022)
- [CodeGen2: Lessons for Training LLMs on Programming and Natural Languages](https://mlsanity.com/paper/2305.02309/) (2023)
- [DeepBugs: A Learning Approach to Name-based Bug Detection](https://mlsanity.com/paper/1805.11683/) (2018)
- [A parallel corpus of Python functions and documentation strings for automated code documentation and code generation](https://mlsanity.com/paper/1707.02275/) (2017)
- [Deep Learning for Source Code Modeling and Generation: Models, Applications and Challenges](https://mlsanity.com/paper/2002.05442/) (2020)
- [A Systematic Literature Review on the Use of Deep Learning in Software Engineering Research](https://mlsanity.com/paper/2009.06520/) (2020)
- [A Comparative Analysis of Large Language Models for Code Documentation Generation](https://mlsanity.com/paper/2312.10349/) (2023)
- [The Role of Machine Learning in Cybersecurity](https://mlsanity.com/paper/2206.09707/) (2022)
- [The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring](https://mlsanity.com/paper/2001.03338/) (2020)
- [Documentation of Machine Learning Software](https://mlsanity.com/paper/2001.11956/) (2020)
- [Automatic Code Generation using Pre-Trained Language Models](https://mlsanity.com/paper/2102.10535/) (2021)
- [Machine Learning for Software Engineering: A Tertiary Study](https://mlsanity.com/paper/2211.09425/) (2022)
- [Recent Advances in Neural Program Synthesis](https://mlsanity.com/paper/1802.02353/) (2018)
- [Automatic Traceability Maintenance via Machine Learning Classification](https://mlsanity.com/paper/1807.06684/) (2018)
- [A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks](https://mlsanity.com/paper/2403.10646/) (2024)
- [Quality Assurance Challenges for Machine Learning Software Applications During Software Development Life Cycle Phases](https://mlsanity.com/paper/2105.01195/) (2021)
- [Did AI get more negative recently?](https://mlsanity.com/paper/2202.13610/) (2022)
- [AI in Software Engineering: A Survey on Project Management Applications](https://mlsanity.com/paper/2307.15224/) (2023)
- [Software Effort Estimation Accuracy Prediction of Machine Learning Techniques: A Systematic Performance Evaluation](https://mlsanity.com/paper/2101.10658/) (2021)
- [Refactoring Deep Learning Code: A Study of Practices and Unsatisfied Tool Needs](https://mlsanity.com/paper/2405.04861/) (2024)
- [A Systematic Literature Review on Explainability for Machine/Deep Learning-based Software Engineering Research](https://mlsanity.com/paper/2401.14617/) (2024)
- [Unraveling Code Clone Dynamics in Deep Learning Frameworks](https://mlsanity.com/paper/2404.17046/) (2024)
- [Big Data Analytics = Machine Learning + Cloud Computing](https://mlsanity.com/paper/1601.03115/) (2016)
- [Search Based Code Generation for Machine Learning Programs](https://mlsanity.com/paper/1801.09373/) (2018)

## Abstract (arXiv)

Software engineering (SE) is a dynamic field that involves multiple phases all of which are necessary to develop sustainable software systems. Machine learning (ML), a branch of artificial intelligence (AI), has drawn a lot of attention in recent years thanks to its ability to analyze massive volumes of data and extract useful patterns from data. Several studies have focused on examining, categorising, and assessing the application of ML in SE processes. We conducted a literature review on primary studies to address this gap. The study was carried out following the objective and the research questions to explore the current state of the art in applying machine learning techniques in software engineering processes. The review identifies the key areas within software engineering where ML has been applied, including software quality assurance, software maintenance, software comprehension, and software documentation. It also highlights the specific ML techniques that have been leveraged in these domains, such as supervised learning, unsupervised learning, and deep learning. Keywords: machine learning, deep learning, software engineering, natural language processing, source code
