Large Language Models for Software Engineering: A Systematic Literature Review
Большие языковые модели для программной инженерии: систематический обзор литературы
2024-09-20
SCID: 54.1/ja9z96r7
Discuss with AI
LLM4SELarge Language ModelsSoftware EngineeringSystematic Literature Reviewdatasets for LLMs in SE
Figures from the paper
Abstract (AI)
Large Language Models (LLMs) have significantly impacted numerous domains, including Software Engineering (SE). Many recent publications have explored LLMs applied to various SE tasks. Nevertheless, a comprehensive understanding of the application, effects, and possible limitations of LLMs on SE is still in its early stages. To bridge this gap, we conducted a Systematic Literature Review (SLR) on LLM4SE, with a particular focus on understanding how LLMs can be exploited to optimize processes and outcomes. We selected and analyzed 395 research articles from January 2017 to January 2024 to answer four key Research Questions (RQs). In RQ1, we categorize different LLMs that have been employed in SE tasks, characterizing their distinctive features and uses. In RQ2, we analyze the methods used in data collection, pre-processing, and application, highlighting the role of well-curated datasets for successful LLM for SE implementation. RQ3 investigates the strategies employed to optimize and evaluate the performance of LLMs in SE. Finally, RQ4 examines the specific SE tasks where LLMs have shown success to date, illustrating their practical contributions to the field. From the answers to these RQs, we discuss the current state-of-the-art and trends, identifying gaps in existing research, and highlighting promising areas for future study. Our artifacts are publicly available at https://github.com/security-pride/LLM4SE_SLR .
Key Findings
1
A Systematic Literature Review (SLR) of 395 articles (Jan 2017–Jan 2024) was conducted to assess Large Language Models (LLMs) applied to Software Engineering (SE).
2
Data collection, preprocessing, and dataset quality are critical for successful LLM application in SE, with well-curated datasets highlighted as important (RQ2).
3
LLMs have demonstrated practical success across specific SE tasks, with the review mapping task areas where LLMs contributed and identifying research gaps and future directions (RQ4).
4
LLMs used in SE were categorized by type, distinctive features, and uses (RQ1), providing a structured taxonomy of models applied to SE tasks.
5
Strategies to optimize and evaluate LLM performance in SE were analyzed, identifying common optimization and evaluation approaches (RQ3).
Research Object
Application of Large Language Models (LLMs) in Software Engineering (LLM4SE)
Research Subject
Systematic analysis of how LLMs are employed, their data/methods for collection and preprocessing, optimization and evaluation strategies, and their effectiveness across specific software-engineering tasks
Publication Details
Publication Date
2024-09-20
Journal
Publisher
ISSN
Cited by
887
Access Type
Author Information
Download PDF
Subscribe to digest
References available in scid.ai5
Training language models to follow instructions with human feedback2022
GPT-NeoX-20B: An Open-Source Autoregressive Language Model2022
Log Parsing with Generalization Ability under New Log Types2023
CodeBERT: A Pre-Trained Model for Programming and Natural Languages2020
Exploring the Limits of Transfer Learning with a Unified Text-to-Text\n Transformer2019
Cited by4
A survey on large language model (LLM) security and privacy: The Good, The Bad, and The Ugly2024
Software Testing With Large Language Models: Survey, Landscape, and Vision2024
Large Language Models for Software Engineering: Survey and Open Problems2023
Application of Large Language Models in Cybersecurity: A Systematic Literature Review2024