论文

浴火重生:基于 LLM 的深度学习框架错误静态分析

Rise From The Ashes: LLM-based Static Analysis for Deep Learning Framework Bugs

摘要

深度学习 (DL) 框架是关键的人工智能基础设施,通常隐藏具有严重安全隐患的错误。虽然模糊测试等动态方法可以有效地发现这些错误,但它们需要真正的测试执行并产生高昂的计算成本。静态分析是一种自然的补充,因为它可以在不运行时执行的情况下检测错误,从而提供快速且可扩展的测试。不幸的是,由于深度学习框架的多语言架构和张量相关的程序状态,针对深度学习框架的静态分析的工作仍然有限。我们推出 Phoenix,第一个基于 LLM 的 DL 框架静态分析技术。我们的主要见解是,DL 框架中的跨语言张量流可以与具体代码上下文一起建模为结构化语义桥中间表示 (SBIR),LLM 可以分析张量语义传播中的潜在错误。我们通过多代理工作流程来实现这一见解。摘要代理首先从历史错误修复补丁和 CWE 规则中提取错误摘要。在每个摘要的指导下,提取代理识别与错误相关的存储库符号以进行代码检索,生成代理从检索到的上下文中合成基础 SBIR。最后,利用分析代理来检查 SBIR 并报告潜在的错误。我们的评估表明,Phoenix 是用于错误查找的动态 DL 框架测试的实用补充。迄今为止,Phoenix 已在 PyTorch 中针对不同异构硬件后端(Intel CPU、NVIDIA CUDA 和 Apple MPS)发现了 31 个真正的新错误。其中,20个提交的bug修复补丁已合并到上游。