论文
修复之前进行验证:代理执行基础以实现可信的跨语言代码分析
Verify Before You Fix: Agentic Execution Grounding for Trustworthy Cross-Language Code Analysis
摘要
部署在代理管道中的学习分类器面临着一个基本的可靠性问题:预测是概率推理,而不是经过验证的结论,在没有基于可观察证据的情况下对预测进行操作会导致下游阶段的复合失败。软件漏洞分析使这一成本变得具体且可衡量。我们通过围绕三个 LLM 驱动的推理阶段(混合结构语义检测、基于执行的代理验证和验证感知迭代修复)构建的统一跨语言漏洞生命周期框架来解决这个问题,该框架由严格的不变量控制:如果没有基于执行的可利用性确认,则不会采取修复操作。跨语言泛化是通过通用抽象语法树 (uAST) 将 Java、Python 和 C++ 规范化为共享结构模式来实现的,并通过学习的双向门控结合 GraphSAGE 和 Qwen2.5-Coder-1.5B 嵌入的混合融合,其每个样本的权重无需额外成本即可提供内在的可解释性。该框架实现了 89.84-92.02% 的语言内检测准确率和 74.43-80.12% 的零样本跨语言 F1,以 12.27% 的总失败率端到端解决了 69.74% 的漏洞。消除确定必要性:删除 uAST 会使跨语言 F1 降低 23.42%,而禁用验证会使不必要的修复增加 131.7%。这些结果表明,基于执行的闭环推理是一种有原则且可实际部署的机制,适用于值得信赖的 LLM 驱动的代理人工智能。