Agentic Harness for Real-World Compilers
作者: Yingwei Zheng, Cong Li, Shaohua Li, Yuqun Zhang, Zhendong Su
分类: cs.SE, cs.AI
发布日期: 2026-03-20
🔗 代码/项目: GITHUB
💡 一句话要点
提出llvm-autofix,用于辅助LLM智能体理解和修复LLVM编译器漏洞。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 编译器漏洞修复 大型语言模型 LLVM 智能体工具 自动化修复
📋 核心要点
- 编译器漏洞修复困难,现有方法缺乏针对性,难以应对其复杂性和专业性要求。
- llvm-autofix通过提供智能体友好的LLVM工具、漏洞基准和定制智能体,辅助LLM理解和修复漏洞。
- 实验表明,通用LLM在编译器漏洞修复上性能下降,而llvm-autofix-mini优于现有技术约22%。
📝 摘要(中文)
编译器对现代计算至关重要,但修复编译器漏洞非常困难。虽然最近的大型语言模型(LLM)在自动化漏洞修复方面取得了进展,但由于编译器漏洞的复杂性、对深度跨领域专业知识的要求以及稀疏、非描述性的漏洞报告,它们带来了独特的挑战,因此需要特定于编译器的工具。为了弥合这一差距,我们推出了llvm-autofix,这是第一个旨在协助LLM智能体理解和修复编译器漏洞的智能体工具。我们的重点是LLVM,这是最广泛使用的编译器基础设施之一。llvm-autofix的核心是智能体友好的LLVM工具、可复现LLVM漏洞的基准llvm-bench以及用于修复LLVM漏洞的定制最小智能体llvm-autofix-mini。我们的评估表明,前沿模型在处理编译器漏洞时的性能比处理常见软件漏洞下降了60%。我们的最小智能体llvm-autofix-mini也优于最先进的技术约22%。这强调了像我们这样的专用工具对于弥合LLM和编译器工程之间的差距的必要性。我们相信这项工作为推进LLM在编译器等复杂系统中的能力奠定了基础。
🔬 方法详解
问题定义:论文旨在解决编译器漏洞修复的自动化问题,特别是针对LLVM编译器。现有方法,如直接使用通用LLM进行漏洞修复,在编译器领域表现不佳,因为编译器漏洞具有高度复杂性、需要深厚的领域知识,且漏洞报告通常信息不足。这些因素使得通用LLM难以有效理解和修复编译器漏洞。
核心思路:论文的核心思路是构建一个专门针对编译器漏洞修复的智能体工具llvm-autofix。该工具包含一系列专门设计的组件,旨在帮助LLM智能体更好地理解编译器代码、定位漏洞并生成修复方案。通过提供更友好的接口、更具针对性的数据和更有效的反馈机制,llvm-autofix旨在弥合LLM与编译器工程之间的差距。
技术框架:llvm-autofix的技术框架主要包含三个核心组件:1) 智能体友好的LLVM工具,提供易于LLM理解和操作的接口;2) llvm-bench,一个包含可复现LLVM漏洞的基准测试集,用于训练和评估LLM智能体;3) llvm-autofix-mini,一个定制的最小智能体,专门用于修复LLVM漏洞。整个流程是,LLM智能体利用llvm-autofix提供的工具和基准测试集进行学习和训练,然后使用llvm-autofix-mini进行漏洞修复。
关键创新:论文最重要的技术创新点在于构建了一个专门针对编译器漏洞修复的智能体工具llvm-autofix。与直接使用通用LLM不同,llvm-autofix通过提供智能体友好的工具、漏洞基准和定制智能体,显著提高了LLM在编译器漏洞修复方面的性能。这种针对特定领域的智能体工具设计是该论文的核心创新。
关键设计:llvm-autofix的关键设计包括:1) 智能体友好的LLVM工具,例如提供简化的API接口,方便LLM进行代码分析和修改;2) llvm-bench基准测试集,包含各种类型的LLVM漏洞,并提供详细的漏洞描述和复现步骤;3) llvm-autofix-mini智能体,采用轻量级架构,专注于漏洞定位和修复,并使用强化学习等技术进行训练。
🖼️ 关键图片
📊 实验亮点
实验结果表明,通用LLM在处理编译器漏洞时的性能比处理常见软件漏洞下降了60%。而论文提出的llvm-autofix-mini智能体,在修复LLVM漏洞方面的性能优于现有最先进技术约22%。这些数据突显了专用智能体工具在解决特定领域问题上的优势。
🎯 应用场景
该研究成果可应用于自动化编译器漏洞修复,提高软件开发效率和安全性。通过llvm-autofix,开发者可以更快速地定位和修复编译器中的错误,减少因编译器问题导致的软件缺陷。未来,该技术有望扩展到其他复杂软件系统,提升软件质量和可靠性。
📄 摘要(原文)
Compilers are critical to modern computing, yet fixing compiler bugs is difficult. While recent large language model (LLM) advancements enable automated bug repair, compiler bugs pose unique challenges due to their complexity, deep cross-domain expertise requirements, and sparse, non-descriptive bug reports, necessitating compiler-specific tools. To bridge the gap, we introduce llvm-autofix, the first agentic harness designed to assist LLM agents in understanding and fixing compiler bugs. Our focus is on LLVM, one of the most widely used compiler infrastructures. Central to llvm-autofix are agent-friendly LLVM tools, a benchmark llvm-bench of reproducible LLVM bugs, and a tailored minimal agent llvm-autofix-mini for fixing LLVM bugs. Our evaluation demonstrates a performance decline of 60% in frontier models when tackling compiler bugs compared with common software bugs. Our minimal agent llvm-autofix-mini also outperforms the state-of-the-art by approximately 22%. This emphasizes the necessity for specialized harnesses like ours to close the loop between LLMs and compiler engineering. We believe this work establishes a foundation for advancing LLM capabilities in complex systems like compilers. GitHub: https://github.com/dtcxzyw/llvm-autofix