論文の概要: Improving Code Summarization with Block-wise Abstract Syntax Tree
Splitting
- arxiv url: http://arxiv.org/abs/2103.07845v1
- Date: Sun, 14 Mar 2021 05:04:06 GMT
- ステータス: 処理完了
- システム内更新日: 2021-03-16 14:27:29.597522
- Title: Improving Code Summarization with Block-wise Abstract Syntax Tree
Splitting
- Title(参考訳): ブロック型抽象構文木分割によるコード要約の改善
- Authors: Chen Lin, Zhichao Ouyang, Junqing Zhuang, Jianqiang Chen, Hui Li,
Rongxin Wu
- Abstract要約: ソースコードの構文構造を表現した抽象構文木(AST)がコード要約の生成をガイドするために組み込まれている。
既存のastベースのメソッドはトレーニングが困難で、不適切なコード要約を生成する。
ASTのリッチツリー形式の構文構造をフル活用したBlock-wise Abstract Syntax Tree Splitting法(BASTS)を提案する。
- 参考スコア(独自算出の注目度): 15.28941592388958
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Automatic code summarization frees software developers from the heavy burden
of manual commenting and benefits software development and maintenance.
Abstract Syntax Tree (AST), which depicts the source code's syntactic
structure, has been incorporated to guide the generation of code summaries.
However, existing AST based methods suffer from the difficulty of training and
generate inadequate code summaries. In this paper, we present the Block-wise
Abstract Syntax Tree Splitting method (BASTS for short), which fully utilizes
the rich tree-form syntax structure in ASTs, for improving code summarization.
BASTS splits the code of a method based on the blocks in the dominator tree of
the Control Flow Graph, and generates a split AST for each code split. Each
split AST is then modeled by a Tree-LSTM using a pre-training strategy to
capture local non-linear syntax encoding. The learned syntax encoding is
combined with code encoding, and fed into Transformer to generate high-quality
code summaries. Comprehensive experiments on benchmarks have demonstrated that
BASTS significantly outperforms state-of-the-art approaches in terms of various
evaluation metrics. To facilitate reproducibility, our implementation is
available at https://github.com/XMUDM/BASTS.
- Abstract(参考訳): 自動コード要約は、ソフトウェア開発者を手動コメントの重荷から解放し、ソフトウェア開発とメンテナンスに利益をもたらします。
ソースコードの構文構造を表現した抽象構文木(AST)がコード要約の生成をガイドするために組み込まれている。
しかし、既存のASTベースのメソッドは、トレーニングの難しさに悩まされ、不十分なコード要約を生成する。
本稿では、ASTのリッチツリー形式の構文構造をフルに活用し、コード要約を改善するBlock-wise Abstract Syntax Tree Splitting法(略してBASTS)を提案する。
BASTSは、コントロールフローグラフの支配木にあるブロックに基づいてメソッドのコードを分割し、各コード分割に対して分割ASTを生成します。
各スプリットASTはTree-LSTMによってモデル化され、プリトレーニング戦略を使用してローカルの非線形シンタックスエンコーディングをキャプチャする。
学習したシンタックスエンコーディングはコードエンコーディングと組み合わせ、Transformerにフィードバックされ、高品質のコードサマリを生成します。
ベンチマークに関する総合的な実験は、BASTSが様々な評価指標で最先端のアプローチを著しく上回っていることを実証している。
再現性を促進するために、私たちの実装はhttps://github.com/XMUDM/BASTSで入手できます。
関連論文リスト
- SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - AST-MHSA : Code Summarization using Multi-Head Self-Attention [1.588193964339148]
本稿では,抽象構文木(AST)から意味情報を抽出するためにマルチヘッドアテンションを用いたAST-MHSAモデルを提案する。
モデルは、コードとサマリーのデータセットに基づいてトレーニングされ、生成されたサマリーとグラウンド・トゥルース・サマリーの間の損失を最小限に抑えるためにパラメータが最適化される。
論文 参考訳(メタデータ) (2023-08-10T15:43:46Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - M2TS: Multi-Scale Multi-Modal Approach Based on Transformer for Source
Code Summarization [0.4061135251278187]
ソースコードの要約は、コードスニペットの自然言語記述を生成することを目的としている。
ソースコード要約のためのTransformerに基づくマルチスケールマルチモーダルアプローチであるM2TSを提案する。
2つのJavaデータセットと1つのPythonデータセットで実験を行い、M2TSが現在の最先端手法より優れていることを示す実験結果を得た。
論文 参考訳(メタデータ) (2022-03-18T02:54:06Z) - UniXcoder: Unified Cross-Modal Pre-training for Code Representation [65.6846553962117]
プログラミング言語のためのクロスモーダル事前学習モデルUniXcoderを提案する。
木の構造情報を全て保持するシーケンス構造でASTを変換する1対1のマッピング手法を提案する。
我々は,UniXcoderを9つのデータセット上で5つのコード関連タスクで評価する。
論文 参考訳(メタデータ) (2022-03-08T04:48:07Z) - AST-Transformer: Encoding Abstract Syntax Trees Efficiently for Code
Summarization [14.225206904493627]
木構造ASTを効率的にエンコードするAST-Transformerを提案する。
実験により、AST-Transformerは最先端技術よりも相当なマージンで優れていることが示された。
論文 参考訳(メタデータ) (2021-12-02T12:57:22Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z) - Improved Code Summarization via a Graph Neural Network [96.03715569092523]
一般に、ソースコード要約技術はソースコードを入力として使用し、自然言語記述を出力する。
これらの要約を生成するために、ASTのデフォルト構造によくマッチするグラフベースのニューラルアーキテクチャを使用するアプローチを提案する。
論文 参考訳(メタデータ) (2020-04-06T17:36:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。