論文の概要: CONCORD: Clone-aware Contrastive Learning for Source Code
- arxiv url: http://arxiv.org/abs/2306.03234v1
- Date: Mon, 5 Jun 2023 20:39:08 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 04:22:56.757204
- Title: CONCORD: Clone-aware Contrastive Learning for Source Code
- Title(参考訳): CONCORD: ソースコードのためのクローン対応コントラスト学習
- Authors: Yangruibo Ding, Saikat Chakraborty, Luca Buratti, Saurabh Pujar,
Alessandro Morari, Gail Kaiser, Baishakhi Ray
- Abstract要約: セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
- 参考スコア(独自算出の注目度): 64.51161487524436
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Deep Learning (DL) models to analyze source code have shown immense promise
during the past few years. More recently, self-supervised pre-training has
gained traction for learning generic code representations valuable for many
downstream SE tasks, such as clone and bug detection.
While previous work successfully learned from different code abstractions
(e.g., token, AST, graph), we argue that it is also essential to factor in how
developers code day-to-day for general-purpose representation learning. On the
one hand, human developers tend to write repetitive programs referencing
existing code snippets from the current codebase or online resources (e.g.,
Stack Overflow website) rather than implementing functions from scratch; such
behaviors result in a vast number of code clones. In contrast, a deviant clone
by mistake might trigger malicious program behaviors.
Thus, as a proxy to incorporate developers' coding behavior into the
pre-training scheme, we propose to include code clones and their deviants. In
particular, we propose CONCORD, a self-supervised, contrastive learning
strategy to place benign clones closer in the representation space while moving
deviants further apart. We show that CONCORD's clone-aware contrastive learning
drastically reduces the need for expensive pre-training resources while
improving the performance of downstream SE tasks. We also empirically
demonstrate that CONCORD can improve existing pre-trained models to learn
better representations that consequently become more efficient in both
identifying semantically equivalent programs and differentiating buggy from
non-buggy code.
- Abstract(参考訳): ソースコードを分析するためのディープラーニング(dl)モデルは、過去数年間で大きな期待を示してきた。
最近では、クローンやバグ検出など、多くのダウンストリームSEタスクで価値のあるジェネリックコード表現を学ぶために、自己教師付き事前トレーニングが注目を集めている。
以前の作業は、さまざまなコード抽象化(トークン、AST、グラフなど)から学べることができましたが、開発者が汎用的な表現学習を日々どのようにコーディングするかは、必要不可欠です。
一方で、人間の開発者は、スクラッチから関数を実装するのではなく、現在のコードベースやオンラインリソース(Stack Overflow Webサイトなど)から既存のコードスニペットを参照する反復的なプログラムを書く傾向がある。
対照的に、間違ったクローンは悪意のあるプログラム動作を引き起こす可能性がある。
そこで我々は,開発者のコーディング動作を事前学習スキームに組み込むプロキシとして,コードクローンとそのデバイトを組み込むことを提案する。
特に,良性クローンを表現空間に近づける自己教師付き,対照的な学習戦略であるconcordを提案する。
我々は,concordのクローン認識によるコントラスト学習は,ダウンストリームseタスクの性能向上とともに,高価な事前学習リソースの必要性を劇的に低減することを示した。
また,conCORDが既存のトレーニング済みモデルを改善して,意味的に等価なプログラムを識別し,バグを非バグコードと区別する上で,よりよい表現を学習できることを実証的に実証した。
関連論文リスト
- Toward Exploring the Code Understanding Capabilities of Pre-trained Code Generation Models [12.959392500354223]
私たちは、事前訓練されたコード生成モデルからコード理解タスクへの知識の移行の先駆者です。
CL4Dはデコーダのみのモデルの表現能力を向上させるために設計された,コントラスト学習手法である。
論文 参考訳(メタデータ) (2024-06-18T06:52:14Z) - Exploring Continual Learning for Code Generation Models [80.78036093054855]
継続的学習(CL)は、コードドメインの中でまだ過小評価されていない重要な側面である。
コード生成,翻訳,要約,改良など,幅広いタスクをカバーするCodeTask-CLというベンチマークを導入する。
即時選択機構の不安定な訓練により,プロンプトプール (PP) などの有効手法が破滅的な忘れ込みに悩まされることが判明した。
論文 参考訳(メタデータ) (2023-07-05T16:58:39Z) - TransCoder: Towards Unified Transferable Code Representation Learning Inspired by Human Skills [31.75121546422898]
本稿では,コード表現学習のためのTransCoderについて述べる。
我々は、メタラーナーとして調整可能なプレフィックスエンコーダを用いて、クロスタスクおよびクロス言語変換可能な知識をキャプチャする。
本手法は, 各種コード関連タスクの性能向上と相互強化の促進に寄与する。
論文 参考訳(メタデータ) (2023-05-23T06:59:22Z) - Evaluation of Contrastive Learning with Various Code Representations for
Code Clone Detection [3.699097874146491]
コードスニペットの意味的クローンを検出するためのコントラスト学習の評価を行った。
CodeTransformatorを使って、競争力のあるプログラミングソリューションに基づいて、プラジャライズされたコードを模倣するデータセットを作成します。
評価の結果,提案手法は各タスクにおいて多種多様な性能を示すが,グラフベースモデルの性能は概して他のモデルよりも優れていることがわかった。
論文 参考訳(メタデータ) (2022-06-17T12:25:44Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for
Code Understanding and Generation [36.47905744758698]
我々は、開発者が指定した識別子から伝達されるコードセマンティクスをよりよく活用する、事前訓練されたエンコーダ-デコーダ変換モデルであるCodeT5を提案する。
我々のモデルは、コード理解と生成タスクの両方をシームレスにサポートし、マルチタスク学習を可能にする統一的なフレームワークを採用している。
論文 参考訳(メタデータ) (2021-09-02T12:21:06Z) - InferCode: Self-Supervised Learning of Code Representations by
Predicting Subtrees [17.461451218469062]
本稿では,自己言語学習機構をソースコードモデルに適用することにより,制限を克服するinfercodeを提案する。
ASTのサブツリーは、人間のラベル付けや高価なグラフ構築のオーバーヘッドなしにコード表現をトレーニングするためのラベルとして、InferCodeで扱われる。
Code2Vec、Code2Seq、ASTNNなど、同じ下流タスクに適用される以前のコード学習技術と比較して、事前に訓練されたInferCodeモデルを使用して、より高いパフォーマンスを達成できます。
論文 参考訳(メタデータ) (2020-12-13T10:33:41Z) - Contrastive Code Representation Learning [95.86686147053958]
一般的な再構成に基づくBERTモデルは,ソースコードの編集に敏感であることを示す。
コントラコード(ContraCode)は、コード機能を学ぶのにフォームではなく、コントラスト的な事前学習タスクである。
論文 参考訳(メタデータ) (2020-07-09T17:59:06Z) - A Transformer-based Approach for Source Code Summarization [86.08359401867577]
コードトークン間のペア関係をモデル化することにより,要約のためのコード表現を学習する。
アプローチは単純であるにもかかわらず、最先端技術よりもかなりの差があることが示される。
論文 参考訳(メタデータ) (2020-05-01T23:29:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。