CodeMind: A Framework to Challenge Large Language Models for Code Reasoning

要約

コード合成用の大規模言語モデル (LLM) を評価するためにテストの合格のみに依存すると、不公平な評価が発生したり、データ漏洩のあるモデルが推奨されたりする可能性があります。
代わりに、LLM のコード推論能力を測定するために設計されたフレームワークである CodeMind を紹介します。
CodeMind は現在、独立実行推論 (IER)、依存実行推論 (DER)、仕様推論 (SR) の 3 つのコード推論タスクをサポートしています。
最初の 2 つはモデルを評価して、任意のコードまたはモデルが正しく合成できるコードの実行出力を予測します。
3 番目のオプションでは、LLM が指定された期待動作をどの程度実装しているかを評価します。
CodeMind を使用して 2 つの異なるプログラミング言語の 5 つのベンチマークにわたる 9 つの LLM を広範に評価したところ、LLM は制御フローの構造をかなり理解しており、一般に、特に単純なプログラムや正しく合成できるプログラムについて、入力が出力にどのように変化するかを推論できることがわかりました。

ただし、より複雑なコード、自明ではない論理演算子および算術演算子、非プリミティブ型、および API 呼び出しでは、パフォーマンスが低下します。
さらに、相関関係はあるものの、仕様推論 (コード合成に不可欠) は実行推論 (テストやデバッグなどのより広範なプログラミング タスクに不可欠) を意味しないことがわかります。テストの合格に基づく LLM のランク付けは、コード推論と比較すると異なる場合があります。

要約(オリジナル)

Solely relying on test passing to evaluate Large Language Models (LLMs) for code synthesis may result in unfair assessment or promoting models with data leakage. As an alternative, we introduce CodeMind, a framework designed to gauge the code reasoning abilities of LLMs. CodeMind currently supports three code reasoning tasks: Independent Execution Reasoning (IER), Dependent Execution Reasoning (DER), and Specification Reasoning (SR). The first two evaluate models to predict the execution output of an arbitrary code or code the model could correctly synthesize. The third one evaluates the extent to which LLMs implement the specified expected behavior. Our extensive evaluation of nine LLMs across five benchmarks in two different programming languages using CodeMind shows that LLMs fairly understand control flow constructs and, in general, are capable of reasoning how inputs evolve to output, specifically for simple programs and the ones they can correctly synthesize. However, their performance drops for code with higher complexity, non-trivial logical and arithmetic operators, non-primitive types, and API calls. Furthermore, we observe that, while correlated, specification reasoning (essential for code synthesis) does not imply execution reasoning (essential for broader programming tasks such as testing and debugging): ranking LLMs based on test passing can be different compared to code reasoning.

arxiv情報

著者 Changshu Liu,Shizhuo Dylan Zhang,Reyhaneh Jabbarvand
発行日 2024-02-16 18:35:22+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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