論文の概要: Unsupervised Learning of General-Purpose Embeddings for Code Changes
- arxiv url: http://arxiv.org/abs/2106.02087v1
- Date: Thu, 3 Jun 2021 19:08:53 GMT
- ステータス: 処理完了
- システム内更新日: 2021-06-07 14:52:58.108176
- Title: Unsupervised Learning of General-Purpose Embeddings for Code Changes
- Title(参考訳): コード変更のための汎用埋め込みの教師なし学習
- Authors: Mikhail Pravilov, Egor Bogomolov, Yaroslav Golubev, Timofey Bryksin
- Abstract要約: 事前学習中にコード変更の埋め込みを得る手法を提案する。
コードの変更とコミットメッセージ生成という、2つの異なる下流タスクでそれらを評価します。
本モデルでは,完全編集シーケンスを用いたモデルの精度を5.9ポイント向上させる。
- 参考スコア(独自算出の注目度): 6.652641137999891
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: A lot of problems in the field of software engineering - bug fixing, commit
message generation, etc. - require analyzing not only the code itself but
specifically code changes. Applying machine learning models to these tasks
requires us to create numerical representations of the changes, i.e.
embeddings. Recent studies demonstrate that the best way to obtain these
embeddings is to pre-train a deep neural network in an unsupervised manner on a
large volume of unlabeled data and then further fine-tune it for a specific
task.
In this work, we propose an approach for obtaining such embeddings of code
changes during pre-training and evaluate them on two different downstream tasks
- applying changes to code and commit message generation. The pre-training
consists of the model learning to apply the given change (an edit sequence) to
the code in a correct way, and therefore requires only the code change itself.
To increase the quality of the obtained embeddings, we only consider the
changed tokens in the edit sequence. In the task of applying code changes, our
model outperforms the model that uses full edit sequences by 5.9 percentage
points in accuracy. As for the commit message generation, our model
demonstrated the same results as supervised models trained for this specific
task, which indicates that it can encode code changes well and can be improved
in the future by pre-training on a larger dataset of easily gathered code
changes.
- Abstract(参考訳): ソフトウェアエンジニアリングの分野では、バグ修正、コミットメッセージ生成など、多くの問題が発生しています。
コード自体だけでなく、特にコードの変更を分析する必要がある。
これらのタスクに機械学習モデルを適用するには、変更の数値表現を作成する必要がある。
埋め込み。
最近の研究では、これらの埋め込みを得る最善の方法は、大量のラベルのないデータに対して教師なしの方法でディープニューラルネットワークを事前学習し、それを特定のタスクのためにさらに微調整することである。
本研究では,事前トレーニング中にコード変更の埋め込みを取得し,2つの異なる下流タスク - コードへの変更適用とコミットメッセージ生成 - で評価する手法を提案する。
事前トレーニングは、与えられた変更(編集シーケンス)を正しい方法でコードに適用するためのモデル学習で構成されている。
得られた埋め込みの質を高めるために、編集シーケンスにおける変更トークンのみを考慮する。
コード変更を行うタスクでは,完全編集シーケンスを用いたモデルよりも精度が5.9ポイント向上する。
コミットメッセージ生成に関しては、この特定のタスクのためにトレーニングされた教師付きモデルと同じ結果を示しており、コード変更をうまくエンコードでき、コード変更の大規模なデータセットを事前学習することで将来改善できることを示している。
関連論文リスト
- CCBERT: Self-Supervised Code Change Representation Learning [14.097775709587475]
CCBERTは新しいTransformerベースの事前トレーニングモデルで、巨大なラベルなしコード変更を含む大規模なデータセットに基づいて、コード変更の汎用表現を学ぶ。
実験の結果,CCBERT は CC2Vec や,下流タスクの最先端アプローチを7.7%-14.0% 上回っていることがわかった。
論文 参考訳(メタデータ) (2023-09-27T08:17:03Z) - Coeditor: Leveraging Contextual Changes for Multi-round Code Auto-editing [57.776971051512234]
本研究では,複数ラウンドのコードの自動編集設定について検討し,その内部の最近の変更に基づいて,コード領域への編集を予測することを目的とした。
我々のモデルであるCoeditorは、コード編集タスクに特化して設計された微調整言語モデルである。
単純化されたシングルラウンドのシングル編集タスクでは、Coeditor は GPT-3.5 と SOTA のオープンソースコード補完モデルを大幅に上回っている。
論文 参考訳(メタデータ) (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) - Enriching Source Code with Contextual Data for Code Completion Models:
An Empirical Study [4.438873396405334]
コンテクストデータを用いてコードを理解しやすくすることで、コード補完作業のための事前学習された言語モデルの性能が向上するかどうかを問う。
コメントについては、マルチラインコメントの存在下でモデルの性能が向上していることが分かる。
論文 参考訳(メタデータ) (2023-04-24T17:09:14Z) - CCRep: Learning Code Change Representations via Pre-Trained Code Model
and Query Back [8.721077261941236]
この研究は、CCRepという新しいコード変更表現学習手法を提案する。
CCRepは、さまざまな下流タスクのための機能ベクトルとして、コード変更をエンコードすることを学ぶ。
CCRepをコミットメッセージ生成、パッチの正当性評価、ジャスト・イン・タイム欠陥予測の3つのタスクに適用する。
論文 参考訳(メタデータ) (2023-02-08T07:43:55Z) - CodeExp: Explanatory Code Document Generation [94.43677536210465]
既存のコード・トゥ・テキスト生成モデルは、コードの高レベルな要約のみを生成する。
我々は、コードのための高品質な説明記述の基準を特定するために、人間の研究を行う。
タスクのための多段階微調整戦略とベースラインモデルを提案する。
論文 参考訳(メタデータ) (2022-11-25T18:05:44Z) - Aging with GRACE: Lifelong Model Editing with Discrete Key-Value
Adaptors [53.819805242367345]
本稿では,展開モデルのストリーミングエラーにスポットフィックスを実装した生涯モデル編集手法であるGRACEを提案する。
GRACEはトレーニング済みモデルの潜在空間に新しいマッピングを記述し、モデルの重みを変更することなく、個別にローカルな編集のコードブックを作成する。
T5,BERT,GPTモデルを用いた実験では,非表示入力に一般化しつつ,編集および保持におけるGRACEの最先端性能を示す。
論文 参考訳(メタデータ) (2022-11-20T17:18:22Z) - CodeEditor: Learning to Edit Source Code with Pre-trained Models [47.736781998792]
本稿では,CodeEditorというコード編集モデルを提案する。
私たちは、多くの現実世界のコードスニペットを基礎として収集し、強力なジェネレータを使って変更したバージョンに書き直します。
我々は,4つのコード編集データセットの実験を行い,事前学習したCodeEditorを3つの設定で評価する。
論文 参考訳(メタデータ) (2022-10-31T03:26:33Z) - Editing Factual Knowledge in Language Models [51.947280241185]
本稿では,この知識を編集する手法であるKnowledgeEditorを提案する。
knowledgeeditorは計算効率が高いだけでなく、lm事前トレーニングの修正も必要としない。
2つの一般的なアーキテクチャと知識集約型タスクで、KnowledgeEditorの有効性を示します。
論文 参考訳(メタデータ) (2021-04-16T15:24:42Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。