中文

面向异常安全代码生成的中间表示代理框架

软件工程 2025-07-09 v3 计算与语言

摘要

大型语言模型(LLM)在生成代码时常常难以实现稳健的异常处理,导致生成的程序易产生运行时错误。我们提出了 Seeker,一种新型的多代理框架,通过中间表示(IR)方法强制执行 LLM 生成代码的异常安全。Seeker 将异常处理分解为五个专用代理:Scanner、Detector、Predator、Ranker 和 Handler,这些代理协作分析代码、检测脆弱代码段、检索最佳实践异常策略,并注入稳健的处理代码。我们还引入了通用异常枚举(CEE),该知识库源自官方文档、技术实践和真实世界代码,用于标准化异常处理策略。Seeker 还集成了深度检索增强生成(Deep RAG)算法,高效导航异常继承层次结构,将搜索开销降低 93%,同时提高识别相关异常的准确率。在 15 个开源 Java 项目和多个基准测试上进行评估。Seeker 在异常处理精度上比最先进的基线方法提升最高 37%,整体代码稳健性提升 38%(通过专家代码评审衡量),在真实世界问题修复方面的成功率达 28%,而先前方法仅为 19%。我们的框架在保持功能正确性的同时,主动处理错误,展示了一种实用且可推广的更安全代码生成解决方案。本文讨论了如何利用中间表示和多代理协作进行异常处理的新颖性,并概述了 Seeker 可扩展至其他编程语言和复杂软件工程任务的潜力,使 LLM 生成的代码与行业标准相吻合。

关键词

引用

@article{arxiv.2410.06949,
  title  = {Towards Exception Safety Code Generation with Intermediate Representation Agents Framework},
  author = {Xuanming Zhang and Yuxuan Chen and Yuan Yuan and Minlie Huang},
  journal= {arXiv preprint arXiv:2410.06949},
  year   = {2025}
}