Table of Contents
Fetching ...

Agents in Software Engineering: Survey, Landscape, and Vision

Yanlin Wang, Wanjun Zhong, Yanxian Huang, Ensheng Shi, Min Yang, Jiachi Chen, Hui Li, Yuchi Ma, Qianxiang Wang, Zibin Zheng

TL;DR

The paper addresses the absence of a unified view on how LLM-based agents can be applied to software engineering. It synthesizes 115 papers into a unified perception–memory–action framework for LLM-based SE agents, detailing modality-specific perception, three memory types, and internal/external actions including diverse chain-of-thought strategies and retrieval schemes. It highlights challenges such as underexplored perception modalities, lack of a standard knowledge base, hallucinations, and efficiency in multi-agent setups, and outlines opportunities to advance perception, knowledge integration, and SE-technology integration within agents. This framework and roadmap aim to guide future research and development, with a GitHub repository aggregating related works to support reproducibility and collaboration.

Abstract

In recent years, Large Language Models (LLMs) have achieved remarkable success and have been widely used in various downstream tasks, especially in the tasks of the software engineering (SE) field. We find that many studies combining LLMs with SE have employed the concept of agents either explicitly or implicitly. However, there is a lack of an in-depth survey to sort out the development context of existing works, analyze how existing works combine the LLM-based agent technologies to optimize various tasks, and clarify the framework of LLM-based agents in SE. In this paper, we conduct the first survey of the studies on combining LLM-based agents with SE and present a framework of LLM-based agents in SE which includes three key modules: perception, memory, and action. We also summarize the current challenges in combining the two fields and propose future opportunities in response to existing challenges. We maintain a GitHub repository of the related papers at: https://github.com/DeepSoftwareAnalytics/Awesome-Agent4SE.

Agents in Software Engineering: Survey, Landscape, and Vision

TL;DR

The paper addresses the absence of a unified view on how LLM-based agents can be applied to software engineering. It synthesizes 115 papers into a unified perception–memory–action framework for LLM-based SE agents, detailing modality-specific perception, three memory types, and internal/external actions including diverse chain-of-thought strategies and retrieval schemes. It highlights challenges such as underexplored perception modalities, lack of a standard knowledge base, hallucinations, and efficiency in multi-agent setups, and outlines opportunities to advance perception, knowledge integration, and SE-technology integration within agents. This framework and roadmap aim to guide future research and development, with a GitHub repository aggregating related works to support reproducibility and collaboration.

Abstract

In recent years, Large Language Models (LLMs) have achieved remarkable success and have been widely used in various downstream tasks, especially in the tasks of the software engineering (SE) field. We find that many studies combining LLMs with SE have employed the concept of agents either explicitly or implicitly. However, there is a lack of an in-depth survey to sort out the development context of existing works, analyze how existing works combine the LLM-based agent technologies to optimize various tasks, and clarify the framework of LLM-based agents in SE. In this paper, we conduct the first survey of the studies on combining LLM-based agents with SE and present a framework of LLM-based agents in SE which includes three key modules: perception, memory, and action. We also summarize the current challenges in combining the two fields and propose future opportunities in response to existing challenges. We maintain a GitHub repository of the related papers at: https://github.com/DeepSoftwareAnalytics/Awesome-Agent4SE.
Paper Structure (21 sections, 4 figures, 1 table)

This paper contains 21 sections, 4 figures, 1 table.

Figures (4)

  • Figure 1: Taxonomy of LLM-based agents in software engineering.
  • Figure 2: An overview of agent framework in SE.
  • Figure 3: Different CoTs from different methods, where (a) is native cot/plan, which is obtained by letting LLM think step by step in the prompt and includes the detailed process of analyzing the problem and steps to solve the problem. (b) is Structured CoTs (SCoT), which combines code features to generate a code skeleton containing structures such as brach and loop in the graph. The blue font abstractly summarizes the description of LLM generating specific code based on SCoT. (c) is the result of brainstorming, which is obtained by analyzing the problem description and using knowledge of algorithms, data structures, and mathematics to provide ideas for solving it. (d) is an example of a Tree CoT, which dynamically explores and iteratively updates the CoT to gradually decompose and complete the problem.
  • Figure 4: The pipeline of different retrieval methods. The left part is the pipeline of the dense-based retrieval method, which can use different models to convert the text into a high-dimensional embedding vector and compare the semantic similarity to retrieve the sample with the highest similarity score. The right part is the pipeline of the sparse-based retrieval method, which just compares the text similarity and ignores semantics.