ArchAgent: Scalable Legacy Software Architecture Recovery with LLMs
作者: Rusheng Pan, Bingcheng Mao, Tianyi Ma, Zhenhua Ling
分类: cs.SE, cs.AI
发布日期: 2026-01-19
备注: to be published in ICASSP 2026
🔗 代码/项目: GITHUB
💡 一句话要点
ArchAgent:利用LLM实现大规模遗留软件架构的可扩展恢复
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 软件架构恢复 大型语言模型 遗留系统 静态分析 代码分割
📋 核心要点
- 现有方法难以从大型遗留系统中准确恢复架构,面临架构演变、关系缺失和LLM上下文限制等问题。
- ArchAgent采用基于代理的框架,结合静态分析、自适应代码分割和LLM,重建多视图、业务对齐的架构。
- 实验表明,ArchAgent在大型GitHub项目上优于现有基准,并能有效恢复遗留系统中的关键业务逻辑。
📝 摘要(中文)
从大规模遗留软件中恢复准确的架构面临着架构漂移、关系缺失以及大型语言模型(LLM)上下文有限等挑战。本文提出了ArchAgent,一个可扩展的基于代理的框架,它结合了静态分析、自适应代码分割和LLM驱动的综合,以从跨存储库代码库中重建多视图、业务对齐的架构。ArchAgent引入了具有上下文修剪的可扩展图生成,并集成了跨存储库数据以识别业务关键模块。对典型的大规模GitHub项目的评估表明,该方法相比现有基准有显著改进。消融研究证实了依赖上下文提高了生产级存储库生成架构的准确性,而真实案例研究表明可以有效地从遗留项目中恢复关键业务逻辑。数据集可在https://github.com/panrusheng/arch-eval-benchmark获取。
🔬 方法详解
问题定义:论文旨在解决从大规模遗留软件系统中准确恢复软件架构的问题。现有方法,特别是直接使用大型语言模型(LLM),在处理大型代码库时面临挑战,包括:架构漂移导致的代码与设计不一致、模块间关系缺失、以及LLM固有的上下文窗口限制,难以理解整个系统的复杂性。这些问题导致生成的架构图不准确,难以反映真实的业务逻辑。
核心思路:ArchAgent的核心思路是将大型软件架构恢复任务分解为多个小型、可管理的子任务,并由多个智能代理协同完成。通过静态分析提取代码结构信息,自适应代码分割将代码库划分为具有业务含义的模块,然后利用LLM对每个模块进行分析和架构推断。这种分而治之的方法降低了LLM的上下文压力,并允许集成跨存储库的依赖关系,从而提高架构恢复的准确性和可扩展性。
技术框架:ArchAgent框架主要包含以下几个阶段:1) 静态分析:使用静态分析工具提取代码库中的类、接口、函数等元素及其之间的依赖关系。2) 自适应代码分割:根据业务逻辑和代码依赖关系,将代码库分割成多个模块,每个模块代表一个业务功能或组件。3) LLM驱动的架构综合:为每个模块创建一个代理,该代理利用LLM分析模块的代码和依赖关系,生成模块的架构描述。4) 架构图生成:将各个模块的架构描述组合成完整的系统架构图,并进行可视化展示。框架还包含上下文修剪机制,减少不必要的依赖关系,提高图的可读性。
关键创新:ArchAgent的关键创新在于其基于代理的架构和自适应代码分割策略。传统的架构恢复方法通常依赖于人工分析或简单的静态分析,难以处理大规模、复杂的遗留系统。ArchAgent通过引入LLM和代理,实现了自动化、智能化的架构恢复。自适应代码分割策略能够根据业务逻辑和代码依赖关系动态地调整模块大小,从而更好地利用LLM的上下文窗口。
关键设计:ArchAgent的关键设计包括:1) 代理的Prompt设计:针对不同的模块和任务,设计不同的Prompt,引导LLM生成准确的架构描述。2) 上下文修剪算法:设计算法去除架构图中不重要的依赖关系,提高图的可读性。3) 跨存储库依赖关系集成:通过分析不同存储库之间的代码依赖关系,将相关的模块集成到同一个架构图中。具体的参数设置和损失函数等技术细节在论文中未明确说明,可能依赖于所使用的LLM和静态分析工具。
🖼️ 关键图片
📊 实验亮点
实验结果表明,ArchAgent在恢复大型GitHub项目的架构方面显著优于现有基准。消融研究证实,依赖上下文信息能够显著提高生成架构的准确性。真实案例研究表明,ArchAgent能够有效地从遗留项目中恢复关键业务逻辑。具体性能数据和提升幅度在摘要中未给出,需查阅原文。
🎯 应用场景
ArchAgent可应用于遗留系统的现代化改造、软件架构理解、代码质量评估和知识传承等领域。通过自动恢复软件架构,帮助开发人员快速理解系统结构,降低维护成本,并为后续的重构和迁移提供指导。该研究对于提升软件工程效率、降低遗留系统风险具有重要意义,并为基于LLM的软件工程自动化开辟了新的方向。
📄 摘要(原文)
Recovering accurate architecture from large-scale legacy software is hindered by architectural drift, missing relations, and the limited context of Large Language Models (LLMs). We present ArchAgent, a scalable agent-based framework that combines static analysis, adaptive code segmentation, and LLM-powered synthesis to reconstruct multiview, business-aligned architectures from cross-repository codebases. ArchAgent introduces scalable diagram generation with contextual pruning and integrates cross-repository data to identify business-critical modules. Evaluations of typical large-scale GitHub projects show significant improvements over existing benchmarks. An ablation study confirms that dependency context improves the accuracy of generated architectures of production-level repositories, and a real-world case study demonstrates effective recovery of critical business logics from legacy projects. The dataset is available at https://github.com/panrusheng/arch-eval-benchmark.