論文の概要: CodeEditor: Learning to Edit Source Code with Pre-trained Models
- arxiv url: http://arxiv.org/abs/2210.17040v3
- Date: Thu, 7 Sep 2023 11:35:51 GMT
- ステータス: 処理完了
- システム内更新日: 2023-09-08 17:57:01.871705
- 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というコード編集モデルを提案する。
私たちは、多くの現実世界のコードスニペットを基礎として収集し、強力なジェネレータを使って変更したバージョンに書き直します。
我々は,4つのコード編集データセットの実験を行い,事前学習したCodeEditorを3つの設定で評価する。
- 参考スコア(独自算出の注目度): 47.736781998792
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Developers often perform repetitive code editing activities for various
reasons (e.g., code refactoring) during software development. 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 automatic code editing.
This paper proposes a novel pre-training task specialized in code editing and
presents 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 lots of real-world code
snippets as the ground truth and use a powerful generator to rewrite them into
mutated versions. Then, we pre-train our CodeEditor to edit mutated versions
into the corresponding ground truth, to learn edit patterns. We conduct
experiments on four code editing datasets and evaluate the pre-trained
CodeEditor in three settings. (1) In the fine-tuning setting, we train the
pre-trained CodeEditor with four datasets and evaluate it on the test data.
CodeEditor outperforms the SOTA baselines by 15%, 25.5%, and 9.4% and 26.6% on
four datasets. (2) In the few-shot setting, we train the pre-trained CodeEditor
with limited data and evaluate it on the test data. CodeEditor substantially
performs better than all baselines. (3) In the zero-shot setting, CodeEditor
correctly edits 1,113 programs while the SOTA baselines can not work.
- Abstract(参考訳): 開発者はソフトウェア開発において、様々な理由で反復的なコード編集活動(例えば、コードリファクタリング)を行うことが多い。
事前訓練されたコード編集モデルは、最先端(SOTA)の結果を得た。
事前トレーニングされたモデルは、まず事前トレーニングタスクで事前トレーニングされ、コード編集タスクで微調整される。
既存の事前トレーニングタスクは、主に、自然言語処理分野から派生したコードインフィルディングタスク(例えば、マスク付き言語モデリング)であり、自動コード編集用に設計されていない。
本稿では,コード編集に特化した新しい事前学習タスクを提案し,CodeEditorというコード編集モデルを提案する。
我々の事前学習タスクは、コード編集モデルの性能と一般化能力をさらに向上させる。
具体的には、多くの現実世界のコードスニペットを基礎として収集し、強力なジェネレータを使用して変更バージョンに書き換えます。
次に、CodeEditorをトレーニングして、修正されたバージョンを対応する真実に編集し、編集パターンを学ぶ。
4つのコード編集データセットの実験を行い、事前学習したCodeEditorを3つの設定で評価する。
1)微調整設定では,事前学習したCodeEditorを4つのデータセットでトレーニングし,テストデータ上で評価する。
CodeEditorは4つのデータセットでSOTAベースラインを15%、25.5%、9.4%、26.6%で上回っている。
2) 数ショット設定では,訓練済みのCodeEditorを限られたデータでトレーニングし,テストデータで評価する。
CodeEditorは、すべてのベースラインよりも大幅にパフォーマンスが向上する。
(3) ゼロショット設定では, sotaベースラインが動作しない間,codeeditor は 1,113 のプログラムを正しく編集する。
関連論文リスト
- 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。