論文の概要: Code Completion by Modeling Flattened Abstract Syntax Trees as Graphs
- arxiv url: http://arxiv.org/abs/2103.09499v1
- Date: Wed, 17 Mar 2021 08:11:09 GMT
- ステータス: 処理完了
- システム内更新日: 2021-03-18 13:07:40.770766
- Title: Code Completion by Modeling Flattened Abstract Syntax Trees as Graphs
- Title(参考訳): 抽象構文木をグラフとしてモデル化したコード補完
- Authors: Yanlin Wang, Hui Li
- Abstract要約: 本稿では,部分ASTのフラット化シーケンスをASTグラフとしてモデル化したCCAGという新しいコード補完手法を提案する。
CCAGは、提案されたAST Graph Attention Blockを使用してASTグラフの異なる依存関係をキャプチャし、コード補完における表現学習を行います。
実験の結果,ccagは最先端のアプローチよりも優れた性能を示し,インテリジェントなコード補完を実現することができた。
- 参考スコア(独自算出の注目度): 3.9596727975165438
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Code completion has become an essential component of integrated development
environments. Contemporary code completion methods rely on the abstract syntax
tree (AST) to generate syntactically correct code. However, they cannot fully
capture the sequential and repetitive patterns of writing code and the
structural information of the AST. To alleviate these problems, we propose a
new code completion approach named CCAG, which models the flattened sequence of
a partial AST as an AST graph. CCAG uses our proposed AST Graph Attention Block
to capture different dependencies in the AST graph for representation learning
in code completion. The sub-tasks of code completion are optimized via
multi-task learning in CCAG, and the task balance is automatically achieved
using uncertainty without the need to tune task weights. The experimental
results show that CCAG has superior performance than state-of-the-art
approaches and it is able to provide intelligent code completion.
- Abstract(参考訳): コード補完は統合開発環境の重要なコンポーネントになっている。
現代のコード補完メソッドは、構文的に正しいコードを生成するために抽象構文木(AST)に依存している。
しかし、コードの記述とASTの構造情報の逐次的かつ反復的なパターンを完全に把握することはできない。
これらの問題を緩和するために,部分ASTのフラット化シーケンスをASTグラフとしてモデル化したCCAGという新しいコード補完手法を提案する。
CCAGは提案したAST Graph Attention Blockを使用して、ASTグラフのさまざまな依存関係をキャプチャして、コード補完における表現学習を行います。
コード補完のサブタスクはCCAGのマルチタスク学習によって最適化され、タスクの重みを調整せずに不確実性を使ってタスクバランスが自動的に達成される。
実験の結果,ccagは最先端のアプローチよりも優れた性能を示し,インテリジェントなコード補完を実現することができた。
関連論文リスト
- NAMER: Non-Autoregressive Modeling for Handwritten Mathematical Expression Recognition [80.22784377150465]
手書き数学的表現認識(HMER)は、文書理解における多種多様な応用のために、パターン認識において大きな注目を集めている。
本稿では,HMERのためのボトムアップ非自己回帰モデリング手法であるNAMERを初めて構築する。
NAMERは、VAT(Visual Aware Tokenizer)とPGD(Parallel Graph)を備える。
論文 参考訳(メタデータ) (2024-07-16T04:52:39Z) - AlloyASG: Alloy Predicate Code Representation as a Compact Structurally Balanced Graph [0.6445605125467574]
我々はCSBASG(Compplex Structurely Balanced Abstract Semantic Graph)という新しいコード表現スキーマを導入する。
CSBASGは、ある意味的要素をグラフのノードとしてリストする複雑な重み付き有向グラフとしてコードを表す。
我々は,合金モデルに対するCSBASG表現の効率を,ASTと比較してコンパクト性の観点から評価した。
論文 参考訳(メタデータ) (2024-02-29T22:41:09Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - Abstract Syntax Tree for Programming Language Understanding and
Representation: How Far Are We? [23.52632194060246]
プログラミング言語の理解と表現(コード表現学習)は、ソフトウェア工学において常にホットで挑戦的なタスクである。
抽象構文木(AST)は、ソースコードの構文情報を表現し、コード表現学習で広く使われている。
コードトークンシーケンス(略してToken)ベースのコード表現とASTベースのコード表現でトレーニングされた3種類のコード関連タスクのパフォーマンスを比較した。
論文 参考訳(メタデータ) (2023-12-01T08:37:27Z) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - Single-Stage Visual Relationship Learning using Conditional Queries [60.90880759475021]
TraCQは、マルチタスク学習問題とエンティティペアの分布を回避する、シーングラフ生成の新しい定式化である。
我々は,DETRをベースとしたエンコーダ-デコーダ条件付きクエリを用いて,エンティティラベル空間を大幅に削減する。
実験結果から、TraCQは既存のシングルステージシーングラフ生成法よりも優れており、Visual Genomeデータセットの最先端の2段階メソッドを多く上回っていることがわかった。
論文 参考訳(メタデータ) (2023-06-09T06:02:01Z) - UniXcoder: Unified Cross-Modal Pre-training for Code Representation [65.6846553962117]
プログラミング言語のためのクロスモーダル事前学習モデルUniXcoderを提案する。
木の構造情報を全て保持するシーケンス構造でASTを変換する1対1のマッピング手法を提案する。
我々は,UniXcoderを9つのデータセット上で5つのコード関連タスクで評価する。
論文 参考訳(メタデータ) (2022-03-08T04:48:07Z) - GN-Transformer: Fusing Sequence and Graph Representation for Improved
Code Summarization [0.0]
融合シーケンスとグラフのモダリティに基づいてエンドツーエンドの学習を行う新しい手法であるGN-Transformerを提案する。
提案手法は,2つのコード要約データセットと3つの自動コード要約メトリクスにおいて,最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2021-11-17T02:51:37Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - Improving Code Summarization with Block-wise Abstract Syntax Tree
Splitting [15.28941592388958]
ソースコードの構文構造を表現した抽象構文木(AST)がコード要約の生成をガイドするために組み込まれている。
既存のastベースのメソッドはトレーニングが困難で、不適切なコード要約を生成する。
ASTのリッチツリー形式の構文構造をフル活用したBlock-wise Abstract Syntax Tree Splitting法(BASTS)を提案する。
論文 参考訳(メタデータ) (2021-03-14T05:04:06Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。