論文の概要: CCRep: Learning Code Change Representations via Pre-Trained Code Model
and Query Back
- arxiv url: http://arxiv.org/abs/2302.03924v1
- Date: Wed, 8 Feb 2023 07:43:55 GMT
- ステータス: 処理完了
- システム内更新日: 2023-02-09 16:55:24.565487
- Title: CCRep: Learning Code Change Representations via Pre-Trained Code Model
and Query Back
- Title(参考訳): CCRep: 事前トレーニングされたコードモデルとクエリバックによるコード変更表現の学習
- Authors: Zhongxin Liu, Zhijie Tang, Xin Xia, Xiaohu Yang
- Abstract要約: この研究は、CCRepという新しいコード変更表現学習手法を提案する。
CCRepは、さまざまな下流タスクのための機能ベクトルとして、コード変更をエンコードすることを学ぶ。
CCRepをコミットメッセージ生成、パッチの正当性評価、ジャスト・イン・タイム欠陥予測の3つのタスクに適用する。
- 参考スコア(独自算出の注目度): 8.721077261941236
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Representing code changes as numeric feature vectors, i.e., code change
representations, is usually an essential step to automate many software
engineering tasks related to code changes, e.g., commit message generation and
just-in-time defect prediction. Intuitively, the quality of code change
representations is crucial for the effectiveness of automated approaches. Prior
work on code changes usually designs and evaluates code change representation
approaches for a specific task, and little work has investigated code change
encoders that can be used and jointly trained on various tasks. To fill this
gap, this work proposes a novel Code Change Representation learning approach
named CCRep, which can learn to encode code changes as feature vectors for
diverse downstream tasks. Specifically, CCRep regards a code change as the
combination of its before-change and after-change code, leverages a pre-trained
code model to obtain high-quality contextual embeddings of code, and uses a
novel mechanism named query back to extract and encode the changed code
fragments and make them explicitly interact with the whole code change. To
evaluate CCRep and demonstrate its applicability to diverse code-change-related
tasks, we apply it to three tasks: commit message generation, patch correctness
assessment, and just-in-time defect prediction. Experimental results show that
CCRep outperforms the state-of-the-art techniques on each task.
- Abstract(参考訳): コード変更を数値的特徴ベクトル、すなわちコード変更表現として表現することは、一般的に、コミットメッセージ生成やジャストインタイムの欠陥予測など、コード変更に関連する多くのソフトウェアエンジニアリングタスクを自動化する上で不可欠なステップである。
直感的には、コード変更の表現の品質は自動化アプローチの有効性に不可欠です。
コード変更に対する事前の作業は、通常、特定のタスクのコード変更表現アプローチを設計、評価するが、様々なタスクで使用し、共同でトレーニングできるコード変更エンコーダについては、ほとんど調査されていない。
このギャップを埋めるために、この研究はCCRepと呼ばれる新しいコード変更表現学習アプローチを提案する。
具体的には、CCRepは、コード変更を事前変更と変更後のコードの組み合わせとみなし、事前訓練されたコードモデルを利用してコードの高品質なコンテキスト埋め込みを取得し、変更したコードフラグメントを抽出してエンコードするために、クエリと呼ばれる新しいメカニズムを使用して、コード変更全体と明示的に対話させる。
CCRepを評価し,多様なコード変更関連タスクに適用可能であることを示すために,コミットメッセージ生成,パッチの正当性評価,ジャスト・イン・タイム欠陥予測という3つのタスクに適用する。
実験の結果,CCRepは各タスクにおける最先端技術よりも優れていた。
関連論文リスト
- ChangeGuard: Validating Code Changes via Pairwise Learning-Guided Execution [16.130469984234956]
ChangeGuardは、学習誘導型実行を使用して、修正された関数の実行動作を比較するアプローチである。
提案手法は,77.1%の精度で,69.5%のリコールで意味的変化を識別する。
論文 参考訳(メタデータ) (2024-10-21T15:13:32Z) - ESALE: Enhancing Code-Summary Alignment Learning for Source Code Summarization [21.886950861445122]
コード要約は、与えられたコードスニペットに対して簡潔な自然言語要約を自動的に生成することを目的としている。
本稿では,要約に焦点をあてたタスクに基づいて,コード要約を改善する新しい手法を提案する。
論文 参考訳(メタデータ) (2024-07-01T03:06:51Z) - CCBERT: Self-Supervised Code Change Representation Learning [14.097775709587475]
CCBERTは新しいTransformerベースの事前トレーニングモデルで、巨大なラベルなしコード変更を含む大規模なデータセットに基づいて、コード変更の汎用表現を学ぶ。
実験の結果,CCBERT は CC2Vec や,下流タスクの最先端アプローチを7.7%-14.0% 上回っていることがわかった。
論文 参考訳(メタデータ) (2023-09-27T08:17:03Z) - Automated Code Editing with Search-Generate-Modify [24.96672652375192]
本稿では,コード検索,生成,修正のパワーを活用して,コード編集をより良く合成するためのハイブリッドアプローチを提案する。
SARGAMは、実際の開発者のコード編集動作を模倣するように設計された新しいツールである。
論文 参考訳(メタデータ) (2023-06-10T17:11:21Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - Coeditor: Leveraging Contextual Changes for Multi-round Code Auto-editing [57.776971051512234]
本研究では,複数ラウンドのコードの自動編集設定について検討し,その内部の最近の変更に基づいて,コード領域への編集を予測することを目的とした。
我々のモデルであるCoeditorは、コード編集タスクに特化して設計された微調整言語モデルである。
単純化されたシングルラウンドのシングル編集タスクでは、Coeditor は GPT-3.5 と SOTA のオープンソースコード補完モデルを大幅に上回っている。
論文 参考訳(メタデータ) (2023-05-29T19:57:36Z) - Towards Accurate Image Coding: Improved Autoregressive Image Generation
with Dynamic Vector Quantization [73.52943587514386]
既存のベクトル量子化(VQ)ベースの自己回帰モデルは、2段階生成パラダイムに従う。
画像領域を可変長符号に符号化する動的量子化VAE(DQ-VAE)を提案する。
論文 参考訳(メタデータ) (2023-05-19T14:56:05Z) - 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) - Unsupervised Learning of General-Purpose Embeddings for Code Changes [6.652641137999891]
事前学習中にコード変更の埋め込みを得る手法を提案する。
コードの変更とコミットメッセージ生成という、2つの異なる下流タスクでそれらを評価します。
本モデルでは,完全編集シーケンスを用いたモデルの精度を5.9ポイント向上させる。
論文 参考訳(メタデータ) (2021-06-03T19:08:53Z) - Contrastive Code Representation Learning [95.86686147053958]
一般的な再構成に基づくBERTモデルは,ソースコードの編集に敏感であることを示す。
コントラコード(ContraCode)は、コード機能を学ぶのにフォームではなく、コントラスト的な事前学習タスクである。
論文 参考訳(メタデータ) (2020-07-09T17:59:06Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。