中文

CoCoNUT:结构化代码理解并非从树上掉落

机器学习 2025-03-05 v3 软件工程

摘要

大型语言模型 在涉及结构化和非结构化文本数据的广泛任务中展现了出色的性能。在代码生成、修复或补全的各种基准测试上的最新结果表明,某些模型具备与人类相当甚至超越人类的编程能力。在这项工作中,我们证明了在此类基准测试上的高性能与人类理解代码中结构化控制流的内在能力并不相关。为此,我们从相关模型表现优异的 HumanEval 基准测试中提取了解决方案,并使用从相应测试集中采样的函数调用追踪了它们的执行路径。利用该数据集,我们研究了七个 SOTA LLM 匹配执行路径的能力,发现尽管它们能够生成语义相同的代码,但它们追踪执行路径的能力有限,特别是对于较长的路径和特定的控制结构。我们发现,即使是表现最好的模型 Gemini,也只能完全正确生成 47% 的 HumanEval 任务路径。此外,我们引入了一个包含 HumanEval 中未涵盖的三个关键结构的子集:递归、并行处理和面向对象编程(包括继承和多态等概念)。除了 OOP 之外,我们表明所研究的模型在相关路径上的准确率均未超过 5%。我们将这些专门部分与 HumanEval 任务聚合,提出了 CoCoNUT:用于导航理解与测试的代码控制流,它衡量模型在相关调用(包括高级结构组件)上追踪代码执行的能力。我们得出结论,当前的 LLM 需要重大改进以增强代码推理能力。我们希望我们的数据集能帮助研究人员弥合这一差距。

关键词

引用

@article{arxiv.2501.16456,
  title  = {CoCoNUT: Structural Code Understanding does not fall out of a tree},
  author = {Claas Beger and Saikat Dutta},
  journal= {arXiv preprint arXiv:2501.16456},
  year   = {2025}
}

备注

Accepted at 2025 IEEE/ACM International Workshop on Large Language Models for Code (LLM4Code)