Feb, 2024

大型代码模型是否理解编程概念?黑盒方法

TL;DR大型语言模型在文本生成方面的成功也使它们在代码生成和编码任务方面表现更好。然而,尽管有许多研究展示了它们在代码完成和编辑等任务上的出色性能,但是为什么如此仍然不清楚。我们通过研究来探讨自回归模型理解底层程序的逻辑结构的程度。我们提出了用于程序概念预测的反事实分析(Counterfactual Analysis for Programming Concept Predicates,CACP)作为一个反事实测试框架,以评估大型代码模型对编程概念的理解程度。我们通过只具有黑盒访问模型的能力,使用 CACP 评估了十个流行的大型代码模型在四个不同的编程概念上的表现。我们的研究结果表明当前的模型在数据流和控制流等概念上缺乏理解。