论文
评估跨语言代码功能等价性的语言模型
Evaluating Language Models on Cross-Language Code Functional Equivalence
摘要
背景:大语言模型 (LLM) 在各种代码理解任务中表现出了强大的性能,使许多人相信他们可以推理程序语义。然而,现有的评估主要集中在单语言设置或依赖于综合生成的代码,引发了人们对当前结果是否反映真实语义理解的担忧。目标:我们研究 LLM 是否能够准确判断人类编写的代码中不同编程语言的功能等效性,这种设置需要超越表面相似性的更深层推理。方法:我们引入 PolyHuman,这是人类用 CPP、Java 和 Python 编写的程序的数据集。使用该数据集,我们评估了开放权重和专有 LLM 的语言内和语言间等价性检测,选择 GPT-o4-mini 作为代表模型来评估稳定性。然后,我们手动分析了 81 个系统分歧案例,其中模型错误地判断了功能等价性,检查代码逻辑和生成的思想链推理。最后,我们对这些故障进行分类,并在 GPT-o4-mini、Claude-Opus-4.7 和 Gemini-3-Flash 之间进行比较,以确定它们是否反映了特定于模型的问题或最先进的 LLM 的更广泛的限制。结果:我们发现了等价判断中依赖于难度的故障(更难的问题使模型越来越容易将非等价代码错误分类为等价代码),针对性能最佳模型的编程语言的特定于模型的敏感性(特别是 Python 上更保守的行为),以及对基于相似性的线索的部分依赖。 GPT-o4-mini 在相同的设置下也表现出显着的运行不稳定,表明能力不一致而不是缺乏。结论:当前的 LLM 无法可靠地捕获语言内或跨语言的功能等效性。