論文の概要: SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization
- arxiv url: http://arxiv.org/abs/2401.14727v1
- Date: Fri, 26 Jan 2024 09:23:27 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-29 15:24:28.163500
- Title: SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization
- Title(参考訳): sparsecoder:ファイルレベルのコード要約のための識別子認識スパーストランスフォーマ
- Authors: Yanlin Wang, Yanxian Huang, Daya Guo, Hongyu Zhang and Zibin Zheng
- Abstract要約: 本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
- 参考スコア(独自算出の注目度): 51.67317895094664
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Code summarization aims to generate natural language descriptions of source
code, facilitating programmers to understand and maintain it rapidly. While
previous code summarization efforts have predominantly focused on method-level,
this paper studies file-level code summarization, which can assist programmers
in understanding and maintaining large source code projects. Unlike
method-level code summarization,file-level code summarization typically
involves long source code within a single file, which makes it challenging for
Transformer-based models to understand the code semantics for the maximum input
length of these models is difficult to set to a large number that can handle
long code input well, due to the quadratic scaling of computational complexity
with the input sequence length. To address this challenge, we propose
SparseCoder, an identifier-aware sparse transformer for effectively handling
long code sequences. Specifically, the SparseCoder employs a sliding window
mechanism for self-attention to model short-term dependencies and leverages the
structure message of code to capture long-term dependencies among source code
identifiers by introducing two types of sparse attention patterns named global
and identifier attention. To evaluate the performance of SparseCoder, we
construct a new dataset FILE-CS for file-level code summarization in Python.
Experimental results show that our SparseCoder model achieves state-of-the-art
performance compared with other pre-trained models, including full
self-attention and sparse models. Additionally, our model has low memory
overhead and achieves comparable performance with models using full
self-attention mechanism.
- Abstract(参考訳): コード要約(code summarization)は、ソースコードの自然言語記述を生成することを目的としている。
従来のコード要約の取り組みは,主にメソッドレベルに重点を置いていたが,本稿では,大規模なソースコードプロジェクトの理解と保守を支援するファイルレベルのコード要約について検討する。
メソッドレベルのコード要約とは異なり、ファイルレベルのコード要約は通常、1つのファイル内の長いソースコードを含むため、Transformerベースのモデルでは、入力シーケンス長と計算複雑性の2次スケーリングのため、これらのモデルの最大入力長に対するコードの意味を理解することは困難である。
この課題に対処するために、長いコードシーケンスを効果的に処理するための識別子対応スパーストランスであるSparseCoderを提案する。
具体的には、sparsecoderは、短期的な依存関係をモデル化するためのセルフアテンションのためのスライディングウィンドウ機構を採用しており、コードの構造メッセージを利用して、グローバルと識別子アテンションという2つのタイプのスパース注意パターンを導入することで、ソースコード識別子間の長期的な依存関係をキャプチャする。
SparseCoderの性能を評価するため,Pythonにおけるファイルレベルのコード要約のための新しいデータセットFILE-CSを構築した。
実験の結果,sparsecoderモデルは他の事前学習モデルと比較して最先端の性能が得られることがわかった。
さらに,本モデルではメモリオーバーヘッドが低く,完全自己認識機構を用いたモデルと同等の性能を実現する。
関連論文リスト
- Bridging Code Semantic and LLMs: Semantic Chain-of-Thought Prompting for
Code Generation [22.219645213202178]
本稿では,SeCoT というコードの意味情報を抽出する "Semantic Chain-of-Thought" 手法を提案する。
本研究では,SeCoTが最先端の性能を実現し,大規模モデルやコード生成の可能性を大幅に向上させることを示す。
論文 参考訳(メタデータ) (2023-10-16T05:09:58Z) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - 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) - 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) - A Transformer-based Approach for Source Code Summarization [86.08359401867577]
コードトークン間のペア関係をモデル化することにより,要約のためのコード表現を学習する。
アプローチは単純であるにもかかわらず、最先端技術よりもかなりの差があることが示される。
論文 参考訳(メタデータ) (2020-05-01T23:29:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。