LLM2D
《程序分析指南,第二部分:来自LLM的深入思考》
The Hitchhiker's Guide to Program Analysis, Part II: Deep Thoughts by LLMs
作者: Haonan Li, Hang Zhang, Kexin Pei, Zhiyun Qian
发布日期: 4/18/2025
arXiv ID: oai:arXiv.org:2504.11711v2

摘要

arXiv:2504.11711v2 宣告类型: 替换-交叉 摘要:静态分析是软件漏洞检测的基础,但常常难以克服经典的精确度-可扩展性权衡。实践中,这类工具往往在大型代码库(如Linux内核)中产生较高的假阳性率。这种不精确性可能是由于简化了漏洞建模和路径及数据约束的过度逼近所致。尽管大型语言模型(LLMs)在代码理解方面显示出前景,但它们在程序分析中的直接应用会由于内在的推理限制而导致不可靠的结果。我们引入了BugLens,这是一种后精炼框架,显著提高了静态分析的精确度。BugLens通过评估buggy代码模式对安全的影响并验证与静态警告相关的约束,来指导LLM遵循传统的分析步骤。在实际的Linux内核漏洞上进行评估时,BugLens将精确度从原始的0.10和半自动化精炼的0.50提高到0.72,显著减少了假阳性,并揭示了四个之前未报告的漏洞。我们的实验结果表明,结构化的LLM工作流程可以显著增强静态分析工具的有效性。