論文の概要: Better Context Makes Better Code Language Models: A Case Study on
Function Call Argument Completion
- arxiv url: http://arxiv.org/abs/2306.00381v1
- Date: Thu, 1 Jun 2023 06:25:58 GMT
- ステータス: 処理完了
- システム内更新日: 2023-06-02 18:03:04.435626
- Title: Better Context Makes Better Code Language Models: A Case Study on
Function Call Argument Completion
- Title(参考訳): より良いコンテキストがコード言語モデルを改善する:Function Call Argument Completionのケーススタディ
- Authors: Hengzhi Pei, Jinman Zhao, Leonard Lausen, Sheng Zha, George Karypis
- Abstract要約: 既存のコード補完モデルでは、完了タスクに良い結果が得られないことを示します。
与えられた関数呼び出しに関する情報をプログラムアナライザに問い合わせ、推論およびトレーニング中に異なるコード補完モデルに対してアナライザ結果を提供する方法を検討する。
実験の結果,関数の実装と関数の使用量へのアクセスは,引数補完性能を大幅に向上させることがわかった。
- 参考スコア(独自算出の注目度): 15.068025336990287
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Pretrained code language models have enabled great progress towards program
synthesis. However, common approaches only consider in-file local context and
thus miss information and constraints imposed by other parts of the codebase
and its external dependencies. Existing code completion benchmarks also lack
such context. To resolve these restrictions we curate a new dataset of
permissively licensed Python packages that includes full projects and their
dependencies and provide tools to extract non-local information with the help
of program analyzers. We then focus on the task of function call argument
completion which requires predicting the arguments to function calls. We show
that existing code completion models do not yield good results on our
completion task. To better solve this task, we query a program analyzer for
information relevant to a given function call, and consider ways to provide the
analyzer results to different code completion models during inference and
training. Our experiments show that providing access to the function
implementation and function usages greatly improves the argument completion
performance. Our ablation study provides further insights on how different
types of information available from the program analyzer and different ways of
incorporating the information affect the model performance.
- Abstract(参考訳): 事前学習されたコード言語モデルは、プログラム合成において大きな進歩をもたらした。
しかし、一般的なアプローチはファイル内のローカルコンテキストのみを考慮するため、コードベースの他の部分とその外部依存関係によって課される情報や制約を見逃す。
既存のコード補完ベンチマークにもそのようなコンテキストがない。
これらの制限を解決するために、完全なプロジェクトとその依存関係を含む許可されたPythonパッケージの新しいデータセットをキュレートし、プログラムアナライザの助けを借りて非ローカル情報を抽出するツールを提供します。
次に、関数呼び出しに対する引数の予測を必要とする関数呼び出し引数補完のタスクに焦点を当てる。
既存のコード補完モデルは、完了タスクに良い結果を出さないことを示す。
この課題をよりよく解決するために、与えられた関数呼び出しに関する情報をプログラムアナライザに問い合わせ、推論とトレーニングの間に異なるコード補完モデルにアナライザ結果を提供する方法を検討する。
実験では,関数の実装と関数の使用方法へのアクセスにより,引数補完性能が大幅に向上することを示す。
本研究は,プログラムアナライザから利用可能な情報の種類や,その情報を取り込む方法がモデル性能に与える影響について,さらなる知見を与える。
関連論文リスト
- Evaluating Long Range Dependency Handling in Code Generation Models using Multi-Step Key Retrieval [3.1767625261233046]
コンテクストウィンドウ内の複数ステップのキー検索タスクを最大8kトークンまで長値化することで,複数のコード生成モデルが長距離依存を処理可能であることを解析する。
関数がプロンプトで後で定義される別の関数を参照すると、パフォーマンスは著しく低下する(最大2倍)。
また,スライディングウィンドウアテンション機構を用いたモデルでは,単一ウィンドウのサイズ以上の参照処理が困難であることも確認した。
論文 参考訳(メタデータ) (2024-07-23T02:45:22Z) - De-fine: Decomposing and Refining Visual Programs with Auto-Feedback [75.62712247421146]
De-fineは、複雑なタスクを単純なサブタスクに分解し、オートフィードバックを通じてプログラムを洗練する、トレーニング不要のフレームワークである。
様々な視覚的タスクに対する我々の実験は、De-fineがより堅牢なプログラムを生成することを示している。
論文 参考訳(メタデータ) (2023-11-21T06:24:09Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Fact-Checking Complex Claims with Program-Guided Reasoning [99.7212240712869]
Program-Guided Fact-Checking (ProgramFC)は、複雑なクレームを単純なサブタスクに分解する新しいファクトチェックモデルである。
まず,大規模言語モデルの文脈内学習能力を活用して推論プログラムを生成する。
我々は,各サブタスクを対応するサブタスクハンドラに委譲することでプログラムを実行する。
論文 参考訳(メタデータ) (2023-05-22T06:11:15Z) - Python Code Generation by Asking Clarification Questions [57.63906360576212]
本稿では,この課題に対して,より斬新で現実的なセットアップを導入する。
我々は、自然言語記述の過小評価は、明確化を問うことで解決できると仮定する。
我々は、生成した合成明確化質問と回答を含む自然言語記述とコードのペアを含む、CodeClarQAという新しいデータセットを収集し、導入する。
論文 参考訳(メタデータ) (2022-12-19T22:08:36Z) - Visualizing the Relationship Between Encoded Linguistic Information and
Task Performance [53.223789395577796]
本稿では,Pareto Optimalityの観点から,符号化言語情報とタスクパフォーマンスの動的関係について検討する。
我々は、機械翻訳と言語モデリングという2つの一般的なNLPタスクの実験を行い、様々な言語情報とタスクパフォーマンスの関係について検討する。
実験結果から,NLPタスクには構文情報が有用であるのに対して,より構文情報の符号化が必ずしも優れたパフォーマンスをもたらすとは限らないことが示唆された。
論文 参考訳(メタデータ) (2022-03-29T19:03:10Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - Comparative Code Structure Analysis using Deep Learning for Performance
Prediction [18.226950022938954]
本稿では,アプリケーションの静的情報(抽象構文木やASTなど)を用いてコード構造の変化に基づいて性能変化を予測することの実現可能性を評価することを目的とする。
組込み学習手法の評価により,木系長短メモリ(LSTM)モデルでは,ソースコードの階層構造を利用して遅延表現を発見し,最大84%(個人的問題)と73%(複数の問題を含む組み合わせデータセット)の精度で性能変化を予測できることが示された。
論文 参考訳(メタデータ) (2021-02-12T16:59:12Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。