Key Points

1. The recent advance in Large Language Models (LLMs) has shaped a new paradigm of AI agents, i.e., LLM-based agents, which substantially extend the versatility and expertise of LLMs by enhancing them with the capabilities of perceiving and utilizing external resources and tools.

2. LLM-based agents have been applied and shown remarkable effectiveness in Software Engineering (SE), and the synergy between multiple agents and human interaction brings further promise in tackling complex real-world SE problems.

3. This work presents a comprehensive and systematic survey on LLM-based agents for SE, collecting 106 papers and categorizing them from both the SE and agent perspectives.

4. From the SE perspective, the survey analyzes how LLM-based agents are applied across different software development and improvement activities, including individual tasks as well as the end-to-end procedure of software development and improvement.

5. From the agent perspective, the survey focuses on the design of components in LLM-based agents for SE, including planning, memory, perception, and action.

6. The survey also discusses multi-agent systems, including their agent roles, collaboration mechanisms, and human-agent collaboration.

7. The survey highlights the first comprehensive survey of 106 papers that apply LLM-based agents to SE.

8. The survey analyzes how existing LLM-based agents are designed and applied for software development and maintenance from both the SE and agent perspectives.

9. The survey discusses research opportunities and future directions in this critical domain.

Summary

This paper presents a comprehensive and systematic survey on Large Language Model (LLM)-based agents for Software Engineering (SE). The recent advancements in LLMs have enabled a new paradigm of AI agents, known as LLM-based agents, which leverage LLMs as the central agent controller. Unlike standalone LLMs, LLM-based agents substantially extend the versatility and expertise of LLMs by enhancing them with the capabilities of perceiving and utilizing external resources and tools.

Survey Methodology
The survey collects 106 papers and categorizes them from two perspectives - the SE perspective and the agent perspective. From the SE perspective, the authors analyze how LLM-based agents are applied across different software development and improvement activities, including individual tasks like requirements engineering, code generation, static code checking, testing, and debugging, as well as end-to-end software development and improvement procedures. From the agent perspective, the authors focus on the design of key components in LLM-based agents for SE, including planning, memory, perception, and action.

Key Findings and Contributions
The paper highlights the effectiveness of LLM-based agents in SE tasks and discusses the open challenges and future directions in this domain. The main contributions of this survey are: 1) it provides the first comprehensive survey of 106 papers that apply LLM-based agents to SE, 2) it analyzes how existing LLM-based agents are designed and applied for software development and maintenance from both the SE and agent perspectives, and 3) it discusses research opportunities and future directions in this critical domain.

Reference: https://arxiv.org/abs/2409.029...