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 on LLM4SE, with a particular focus on understanding how LLMs can be exploited to optimize processes and outcomes. We collect and analyze 229 research papers from 2017 to 2023 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, preprocessing, 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 flagging promising areas for future study.
翻译:大型语言模型(LLM)已显著影响包括软件工程(SE)在内的众多领域。近期大量文献探索了LLM在各类SE任务中的应用。然而,关于LLM在SE中的应用效果与潜在局限性的全面认知仍处于早期阶段。为填补这一空白,我们针对LLM4SE开展了一项系统性文献综述,重点关注如何利用LLM优化流程与成果。我们收集并分析了2017年至2023年间229篇研究论文,以回答四个关键研究问题(RQ)。在RQ1中,我们对SE任务中采用的各类LLM进行归类,刻画其独特特征与用途。在RQ2中,我们分析了数据收集、预处理及应用环节所使用的方法,强调精良数据集对成功实施LLM for SE的关键作用。RQ3探究了LLM在SE中性能优化与评估的策略。最后,RQ4审视了目前LLM已成功应用的特定SE任务,阐述其对领域的实际贡献。基于这些问题的答案,我们讨论了当前技术前沿与发展趋势,识别现有研究空白,并标注了未来具有潜力的研究方向。