論文の概要: AdaptivePaste: Code Adaptation through Learning Semantics-aware Variable
Usage Representations
- arxiv url: http://arxiv.org/abs/2205.11023v3
- Date: Fri, 6 Oct 2023 17:24:12 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-13 16:51:42.447171
- Title: AdaptivePaste: Code Adaptation through Learning Semantics-aware Variable
Usage Representations
- Title(参考訳): AdaptivePaste: 意味論的学習によるコード適応
- Authors: Xiaoyu Liu, Jinu Jang, Neel Sundaresan, Miltiadis Allamanis, Alexey
Svyatkovskiy
- Abstract要約: 本稿では、ソースコード適応のための学習ベースのアプローチであるAdaptivePasteを紹介する。
我々はPythonのコードスニペットのデータセット上でAdaptivePasteを評価する。
結果は,79.8%の精度でソースコードを適応させることが可能であることを示唆している。
- 参考スコア(独自算出の注目度): 22.52158623717161
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: In software development, it is common for programmers to copy-paste or port
code snippets and then adapt them to their use case. This scenario motivates
the code adaptation task -- a variant of program repair which aims to adapt
variable identifiers in a pasted snippet of code to the surrounding,
preexisting source code. However, no existing approach has been shown to
effectively address this task. In this paper, we introduce AdaptivePaste, a
learning-based approach to source code adaptation, based on transformers and a
dedicated dataflow-aware deobfuscation pre-training task to learn meaningful
representations of variable usage patterns. We evaluate AdaptivePaste on a
dataset of code snippets in Python. Results suggest that our model can learn to
adapt source code with 79.8% accuracy. To evaluate how valuable is
AdaptivePaste in practice, we perform a user study with 10 Python developers on
a hundred real-world copy-paste instances. The results show that AdaptivePaste
reduces the dwell time to nearly half the time it takes for manual code
adaptation, and helps to avoid bugs. In addition, we utilize the participant
feedback to identify potential avenues for improvement of AdaptivePaste.
- Abstract(参考訳): ソフトウェア開発では、プログラマがコードスニペットをコピーペーストしたり移植したりして、ユースケースに適用することが一般的です。
このシナリオは、コード適応タスクを動機付けます -- 既存のソースコードにペーストされたコードのスニペット内の変数識別子を適応させることを目的とした、プログラム修正の亜種です。
しかし、この課題に効果的に取り組むための既存のアプローチは示されていない。
本稿では,トランスフォーマをベースとしたソースコード適応学習手法であるAdaptivePasteと,変数使用パターンの有意義な表現を学習するための専用データフロー対応難読化事前学習タスクを紹介する。
我々はPythonのコードスニペットのデータセット上でAdaptivePasteを評価する。
その結果、我々のモデルは79.8%の精度でソースコードを適応させることを学べることが示唆された。
AdaptivePasteが実際にどれほど価値があるかを評価するために、100の現実世界のコピーペーストインスタンス上で、10人のPython開発者とユーザスタディを実施します。
その結果,adaptivepasteでは,手作業によるコード適応に要する時間のほぼ半分に削減でき,バグの回避に役立ちます。
また,AdaptivePasteの改善のために,参加者からのフィードバックを用いて潜在的経路を特定する。
関連論文リスト
- Task-recency bias strikes back: Adapting covariances in Exemplar-Free Class Incremental Learning [0.3281128493853064]
過去のデータにアクセスせずにタスクのシーケンス上でモデルをトレーニングする問題に対処する。
既存の方法は、特徴抽出器の潜在空間におけるガウス分布としてクラスを表す。
本稿では,タスクからタスクへ共分散行列を適用する新しい手法であるAdaGaussを提案する。
論文 参考訳(メタデータ) (2024-09-26T20:18:14Z) - Adaptive Adapter Routing for Long-Tailed Class-Incremental Learning [55.384428765798496]
新しいデータは、Eコマースプラットフォームレビューのような、長期にわたる流通を示す。
これは、忘れずに不均衡なデータを連続的なモデルで学習する必要がある。
LTCILの例として,AdaPtive Adapter Routing (APART) を提案する。
論文 参考訳(メタデータ) (2024-09-11T17:52:00Z) - Contrastive Difference Predictive Coding [79.74052624853303]
本研究では、時系列データの断片を縫合して、将来の事象の予測を学習するために必要なデータの量を減少させるコントラッシブ予測符号化の時間差版を導入する。
目的条件付きRLの非政治アルゴリズムを導出するために,この表現学習手法を適用した。
論文 参考訳(メタデータ) (2023-10-31T03:16:32Z) - CAFA: Class-Aware Feature Alignment for Test-Time Adaptation [50.26963784271912]
テスト時間適応(TTA)は、テスト時にラベルのないデータにモデルを適応させることによって、この問題に対処することを目的としている。
本稿では,クラス認識特徴アライメント(CAFA, Class-Aware Feature Alignment)と呼ばれる単純な機能アライメント損失を提案する。
論文 参考訳(メタデータ) (2022-06-01T03:02:07Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - Break-It-Fix-It: Unsupervised Learning for Program Repair [90.55497679266442]
我々は2つの重要なアイデアを持つ新しいトレーニング手法であるBreak-It-Fix-It (BIFI)を提案する。
批判者は、実際の悪い入力でフィクスダーの出力をチェックし、トレーニングデータに良い(固定された)出力を追加する。
これらのアイデアに基づいて、よりペア化されたデータを生成するために、ブレーカとフィクスチャを同時に使用しながら、繰り返し更新する。
BIFIは既存のメソッドより優れており、GitHub-Pythonで90.5%、DeepFixで71.7%の修正精度がある。
論文 参考訳(メタデータ) (2021-06-11T20:31:04Z) - Unsupervised Learning of General-Purpose Embeddings for Code Changes [6.652641137999891]
事前学習中にコード変更の埋め込みを得る手法を提案する。
コードの変更とコミットメッセージ生成という、2つの異なる下流タスクでそれらを評価します。
本モデルでは,完全編集シーケンスを用いたモデルの精度を5.9ポイント向上させる。
論文 参考訳(メタデータ) (2021-06-03T19:08:53Z) - Evaluating Prediction-Time Batch Normalization for Robustness under
Covariate Shift [81.74795324629712]
我々は予測時間バッチ正規化と呼び、共変量シフト時のモデル精度とキャリブレーションを大幅に改善する。
予測時間バッチ正規化は、既存の最先端アプローチに相補的な利点をもたらし、ロバスト性を向上させることを示します。
この手法は、事前トレーニングと併用して使用すると、さまざまな結果が得られるが、より自然なタイプのデータセットシフトでは、パフォーマンスが良くないようだ。
論文 参考訳(メタデータ) (2020-06-19T05:08:43Z) - On-the-Fly Adaptation of Source Code Models using Meta-Learning [28.98699307030983]
文脈適応の問題はメタラーニングの問題である。
我々は、欠落したトークンの予測を改善するために、ファイル内の情報から最もよく学習できるベースソースコードモデルを訓練する。
大規模なJava GitHubコーパスの実験において、パフォーマンスの改善を実証した。
論文 参考訳(メタデータ) (2020-03-26T07:11:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。