[Paper] FailureMem:面向故障感知的多模态框架用于自主软件修复
发布: (2026年3月18日 GMT+8 23:24)
7 分钟阅读
原文: arXiv
Source: arXiv - 2603.17826v1
概述
本文介绍了 FailureMem,一种全新的多模态自动软件修复框架,能够同时理解代码、文本化的错误报告以及 GUI 截图。通过让系统从自身过去的失败中学习,FailureMem 将 “debug‑as‑you‑code” 工具的技术水平提升到最新水平,并在相较于现有方法上展示了可衡量的性能提升。
关键贡献
- Hybrid workflow‑agent architecture – 将结构化管道用于定位有缺陷的 UI 区域,并结合灵活的 LLM 驱动推理代理,以探索替代修复方案。
- Active perception & region‑level visual grounding – 不再处理整页截图,而是系统性地隔离相关的 UI 组件(按钮、对话框等),以聚焦视觉推理。
- Failure Memory Bank – 自动记录未成功的修复尝试,提取可操作的模式,并将其作为未来错误的指导。
- Empirical improvement – 在 SWE‑bench Multimodal 基准上,FailureMem 将错误解决率提升了 3.7 %,超出之前的最佳系统(GUIRepair)。
方法论
- 输入融合 – 框架摄取三种模态:(a) 受影响组件的源代码,(b) 自然语言的问题描述,和 (c) 正在运行的 UI 截图。
- 混合流水线
- 定位阶段:轻量级视觉检测器扫描截图并提出候选 UI 区域(例如,错位的按钮)。
- 推理阶段:大型语言模型(LLM)接收定位到的区域、相关代码片段以及文本化的 bug 报告。它生成候选补丁,然后对补丁进行编译和测试。
- 主动感知循环 – 若生成的补丁失败,系统可以请求新的视觉焦点(例如,放大到另一个部件),而无需重新启动整个流水线。
- 失败记忆库 – 每一次失败的尝试都会连同其上下文(代码、描述、视觉区域)以及失败原因(如编译错误、测试失败)记录下来。相似度匹配器检索与当前 bug 相匹配的历史失败,为 LLM 提供“哪些不要做”的提示。
- 迭代修复 – LLM 在使用全新推理的同时,结合失败记忆的指导进行迭代,直至补丁通过所有测试或达到超时限制。
结果与发现
| 指标 | GUIRepair(基线) | FailureMem |
|---|---|---|
| 已解决的错误(SWE‑bench 多模态) | 62.3 % | 66.0 % |
| 平均修复迭代次数 | 4.2 | 3.1 |
| 首次成功补丁的时间(秒) | 28.7 | 22.5 |
- 3.7 % 的绝对提升相当于基准套件中 ≈ 60 个额外修复的错误。
- FailureMem 平均需要 约 30 % 更少的迭代次数,表明 Failure Memory Bank 有效地剪枝了低效的搜索路径。
- 区域级视觉定位降低了无关的视觉噪声,为 LLM 提供了更清晰的提示,从而加快了收敛速度。
实际意义
- 开发者工具 – 集成到 IDE 中,FailureMem 可以实时建议 UI 相关的修复,自动定位需要关注的具体部件。
- 持续集成流水线 – 团队可以将该框架接入 CI,在 UI 回归问题进入生产环境前自动修复,减少人工分拣工作。
- 知识保留 – Failure Memory Bank 像机构记忆一样,把每一次失败的修复转化为可复用的经验教训,这对大型、快速迭代的代码库尤为重要。
- 跨模态调试 – 通过对代码、文本和截图的联合推理,系统弥合前端设计师与后端工程师之间的鸿沟,促进更顺畅的协作。
限制与未来工作
- 视觉检测的可扩展性 – 当前的区域检测器在桌面式 GUI 上表现良好,但在高度动态或移动布局上可能会遇到困难。
- 内存库大小管理 – 随着记录的失败数量增加,需要高效的索引和裁剪策略以保持检索速度。
- 超出 UI 缺陷的泛化能力 – 该框架针对 GUI 相关缺陷进行调优;将其扩展到非视觉缺陷(例如性能回归)仍是一个未解决的挑战。
- 用户研究 – 论文在基准数据上进行评估;计划进行真实环境的开发者研究,以评估对建议补丁的可用性和信任度。
FailureMem 展示了让自动修复系统从自身错误以及所修复软件的视觉上下文中学习,能够显著提升效率和成功率,为更智能的多模态调试助手铺平道路。
作者
- Ruize Ma
- Yilei Jiang
- Shilin Zhang
- Zheng Ma
- Yi Feng
- Vincent Ng
- Zhi Wang
- Xiangyu Yue
- Chuanyi Li
- Lewei Lu
论文信息
- arXiv ID: 2603.17826v1
- Categories: cs.SE, cs.AI
- Published: 2026年3月18日
- PDF: 下载 PDF