Large Language Model-Based Agents for Software Engineering: A Survey

Junwei Liu,Kaixin Wang,Yixuan Chen,Xin Peng,Zhenpeng Chen,Lingming Zhang,Yiling Lou
2024-09-04
Abstract:The recent advance in Large Language Models (LLMs) has shaped a new paradigm of AI agents, i.e., LLM-based agents. Compared to standalone LLMs, LLM-based agents substantially extend the versatility and expertise of LLMs by enhancing LLMs with the capabilities of perceiving and utilizing external resources and tools. To date, LLM-based agents have been applied and shown remarkable effectiveness in Software Engineering (SE). The synergy between multiple agents and human interaction brings further promise in tackling complex real-world SE problems. In this work, we present a comprehensive and systematic survey on LLM-based agents for SE. We collect 106 papers and categorize them from two perspectives, i.e., the SE and agent perspectives. In addition, we discuss open challenges and future directions in this critical domain. The repository of this survey is at <a class="link-external link-https" href="https://github.com/FudanSELab/Agent4SE-Paper-List" rel="external noopener nofollow">this https URL</a>.
Software Engineering,Artificial Intelligence
What problem does this paper attempt to address?
This paper aims to address the application of large language models (LLMs) in the field of software engineering (SE) and provides a comprehensive and systematic review of related research. Specifically: 1. **Background**: In recent years, with the development of large language models, their application in software engineering has become increasingly widespread, including but not limited to tasks such as code generation, software testing, and debugging. However, traditional standalone LLMs have limitations when dealing with complex real-world software engineering problems. 2. **Core Objective**: This paper aims to overcome these limitations by introducing LLM-based intelligent agents. These agents not only possess the powerful capabilities of LLMs but can also perceive and utilize external resources and tools, thereby better addressing complex software development and maintenance tasks. 3. **Specific Objectives**: - Conduct a systematic review of 106 related papers, categorizing and discussing them from both the software engineering perspective and the agent design perspective. - Analyze the design characteristics of existing LLM-based agents and their application in various stages of software development. - Explore the challenges and future directions in this field. In summary, this review paper aims to fill the current research gap regarding the application of LLM-based agents in software engineering, providing researchers with a comprehensive reference framework.