arrow
返回

Understanding code semantics: a benchmark study of LLMs

delete2026-03-01
delete2
PRE
AI
L
Laneve, Cosimo *
DOI:10.1007/s10009-026-00842-4delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
我们提出了一项关于大型语言模型(LLMs)理解代码能力的研究,通过检测语义上等价和非等价的程序,即它们是否在给定相同输入时计算相同的结果。为此,我们故意通过引入语义保留的代码转换(即复制传播和常量折叠)来扰动程序文本。使用一个包含11个Python函数及其等价和非等价变体的基准,我们在零样本提示下,在有无最小上下文的条件下,评估了七种最先进的LLMs(包括ChatGPT、Claude、Gemini和Deep-Seek)。尽管在代码生成任务中表现强劲,这些模型在此更深层次推理挑战中经常失败,无上下文时将41%的等价案例误分类,有上下文时为29%。尽管提示可以提升性能,但这并未解决模型本身的根本局限性。我们认为,通过有针对性的微调、在等价和非等价实现上的对比学习,或在对变换不变的代码上进行训练来改进LLMs本身,对于实现鲁棒的语义理解将是必要的。同时,从业者可以通过选择更强的模型、精心设计提示,或使用在推理前规范化低级差异的工具来编写代码,从而获得更好的结果。
Keyword:
Large language models
Semantic preserving code transformations
Code understanding

期刊

I
International Journal on Software Tools for Technology Transfer
IF:
1.4
论文数:
37
被引数:
842

机构

U
Universita Ca Foscari Venezia
学者数:
3.4K
论文数: 3.2K
被引数: 6
U
university of bologna
学者数:
6.1K
论文数: 2.5K
被引数: 0
引用论文

引用论文

暂无论文信息