中文

大型语言模型能捕捉到代码功能等价性的哪些信息?

软件工程 2025-02-14 v2 人工智能 计算与语言 机器学习

摘要

代码大型语言模型(Code-LLMs)是针对大型代码语料库进行预训练的 LLMs,已在学习代码结构和语法的丰富表征方面取得了显著进展,成功地用于生成或分类代码片段。同时,是否存在这些模型能够因捕捉代码语义而发挥作用,以及其捕捉程度如何,仍是一个开放的问题。本文通过引入 SeqCoBench 来解决这一问题,该基准用于系统性评估 Code-LLMs 能否捕捉代码功能等价性。SeqCoBench 包含超过 20 种要么保持要么改变 Python 程序语义的代码转换。我们在不同的设置下进行了广泛的评估,包括在最先进(Code)-LLMs 上进行零样本和参数高效微调,以观察它们是否能够在 SeqCoBench 中辨别语义等价或不同的程序对。我们发现,这些 LLMs 与经典基于匹配的检索得分之间的性能差距最小,两种方法都表现出对代码语义理解不足的 concerning 问题。

关键词

引用

@article{arxiv.2408.11081,
  title  = {What can Large Language Models Capture about Code Functional Equivalence?},
  author = {Nickil Maveli and Antonio Vergari and Shay B. Cohen},
  journal= {arXiv preprint arXiv:2408.11081},
  year   = {2025}
}

备注

Accepted to Findings of NAACL 2025