論文の概要: CCBERT: Self-Supervised Code Change Representation Learning
- arxiv url: http://arxiv.org/abs/2309.15474v1
- Date: Wed, 27 Sep 2023 08:17:03 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 06:18:53.576854
- Title: CCBERT: Self-Supervised Code Change Representation Learning
- Title(参考訳): CCBERT: 自己監督型コード変更表現学習
- Authors: Xin Zhou, Bowen Xu, DongGyun Han, Zhou Yang, Junda He and David Lo
- Abstract要約: CCBERTは新しいTransformerベースの事前トレーニングモデルで、巨大なラベルなしコード変更を含む大規模なデータセットに基づいて、コード変更の汎用表現を学ぶ。
実験の結果,CCBERT は CC2Vec や,下流タスクの最先端アプローチを7.7%-14.0% 上回っていることがわかった。
- 参考スコア(独自算出の注目度): 14.097775709587475
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Numerous code changes are made by developers in their daily work, and a
superior representation of code changes is desired for effective code change
analysis. Recently, Hoang et al. proposed CC2Vec, a neural network-based
approach that learns a distributed representation of code changes to capture
the semantic intent of the changes. Despite demonstrated effectiveness in
multiple tasks, CC2Vec has several limitations: 1) it considers only
coarse-grained information about code changes, and 2) it relies on log messages
rather than the self-contained content of the code changes. In this work, we
propose CCBERT (\underline{C}ode \underline{C}hange \underline{BERT}), a new
Transformer-based pre-trained model that learns a generic representation of
code changes based on a large-scale dataset containing massive unlabeled code
changes. CCBERT is pre-trained on four proposed self-supervised objectives that
are specialized for learning code change representations based on the contents
of code changes. CCBERT perceives fine-grained code changes at the token level
by learning from the old and new versions of the content, along with the edit
actions. Our experiments demonstrate that CCBERT significantly outperforms
CC2Vec or the state-of-the-art approaches of the downstream tasks by
7.7\%--14.0\% in terms of different metrics and tasks. CCBERT consistently
outperforms large pre-trained code models, such as CodeBERT, while requiring
6--10$\times$ less training time, 5--30$\times$ less inference time, and
7.9$\times$ less GPU memory.
- Abstract(参考訳): 日々の作業において、多くのコード変更が開発者によって行われ、効果的なコード変更分析には、コード変更の優れた表現が望まれます。
Hoang氏らは最近、変更の意味的な意図を捉えるために、コード変更の分散表現を学ぶニューラルネットワークベースのアプローチであるCC2Vecを提案した。
複数のタスクで有効性を示すにもかかわらず、CC2Vecにはいくつかの制限がある。
1)コード変更に関する粗い情報のみを考慮し、
2) コード変更の自己完結型コンテンツではなく、ログメッセージに依存します。
本研究では,大量のラベルのないコード変更を含む大規模データセットに基づいて,コード変更の汎用表現を学ぶ新しいトランスフォーマベースの事前学習モデルであるccbert (\underline{c}ode \underline{c}hange \underline{bert})を提案する。
CCBERTは、コード変更の内容に基づいたコード変更表現の学習に特化した、4つの自己指導型目標に基づいて事前訓練されている。
CCBERTは、古いバージョンと新しいバージョンのコンテンツと編集アクションから学習することで、トークンレベルでのきめ細かいコード変更を認識する。
実験の結果,CCBERT は CC2Vec や,下流タスクの最先端アプローチを,メトリクスやタスクの点で7.7 %--14.0 % で大幅に上回っていることがわかった。
CCBERTは、CodeBERTのような大規模な事前トレーニング済みのコードモデルよりも一貫して優れており、トレーニング時間が少ない6--10$\times$、5-30$\times$推論時間が少ない7.9$\times$GPUメモリを必要とする。
関連論文リスト
- TransformCode: A Contrastive Learning Framework for Code Embedding via
Subtree transformation [10.168149114095566]
我々は、コード埋め込みを対照的な学習方法で学習する、TransformCodeと呼ばれる新しいフレームワークを提案する。
私たちのフレームワークは柔軟で適応性があり、コード表現を必要とする他の下流タスクに簡単に拡張できます。
論文 参考訳(メタデータ) (2023-11-10T09:05:23Z) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - Coeditor: Leveraging Contextual Changes for Multi-round Code
Auto-editing [51.153089609654174]
本研究では,複数ラウンドのコードの自動編集設定について検討し,その内部の最近の変更に基づいて,コード領域への編集を予測することを目的とした。
当社のモデルであるCoeditorは、コード編集タスク用に特別に設計された機能強化を備えた、微調整のCodeT5モデルです。
トレーニングと評価のために1650のオープンソースのPythonプロジェクトのコミット履歴からコード編集データセットを収集します。
論文 参考訳(メタデータ) (2023-05-29T19:57:36Z) - CCT5: A Code-Change-Oriented Pre-Trained Model [14.225942520238936]
我々は、ソフトウェアメンテナンスにおける開発者のサポートを改善するために、コード変更用に特別に設計されたモデルを事前訓練することを提案する。
まず、1.5M以上のコード変更とコミットメッセージのペアデータを含む大規模なデータセットを収集します。
トレーニング済みのモデルであるCCT5を、コードの変更とコードレビュープロセスに特有の2つのタスクによって引き起こされる3つの広範囲に分散したタスクで微調整する。
論文 参考訳(メタデータ) (2023-05-18T07:55:37Z) - Towards Efficient Fine-tuning of Pre-trained Code Models: An
Experimental Study and Beyond [52.656743602538825]
微調整された事前訓練されたコードモデルは、大きな計算コストを発生させる。
我々は、レイヤーワイドで事前訓練された表現と、微調整中に符号化されたコード知識に何が起こるのかを実験的に検討する。
本稿では,レイヤ凍結により事前学習したコードモデルを効率的に微調整するTellyを提案する。
論文 参考訳(メタデータ) (2023-04-11T13:34:13Z) - CCRep: Learning Code Change Representations via Pre-Trained Code Model
and Query Back [8.721077261941236]
この研究は、CCRepという新しいコード変更表現学習手法を提案する。
CCRepは、さまざまな下流タスクのための機能ベクトルとして、コード変更をエンコードすることを学ぶ。
CCRepをコミットメッセージ生成、パッチの正当性評価、ジャスト・イン・タイム欠陥予測の3つのタスクに適用する。
論文 参考訳(メタデータ) (2023-02-08T07:43:55Z) - Split, Encode and Aggregate for Long Code Search [70.38415400383693]
提案するSEA (Split, Encode and Aggregate for Long Code Search) は,長いコードをコードブロックに分割し,それらのブロックを埋め込みにエンコードし,それらを集約して包括的なロングコード表現を得る。
SEAでは、Transformerベースの事前トレーニングモデルを直接使用して、内部構造や再トレーニングを変更することなく、長いコードをモデル化することができます。
論文 参考訳(メタデータ) (2022-08-24T02:27:30Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for
Code Understanding and Generation [36.47905744758698]
我々は、開発者が指定した識別子から伝達されるコードセマンティクスをよりよく活用する、事前訓練されたエンコーダ-デコーダ変換モデルであるCodeT5を提案する。
我々のモデルは、コード理解と生成タスクの両方をシームレスにサポートし、マルチタスク学習を可能にする統一的なフレームワークを採用している。
論文 参考訳(メタデータ) (2021-09-02T12:21:06Z) - Unsupervised Learning of General-Purpose Embeddings for Code Changes [6.652641137999891]
事前学習中にコード変更の埋め込みを得る手法を提案する。
コードの変更とコミットメッセージ生成という、2つの異なる下流タスクでそれらを評価します。
本モデルでは,完全編集シーケンスを用いたモデルの精度を5.9ポイント向上させる。
論文 参考訳(メタデータ) (2021-06-03T19:08:53Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。