- 类型
- 论文
- 来源
- arXiv AI
- 发布
- 2026年7月14日 10:33
- 状态
- 单一信源
发生了什么
CT-Repair 是一个基于智能代理的自动程序修复框架,利用代码属性图(CPG)和时间执行图(TEG)分别表示静态和动态证据。通过三级过滤管道构建紧凑 TEG,三个有限状态机引导的代理从静态、动态和混合角度分析缺陷并生成修复策略。在 Defects4J v3.0 的 854 个 Java 缺陷上,混合模型配置修复 489 个,GPT-5.4-mini 配置修复 388 个,优于 ReinFix 和 RepairAgent。过滤管道将候选方法范围缩小 94.85%,运行时记录减少 55.97%。
为什么重要
此前 LLM 用于程序修复受限于原始执行轨迹过大和重复采样缺乏根因假设多样性。CT-Repair 通过结构化 CPG 和 TEG 高效压缩运行时证据,并引入多视角推理,使修复数量比单一视角多 99 个缺陷,同时大幅缩减上下文规模,提升了自动修复的实用性和效率。
底层逻辑
CPG 编码代码的静态依赖关系,TEG 通过三级过滤(执行过滤和行为过滤)压缩运行时记录,保留关键行为。三个代理分别基于静态、动态和混合证据独立产生修复假设,然后通过验证反馈精炼最优策略。多视角协作避免了单一视角的盲区,提高了根因定位准确性。
产品与商业机会
对于代码缺陷修复工具或 IDE 插件,该框架可集成到 CI/CD 流水线中,自动分析失败测试并生成补丁。候选方法范围缩小 94.85% 使得在有限 token 预算下处理复杂缺陷成为可能,但需部署 LLM 推理服务,可能增加计算成本。
- 开发基于 CT-Repair 的自动化代码审查助手,在 PR 阶段自动检测和修复缺陷。
- 集成到 IDE 中,实时分析运行时异常并给出修复建议。
- 为软件团队提供回归测试分析服务,自动修复失败测试对应的代码。
- 作为 SaaS API,供开发者提交缺陷报告并获取补丁。
仍待确认
- CT-Repair 在非 Java 语言(如 Python、C++)上的表现如何?
- 过滤管道是否会遗漏关键的运行时信息?
- 三个代理在修复策略冲突时如何裁决?
- 该框架对百万行代码规模的大型系统扩展性如何?