論文の概要: Embedding API Dependency Graph for Neural Code Generation
- arxiv url: http://arxiv.org/abs/2103.15361v1
- Date: Mon, 29 Mar 2021 06:26:38 GMT
- ステータス: 処理完了
- システム内更新日: 2021-03-30 14:46:09.120476
- Title: Embedding API Dependency Graph for Neural Code Generation
- Title(参考訳): ニューラルネットワーク生成のためのAPI依存グラフの埋め込み
- Authors: Chen Lyu, Ruyun Wang, Hongyu Zhang, Hanwen Zhang, Songlin Hu
- Abstract要約: 本稿では,APIメソッド間の依存関係をAPI依存性グラフ(ADG)としてモデル化し,シーケンス・トゥ・シークエンスモデルに組み込む。
このように、デコーダは、グローバル構造依存性とテキストプログラム記述の両方を使用して、ターゲットコードを予測することができます。
提案手法は adg-seq2seq と呼ばれ, 既存の最先端手法よりも大幅に改善されている。
- 参考スコア(独自算出の注目度): 14.246659920310003
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The problem of code generation from textual program descriptions has long
been viewed as a grand challenge in software engineering. In recent years, many
deep learning based approaches have been proposed, which can generate a
sequence of code from a sequence of textual program description. However, the
existing approaches ignore the global relationships among API methods, which
are important for understanding the usage of APIs. In this paper, we propose to
model the dependencies among API methods as an API dependency graph (ADG) and
incorporate the graph embedding into a sequence-to-sequence (Seq2Seq) model. In
addition to the existing encoder-decoder structure, a new module named
``embedder" is introduced. In this way, the decoder can utilize both global
structural dependencies and textual program description to predict the target
code. We conduct extensive code generation experiments on three public datasets
and in two programming languages (Python and Java). Our proposed approach,
called ADG-Seq2Seq, yields significant improvements over existing
state-of-the-art methods and maintains its performance as the length of the
target code increases. Extensive ablation tests show that the proposed ADG
embedding is effective and outperforms the baselines.
- Abstract(参考訳): テキストによるプログラム記述からコードを生成するという問題は、ソフトウェア工学における大きな課題と見なされてきた。
近年、テキストによるプログラム記述のシーケンスから一連のコードを生成できるディープラーニングベースのアプローチが数多く提案されている。
しかし、既存のアプローチはAPIの利用を理解する上で重要なAPIメソッド間のグローバルな関係を無視している。
本稿では,APIメソッド間の依存関係をAPI依存グラフ(ADG)としてモデル化し,シーケンシャル・ツー・シーケンス(Seq2Seq)モデルにグラフを組み込むことを提案する。
既存のエンコーダ-デコーダ構造に加えて、 ``embedder" という新しいモジュールが導入されている。
このようにして、デコーダは、ターゲットコードを予測するために、グローバル構造依存性とテキストプログラム記述の両方を利用することができる。
3つの公開データセットと2つのプログラミング言語(PythonとJava)でコード生成実験を行う。
提案手法は adg-seq2seq と呼ばれ,既存の最先端メソッドよりも大幅に改善され,対象コードの長さが増加するにつれて性能が維持される。
広範囲なアブレーション試験の結果,ADGの埋め込みは有効であり,ベースラインよりも優れていた。
関連論文リスト
- SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - Towards Better Dynamic Graph Learning: New Architecture and Unified
Library [29.625205125350313]
DyGFormerは、動的グラフ学習のためのTransformerベースのアーキテクチャである。
DyGLibは、標準のトレーニングパイプラインとコーディングインターフェースを備えた統一ライブラリである。
論文 参考訳(メタデータ) (2023-03-23T05:27:32Z) - APIContext2Com: Code Comment Generation by Incorporating Pre-Defined API
Documentation [0.0]
我々は、異なる複数のエンコーダのセットを持つセック-2-seqエンコーダ-デコーダニューラルネットワークモデルを導入し、異なる入力をターゲットコメントに変換する。
ランク付け機構も開発され,非形式的なAPIを除外して,CodeSearchNetからJavaデータセットを使用してアプローチを評価することができる。
論文 参考訳(メタデータ) (2023-03-03T00:38:01Z) - Momentum Decoding: Open-ended Text Generation As Graph Exploration [49.812280360794894]
自動回帰言語モデル(LM)を用いたオープンエンドテキスト生成は、自然言語処理における中核的なタスクの1つである。
我々は、新しい視点から、すなわち、有向グラフ内の探索プロセスとして、オープンエンドテキスト生成を定式化する。
本稿では,新しい復号法であるtextitmomentum decodingを提案する。
論文 参考訳(メタデータ) (2022-12-05T11:16:47Z) - On the Effectiveness of Pretrained Models for API Learning [8.788509467038743]
開発者は、Excelファイルのパース、行ごとのテキストファイルの読み書きなど、特定の機能を実装するためにAPIを使うことが多い。
開発者は、より高速でクリーンな方法でアプリケーションを構築するために、自然言語クエリに基づいた自動API使用シーケンス生成の恩恵を受けることができる。
既存のアプローチでは、クエリが与えられたAPIシーケンスの検索や、RNNベースのエンコーダデコーダを使用してAPIシーケンスを生成するために、情報検索モデルを使用している。
論文 参考訳(メタデータ) (2022-04-05T20:33:24Z) - GraphSearchNet: Enhancing GNNs via Capturing Global Dependency for
Semantic Code Search [15.687959123626003]
我々は、効率よく正確なソースコード検索を可能にする新しいニューラルネットワークフレームワーク、GraphSearchNetを設計する。
具体的には、BGGNNを用いてソースコードとクエリを2つのグラフにエンコードし、そのグラフの局所構造情報をキャプチャする。
JavaとPythonのデータセットでの実験は、GraphSearchNetが現在の最先端の作業よりもかなりのマージンで優れていることを示している。
論文 参考訳(メタデータ) (2021-11-04T07:38:35Z) - deGraphCS: Embedding Variable-based Flow Graph for Neural Code Search [15.19181807445119]
ソースコードを変数ベースのフローグラフに変換する学習可能なDeGraph for Code Search(deGraphCSと呼ばれる)を提案する。
C言語で記述された41,152のコードスニペットを含む大規模なデータセットをGitHubから収集しています。
論文 参考訳(メタデータ) (2021-03-24T06:57:44Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z) - A Transformer-based Approach for Source Code Summarization [86.08359401867577]
コードトークン間のペア関係をモデル化することにより,要約のためのコード表現を学習する。
アプローチは単純であるにもかかわらず、最先端技術よりもかなりの差があることが示される。
論文 参考訳(メタデータ) (2020-05-01T23:29:36Z) - Improved Code Summarization via a Graph Neural Network [96.03715569092523]
一般に、ソースコード要約技術はソースコードを入力として使用し、自然言語記述を出力する。
これらの要約を生成するために、ASTのデフォルト構造によくマッチするグラフベースのニューラルアーキテクチャを使用するアプローチを提案する。
論文 参考訳(メタデータ) (2020-04-06T17:36:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。