Do Large Code Models Understand Programming Concepts? Counterfactual Analysis for Code Predicates

要約

テキスト生成での大規模な言語モデルの成功により、コード生成とコーディングタスクでも良くなりました。
多くの作業により、コードの完了や編集などのタスクに関する驚くべきパフォーマンスが実証されていますが、その理由はまだ不明です。
私たちは、基礎となるプログラムの論理的構成要素をどの程度自動回帰モデルを理解しているかを探ることにより、このギャップを埋めるのを助けます。
大規模なコードモデルがプログラミングの概念を理解しているかどうかを評価するための反事実的テストフレームワークとして、プログラミングコンセプト述語(CACP)の反事実分析を提案します。
モデルへのブラックボックスアクセスのみを使用すると、CACPを使用して、4つの異なるプログラミング概念の10の一般的な大規模コードモデルを評価します。
私たちの調査結果は、現在のモデルには、データフローや制御フローなどの概念の理解がないことを示唆しています。

要約(オリジナル)

Large Language Models’ success on text generation has also made them better at code generation and coding tasks. While a lot of work has demonstrated their remarkable performance on tasks such as code completion and editing, it is still unclear as to why. We help bridge this gap by exploring to what degree auto-regressive models understand the logical constructs of the underlying programs. We propose Counterfactual Analysis for Programming Concept Predicates (CACP) as a counterfactual testing framework to evaluate whether Large Code Models understand programming concepts. With only black-box access to the model, we use CACP to evaluate ten popular Large Code Models for four different programming concepts. Our findings suggest that current models lack understanding of concepts such as data flow and control flow.

arxiv情報

著者 Ashish Hooda,Mihai Christodorescu,Miltiadis Allamanis,Aaron Wilson,Kassem Fawaz,Somesh Jha
発行日 2025-02-12 15:40:35+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.LG, cs.PL, cs.SE パーマリンク