論文の概要: StructCoder: Structure-Aware Transformer for Code Generation
- arxiv url: http://arxiv.org/abs/2206.05239v3
- Date: Tue, 30 Jan 2024 22:21:04 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-01 18:15:28.070516
- Title: StructCoder: Structure-Aware Transformer for Code Generation
- Title(参考訳): StructCoder:コード生成のための構造対応トランス
- Authors: Sindhu Tipirneni, Ming Zhu, Chandan K. Reddy
- Abstract要約: 本稿では、構文とデータフローの両方をモデル化し、生成されたコードの品質を向上させる構造対応トランスフォーマーデコーダを提案する。
提案したStructCoderモデルは、コード翻訳およびテキスト・トゥ・コード生成タスクにおける最先端のパフォーマンスを実現する。
- 参考スコア(独自算出の注目度): 13.797842927671846
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: There has been a recent surge of interest in automating software engineering
tasks using deep learning. This paper addresses the problem of code generation,
where the goal is to generate target code given source code in a different
language or a natural language description. Most state-of-the-art deep learning
models for code generation use training strategies primarily designed for
natural language. However, understanding and generating code requires a more
rigorous comprehension of the code syntax and semantics. With this motivation,
we develop an encoder-decoder Transformer model where both the encoder and
decoder are explicitly trained to recognize the syntax and data flow in the
source and target codes, respectively. We not only make the encoder
structure-aware by leveraging the source code's syntax tree and data flow
graph, but we also support the decoder in preserving the syntax and data flow
of the target code by introducing two novel auxiliary tasks: AST (Abstract
Syntax Tree) paths prediction and data flow prediction. To the best of our
knowledge, this is the first work to introduce a structure-aware Transformer
decoder that models both syntax and data flow to enhance the quality of
generated code. The proposed StructCoder model achieves state-of-the-art
performance on code translation and text-to-code generation tasks in the
CodeXGLUE benchmark, and improves over baselines of similar size on the APPS
code generation benchmark. Our code is publicly available at
https://github.com/reddy-lab-code-research/StructCoder/.
- Abstract(参考訳): 近年,ディープラーニングによるソフトウェアエンジニアリングタスクの自動化に対する関心が高まっている。
本稿では,異なる言語や自然言語記述において,対象とするソースコードを生成することを目標とするコード生成の問題に対処する。
コード生成のための最先端のディープラーニングモデルは、主に自然言語用に設計されたトレーニング戦略を使用する。
しかし、コードの理解と生成には、コードの構文とセマンティクスをより厳密に理解する必要がある。
このモチベーションにより、エンコーダとデコーダの両方を明示的に訓練して、ソースおよびターゲットコード内の構文とデータフローを認識するエンコーダ・デコーダ変換モデルを開発する。
ソースコードの構文木とデータフローグラフを活用することでエンコーダ構造を意識するだけでなく,AST(Abstract Syntax Tree)パスの予測とデータフロー予測という2つの新しい補助タスクを導入することで,対象コードの構文とデータフローを保存するためのデコーダもサポートしています。
私たちの知る限りでは、構文とデータフローの両方をモデル化して生成されたコードの品質を向上させる構造対応トランスフォーマーデコーダを導入するのは、これが初めてです。
提案したStructCoderモデルは,CodeXGLUEベンチマークにおいて,コード翻訳およびテキスト・ツー・コード生成タスクの最先端性能を実現し,APPSコード生成ベンチマークで同様のサイズのベースラインを改善する。
私たちのコードはhttps://github.com/reddy-lab-code-research/StructCoder/で公開されています。
関連論文リスト
- SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - Statement-based Memory for Neural Source Code Summarization [4.024850952459758]
コードの要約は、プログラマのためのソフトウェアドキュメントの基盤となる。
近年,自動コード要約技術の研究のフロンティアとして,ニューラルネットワークの要約が登場している。
本稿では,文ベースのメモリエンコーダを提案し,学習中のフローの重要な要素を学習し,文ベースのサブルーチン表現を実現する。
論文 参考訳(メタデータ) (2023-07-21T17:04:39Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - Knowledge Transfer for Pseudo-code Generation from Low Resource
Programming Language [13.716669765394293]
我々は、並列コード-擬似コードデータを用いて、高リソースPL(C++)で訓練されたコード-擬似コードニューラルモデルによって得られた知識の伝達に焦点をあてる。
後方翻訳により生成されたC符号の成功率を23.27%向上させる。
論文 参考訳(メタデータ) (2023-03-16T03:38:08Z) - GypSum: Learning Hybrid Representations for Code Summarization [21.701127410434914]
GypSumは、グラフアテンションニューラルネットワークと事前学習されたプログラミングと自然言語モデルを使用してハイブリッド表現を学習する、新しいディープラーニングモデルである。
本稿では,トランスフォーマーデコーダのエンコーダ-デコーダサブレイヤを変更して表現を融合させ,要約生成を容易にするデュアルコピー機構を提案する。
論文 参考訳(メタデータ) (2022-04-26T07:44:49Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - UniXcoder: Unified Cross-Modal Pre-training for Code Representation [65.6846553962117]
プログラミング言語のためのクロスモーダル事前学習モデルUniXcoderを提案する。
木の構造情報を全て保持するシーケンス構造でASTを変換する1対1のマッピング手法を提案する。
我々は,UniXcoderを9つのデータセット上で5つのコード関連タスクで評価する。
論文 参考訳(メタデータ) (2022-03-08T04:48:07Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - Project-Level Encoding for Neural Source Code Summarization of
Subroutines [6.939768185086755]
コード要約のモデルを改善するプロジェクトレベルのエンコーダを提案する。
我々はこの表現を用いて、最先端のニューラルネットワーク要約技術のエンコーダを強化する。
論文 参考訳(メタデータ) (2021-03-22T06:01:07Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。