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.
翻译:大语言模型(LLMs)已显著影响包括软件工程(SE)在内的多个领域。近期大量研究探讨了将LLMs应用于各类软件工程任务。然而,关于LLMs在软件工程中的应用效果与潜在局限性的全面理解仍处于初级阶段。为弥补这一空白,我们开展了针对LLM4SE的系统性文献综述,重点关注如何利用LLMs优化流程与产出。我们收集并分析了2017至2023年间229篇研究论文,以回答四个关键研究问题(RQs)。在研究问题1中,我们分类了用于软件工程任务的不同LLMs,刻画其独特特征与用途。研究问题2分析了数据收集、预处理与应用方法,强调精心整理的数据集对于成功实施面向软件工程的LLM的关键作用。研究问题3探究了优化与评估LLMs在软件工程中性能的策略。最后,研究问题4考察了LLMs迄今取得成功的具体软件工程任务,阐明其对该领域的实际贡献。基于这些研究问题的解答,我们讨论了当前技术前沿与趋势,指出现有研究的空白,并标注了未来研究的潜在方向。