論文の概要: A Static Evaluation of Code Completion by Large Language Models
- arxiv url: http://arxiv.org/abs/2306.03203v1
- Date: Mon, 5 Jun 2023 19:23:34 GMT
- ステータス: 処理完了
- システム内更新日: 2023-06-07 18:39:33.687750
- Title: A Static Evaluation of Code Completion by Large Language Models
- Title(参考訳): 大規模言語モデルによるコード補完の静的評価
- Authors: Hantian Ding, Varun Kumar, Yuchen Tian, Zijian Wang, Rob Kwiatkowski,
Xiaopeng Li, Murali Krishna Ramanathan, Baishakhi Ray, Parminder Bhatia,
Sudipta Sengupta, Dan Roth, Bing Xiang
- Abstract要約: 単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
- 参考スコア(独自算出の注目度): 65.18008807383816
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Large language models trained on code have shown great potential to increase
productivity of software developers. Several execution-based benchmarks have
been proposed to evaluate functional correctness of model-generated code on
simple programming problems. Nevertheless, it is expensive to perform the same
evaluation on complex real-world projects considering the execution cost. On
the contrary, static analysis tools such as linters, which can detect errors
without running the program, haven't been well explored for evaluating code
generation models. In this work, we propose a static evaluation framework to
quantify static errors in Python code completions, by leveraging Abstract
Syntax Trees. Compared with execution-based evaluation, our method is not only
more efficient, but also applicable to code in the wild. For experiments, we
collect code context from open source repos to generate one million function
bodies using public models. Our static analysis reveals that Undefined Name and
Unused Variable are the most common errors among others made by language
models. Through extensive studies, we also show the impact of sampling
temperature, model size, and context on static errors in code completions.
- Abstract(参考訳): コードでトレーニングされた大規模な言語モデルは、ソフトウェア開発者の生産性を高める大きな可能性を示しています。
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,いくつかの実行ベースベンチマークが提案されている。
それでも、実行コストを考慮すると、複雑な実世界のプロジェクトで同様の評価を行うのはコストがかかる。
それとは対照的に、プログラムを実行せずにエラーを検出できるlinterのような静的解析ツールは、コード生成モデルの評価にはあまり役に立たない。
本研究では,抽象構文木を利用して,Pythonコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
実行ベース評価と比較すると,本手法はより効率的であるだけでなく,野生のコードにも適用可能である。
実験では,オープンソースリポジトリからコードコンテキストを収集し,公開モデルを用いて100万の関数体を生成する。
我々の静的解析によると、Undefined Name と Unuseed Variable は言語モデルで作られるものの中で最も一般的なエラーである。
広範な研究を通じて、コード補完における静的エラーに対するサンプリング温度、モデルサイズ、コンテキストの影響も示す。
関連論文リスト
- RepoMasterEval: Evaluating Code Completion via Real-World Repositories [12.176098357240095]
RepoMasterEvalは、現実のPythonとTypeScriptリポジトリから構築されたコード補完モデルを評価するための新しいベンチマークである。
モデル生成コードのテスト精度を向上させるため,テストケースの有効性を測定するために突然変異試験を用いる。
6つの最先端モデルに対する実証的な評価は、テスト議論がベンチマークの精度向上に重要であることを示している。
論文 参考訳(メタデータ) (2024-08-07T03:06:57Z) - NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - Can Large Language Models Write Parallel Code? [0.5317767988097261]
大規模言語モデルは、ソフトウェア開発の一般的なツールになりつつある。
本稿では,最先端言語モデルによる並列コード生成能力について検討する。
論文 参考訳(メタデータ) (2024-01-23T08:25:12Z) - Better Context Makes Better Code Language Models: A Case Study on
Function Call Argument Completion [15.068025336990287]
既存のコード補完モデルでは、完了タスクに良い結果が得られないことを示します。
与えられた関数呼び出しに関する情報をプログラムアナライザに問い合わせ、推論およびトレーニング中に異なるコード補完モデルに対してアナライザ結果を提供する方法を検討する。
実験の結果,関数の実装と関数の使用量へのアクセスは,引数補完性能を大幅に向上させることがわかった。
論文 参考訳(メタデータ) (2023-06-01T06:25:58Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - FixEval: Execution-based Evaluation of Program Fixes for Programming
Problems [23.987104440395576]
FixEvalは、競合するプログラミング問題とそれに対応する修正に対して、バグの多いコードを提出するベンチマークです。
FixEvalは、モデル生成プログラム修正の正確性を評価するために、ユニットテストの広範なコレクションを提供する。
実験の結果,マッチングに基づくメトリクスは,モデル生成プログラムの修正を正確に反映しないことがわかった。
論文 参考訳(メタデータ) (2022-06-15T20:18:43Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。