中文

大型代码模型理解编程概念吗?面向代码谓词的反事实分析

软件工程 2025-02-13 v3 人工智能 机器学习 编程语言

摘要

大型语言模型在文本生成上的成功也使其在代码生成和编程任务中表现更佳。尽管大量工作已经展示了它们在代码补全和编辑等任务上的显著性能,但原因仍不清楚。我们通过探索自回归模型在多大程度上理解底层程序的逻辑结构来帮助弥合这一差距。我们提出了编程概念谓词反事实分析(CACP)作为一种反事实测试框架,以评估大型代码模型是否理解编程概念。在仅具有对模型的黑盒访问权限的情况下,我们使用 CACP 评估了十个流行的大型代码模型在四个不同编程概念上的表现。我们的研究结果表明,当前模型缺乏对数据流和控制流等概念的理解。

关键词

引用

@article{arxiv.2402.05980,
  title  = {Do Large Code Models Understand Programming Concepts? Counterfactual Analysis for Code Predicates},
  author = {Ashish Hooda and Mihai Christodorescu and Miltiadis Allamanis and Aaron Wilson and Kassem Fawaz and Somesh Jha},
  journal= {arXiv preprint arXiv:2402.05980},
  year   = {2025}
}