返回
Do code LLMs do static analysis?
DOI:10.1007/s10664-026-10853-z.png)
摘要
En 中文
本文研究了代码大型语言模型(Code LLMs)在代码智能任务(如代码总结和生成)中静态分析能力。代码大型语言模型因其能够执行原本需要人类完成的编程任务而广为人知。人们执行编程任务的过程长期以来被认为需要静态分析,例如,人类程序员通过导航大型程序的调用图来理解程序的不同部分。编程教育中包含静态分析,前提是更好的静态分析技能能带来更好的编程能力。尽管流行文化中充斥着拟人化参考,如大型语言模型“推理”,但实际上代码大型语言模型可能展现出与人类截然不同的思维过程。本文研究了代码大型语言模型在静态分析方面的具体问题。我们使用三种不同的静态分析任务(调用图生成、抽象语法树生成和数据流生成)和三种不同的代码智能任务(代码生成、总结和翻译),以及两种不同的开源模型(Gemini和GPT-4o)和闭源模型(CodeLlaMA和Jam)进行实验。我们发现,大型语言模型在静态分析任务上表现不佳,且在静态分析任务上的预训练并不能泛化到代码智能任务上的更好表现,反之亦然。
Keyword:
Static analysis
Code intelligence tasks
Large language models
LLM reasoning
期刊
IF:
3.6
论文数:
2.0K
被引数:
5.3K
机构
引用论文
GRACE: Empowering LLM-based software vulnerability detection with graph structure and in-context learningGRACE: 通过图结构和上下文学习增强基于LLM的软件漏洞检测

