論文の概要: CodeEditor: Learning to Edit Source Code with Pre-trained Models
- arxiv url: http://arxiv.org/abs/2210.17040v1
- Date: Mon, 31 Oct 2022 03:26:33 GMT
- ステータス: 処理完了
- システム内更新日: 2022-11-01 18:39:38.940815
- Title: CodeEditor: Learning to Edit Source Code with Pre-trained Models
- Title(参考訳): CodeEditor: トレーニング済みモデルでソースコードを編集する学習
- Authors: Jia Li, Ge Li, Zhuo Li, Zhi Jin, Xing Hu, Kechi Zhang, Zhiyi Fu
- Abstract要約: 本稿では,コード編集に特化した事前学習タスクを提案し,CodeEditorというコード編集モデルを提案する。
現実のコードスニペットを基礎として収集し、ジェネレータを使用してそれらを自然だが劣ったバージョンに書き直します。
次に、CodeEditorを事前トレーニングして、下位バージョンを土台に編集し、編集パターンを学習します。
- 参考スコア(独自算出の注目度): 36.402372761842706
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Developers often perform repetitive code editing activities for various
reasons (e.g., code refactor) during software development. Many deep learning
models are applied to automate code editing by learning from the code editing
history. Recently, pre-trained code editing models have achieved the
state-of-the-art (SOTA) results. Pre-trained models are first pre-trained with
pre-training tasks and fine-tuned with the code editing task. Existing
pre-training tasks mainly are code infilling tasks (e.g., masked language
modeling), which are derived from the natural language processing field and are
not designed for code editing.
In this paper, we propose a pre-training task specialized in code editing and
present an effective pre-trained code editing model named CodeEditor. Our
pre-training task further improves the performance and generalization ability
of code editing models. Specifically, we collect real-world code snippets as
the ground truth and use a generator to rewrite them into natural but inferior
versions. Then, we pre-train our CodeEditor to edit inferior versions into the
ground truth, to learn edit patterns. We conduct experiments on four datasets
and evaluate models in three settings. (1) In the fine-tuning setting, we
fine-tune the pre-trained CodeEditor with four datasets. CodeEditor outperforms
SOTA baselines by 15%, 25.5%, and 9.4% and 26.6% on four datasets. (2) In the
few-shot setting, we fine-tune the pre-trained CodeEditor with limited data.
CodeEditor substantially performs better than all baselines, even outperforming
baselines that are fine-tuned with all data. (3) In the zero-shot setting, we
evaluate the pre-trained CodeEditor without fine-tuning. CodeEditor correctly
edits 1,113 programs while SOTA baselines can not work. The results prove that
the superiority of our pre-training task and the pre-trained CodeEditor is more
effective in automatic code editing.
- Abstract(参考訳): 開発者はソフトウェア開発において、様々な理由で反復的なコード編集活動(例えば、コードリファクタリング)を行うことが多い。
コード編集履歴から学習することで、コード編集を自動化するために、多くのディープラーニングモデルが適用される。
近年,事前訓練されたコード編集モデルがSOTA(State-of-the-art)の結果を得た。
事前トレーニングされたモデルは、まず事前トレーニングタスクで事前トレーニングされ、コード編集タスクで微調整される。
既存の事前トレーニングタスクは、主に、自然言語処理分野から派生したコードインフィルディングタスク(例えば、マスク付き言語モデリング)であり、コード編集用に設計されていない。
本稿では,コード編集に特化した事前学習タスクを提案し,CodeEditorというコード編集モデルを提案する。
我々の事前学習タスクは、コード編集モデルの性能と一般化能力をさらに向上させる。
具体的には、実世界のコードスニペットを基礎として収集し、ジェネレータを使用してそれらを自然だが劣ったバージョンに書き換える。
次に、CodeEditorを事前トレーニングして、下位バージョンを土台に編集し、編集パターンを学ぶ。
4つのデータセットの実験を行い、3つの設定でモデルを評価する。
1)微調整設定では,トレーニング済みのCodeEditorを4つのデータセットで微調整する。
CodeEditorは4つのデータセットでSOTAベースラインを15%、25.5%、9.4%、26.6%で上回っている。
2) 少数の設定では、訓練済みのCodeEditorに限られたデータを加えます。
codeeditorは、すべてのデータで微調整されたベースラインよりもパフォーマンスが優れています。
(3)ゼロショット設定では、微調整なしで事前訓練したCodeEditorを評価する。
CodeEditorは1,113のプログラムを正しく編集するが、SOTAのベースラインは動作しない。
その結果、事前学習タスクと事前学習したコードエディタの優位性は、自動コード編集においてより効果的であることが判明した。
関連論文リスト
- CodeEditorBench: Evaluating Code Editing Capability of Large Language Models [49.387195629660994]
コードのための大規模言語モデル(LLM)は急速に進化しており、コード編集が重要な機能として現れている。
コード編集タスクにおけるLLMの性能を厳格に評価するための評価フレームワークであるCodeEditorBenchを紹介する。
5つのソースからさまざまなコーディング課題やシナリオをキュレートし、さまざまなプログラミング言語、複雑性レベル、編集タスクをカバーしています。
論文 参考訳(メタデータ) (2024-04-04T15:49:49Z) - InstructCoder: Instruction Tuning Large Language Models for Code Editing [26.160498475809266]
ユーザインストラクションに基づいたコード編集にLLM(Large Language Models)を用いる方法について検討する。
InstructCoderは、汎用コード編集にLLMを適用するために設計された最初の命令チューニングデータセットである。
InstructCoderで微調整されたオープンソースのLLMは、コード編集の精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2023-10-31T10:15:35Z) - Coeditor: Leveraging Contextual Changes for Multi-round Code Auto-editing [57.776971051512234]
本研究では,複数ラウンドのコードの自動編集設定について検討し,その内部の最近の変更に基づいて,コード領域への編集を予測することを目的とした。
我々のモデルであるCoeditorは、コード編集タスクに特化して設計された微調整言語モデルである。
単純化されたシングルラウンドのシングル編集タスクでは、Coeditor は GPT-3.5 と SOTA のオープンソースコード補完モデルを大幅に上回っている。
論文 参考訳(メタデータ) (2023-05-29T19:57:36Z) - GrACE: Generation using Associated Code Edits [23.643567386291988]
プリトレーニング済みの大規模言語モデル(LLM)に,事前の関連編集の知識を付与する。
LLMの生成能力は、コード変更の多様性と、事前編集時のコード生成の条件付けに役立ちます。
Codex と CodeT5 の2つの有名な LLM を,ゼロショット設定と微調整設定でそれぞれ評価した。
論文 参考訳(メタデータ) (2023-05-23T14:55: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) - CoditT5: Pretraining for Source Code and Natural Language Editing [34.77621217370665]
CoditT5は、大量のソースコードと自然言語コメントで事前訓練された、ソフトウェア関連の編集タスクのための大規模な言語モデルである。
コメント更新、バグ修正、自動コードレビューなど、さまざまなダウンストリーム編集タスクを微調整します。
論文 参考訳(メタデータ) (2022-08-10T16:59:40Z) - Memory-Based Model Editing at Scale [102.28475739907498]
既存のモデルエディタは、編集対象のスコープを正確にモデル化するのに苦労する。
SERAC(Retrieval-Augmented Counterfactal Model)を用いた半パラメトリック編集を提案する。
SERACは、編集を明示的なメモリに格納し、必要に応じてベースモデルの予測を変更できるように、それらを推論することを学ぶ。
論文 参考訳(メタデータ) (2022-06-13T23:40:34Z) - Unsupervised Learning of General-Purpose Embeddings for Code Changes [6.652641137999891]
事前学習中にコード変更の埋め込みを得る手法を提案する。
コードの変更とコミットメッセージ生成という、2つの異なる下流タスクでそれらを評価します。
本モデルでは,完全編集シーケンスを用いたモデルの精度を5.9ポイント向上させる。
論文 参考訳(メタデータ) (2021-06-03T19:08:53Z) - Learning Structural Edits via Incremental Tree Transformations [102.64394890816178]
構造化データのインクリメンタルな編集(すなわち「構造的編集」)のための汎用モデルを提案する。
我々の編集者は、反復的にツリー編集(例えば、サブツリーの削除や追加)を生成し、部分的に編集されたデータに適用することを学びます。
提案したエディタを2つのソースコード編集データセットで評価した結果,提案する編集エンコーダでは,従来よりも精度が向上していることがわかった。
論文 参考訳(メタデータ) (2021-01-28T16:11:32Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。