一句话:综述LLM在软件工程各环节的应用,指出幻觉等挑战,强调传统SE与LLM混合技术的关键作用。
本文综述了大型语言模型(LLM)在软件工程(SE)中的应用这一新兴领域,并梳理了将LLM用于软件工程师所面临技术问题的开放研究挑战。LLM的涌现能力在编码、设计、需求、修复、重构、性能改进、文档与代码分析等SE活动中展现出新颖性与创造力,但同样的涌现特性也带来幻觉等严重技术难题,需要能可靠剔除错误方案的技术。综述指出,混合技术(传统SE方法结合LLM)在开发与部署可靠、高效且有效的基于LLM的软件工程方案中具有关键作用。
This paper provides a survey of the emerging area of Large Language Models (LLMs) for Software Engineering (SE). It also sets out open research challenges for the application of LLMs to technical problems faced by software engineers. LLMs' emergent properties bring novelty and creativity with applications right across the spectrum of Software Engineering activities including coding, design, requirements, repair, refactoring, performance improvement, documentation and analytics. However, these very same emergent properties also pose significant technical challenges; we need techniques that can reliably weed out incorrect solutions, such as hallucinations. Our survey reveals the pivotal role that hybrid techniques (traditional SE plus LLMs) have to play in the development and deployment of reliable, efficient and effective LLM-based SE.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{FanGHLSYZ23,
title = {Large Language Models for Software Engineering: Survey and Open Problems},
author = {Angela Fan and Beliz Gokkaya and Mark Harman and Mitya Lyubarskiy and Shubho Sengupta and Shin Yoo and Jie M. Zhang},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse-fose59343.2023.00008}
}