論文の概要: Recommending Variable Names for Extract Local Variable Refactorings
- arxiv url: http://arxiv.org/abs/2507.00413v1
- Date: Tue, 01 Jul 2025 03:58:43 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-03 14:22:59.264104
- Title: Recommending Variable Names for Extract Local Variable Refactorings
- Title(参考訳): 局所変数リファクタリング抽出のための変数名の再検討
- Authors: Taiming Wang, Hui Liu, Yuxia Zhang, Yanjie Jiang,
- Abstract要約: VarNamerはローカル変数を抽出する変数名を推奨する自動アプローチである。
VarNamerは、Eclipseと比較して52.6%、IntelliJ IDEAに比べて40.7%、正確なマッチングの可能性を大幅に向上させた。
- 参考スコア(独自算出の注目度): 4.6621580809860514
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Extract local variable is one of the most popular refactorings, and most IDEs and refactoring tools provide automated support for this refactoring. However, we find approximately 70% of the names recommended by these IDEs are different from what developers manually constructed, adding additional renaming burdens to developers and providing limited assistance. In this paper, we introduce VarNamer, an automated approach designed to recommend variable names for extract local variable refactorings. Through a large-scale empirical study, we identify key contexts that are useful for composing variable names. Leveraging these insights, we developed a set of heuristic rules through program static analysis techniques and employ data mining techniques to recommend variable names effectively. Notably, some of our heuristic rules have been successfully integrated into Eclipse, where they are now distributed with the latest releases of the IDE. Evaluation demonstrates its superiority over state-of-the-art IDEs. Specifically, VarNamer significantly increases the chance of exact match by 52.6% compared to Eclipse and 40.7% compared to IntelliJ IDEA. We also evaluated the proposed approach with real-world extract local variable refactorings conducted in C++ projects, and the results suggest that the approach can achieve comparable performance on programming languages besides Java. It may suggest the generalizability of VarNamer. Finally, we designed and conducted a user study and the results of the user study suggest that our approach can speed up the refactoring by 27.8% and reduce 49.3% edits on the recommended variable names.
- Abstract(参考訳): ローカル変数の抽出は最も一般的なリファクタリングの1つであり、ほとんどのIDEやリファクタリングツールは、このリファクタリングを自動でサポートする。
しかし、これらのIDEによって推奨される名前の約70%は、開発者が手作業で構築したものと異なり、開発者にさらなるリネームの負担を追加し、限られた支援を提供する。
本稿では,ローカル変数リファクタリング抽出のための変数名を推奨する自動アプローチであるVarNamerを紹介する。
大規模な実証研究を通じて、変数名を構成するのに有用なキーコンテキストを同定する。
これらの知見を生かして,プログラム静的解析手法によるヒューリスティックなルールのセットを開発し,変数名を効果的に推薦するデータマイニング手法を採用した。
特に、私たちのヒューリスティックなルールのいくつかは、Eclipseにうまく統合され、IDEの最新リリースと共に配布されています。
評価は最先端のIDEよりも優れていることを示している。
具体的には、VarNamerはEclipseと比較して52.6%、IntelliJ IDEAに比べて40.7%、正確なマッチングの可能性を大幅に向上させた。
また,提案手法を実世界のC++プロジェクトで実行したローカル変数リファクタリングを抽出して評価した結果,Java以外のプログラミング言語で同等のパフォーマンスを達成できることが示唆された。
これは、VarNamerの一般化可能性を示唆するかもしれない。
最後に,ユーザスタディを設計,実施し,ユーザスタディの結果から,提案手法がリファクタリングを27.8%高速化し,推奨変数名に対する49.3%の編集を削減できることが示唆された。
関連論文リスト
- From Open-Vocabulary to Vocabulary-Free Semantic Segmentation [78.62232202171919]
オープン語彙セマンティックセグメンテーションにより、モデルはトレーニングデータ以外の新しいオブジェクトカテゴリを識別できる。
現在のアプローチは依然として入力として手動で指定されたクラス名に依存しており、現実世界のアプリケーションに固有のボトルネックを生み出している。
この研究は、定義済みのクラス語彙を必要としない、語彙自由セマンティックパイプラインを提案する。
論文 参考訳(メタデータ) (2025-02-17T15:17:08Z) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - EM-Assist: Safe Automated ExtractMethod Refactoring with LLMs [9.474820853051702]
提案を生成し、その後検証し、拡張し、ランク付けするIntelliJ IDEAプラグインであるEM-Assistを紹介します。
オープンソースプロジェクトで実施された1,752の現実世界の評価では、EM-Assistのリコール率はトップ5の中で53.4%であり、以前のベストインクラスのツールでは39.4%だった。
論文 参考訳(メタデータ) (2024-05-31T00:32:04Z) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - Together We Go Further: LLMs and IDE Static Analysis for Extract Method Refactoring [9.882903340467815]
単一のメソッドに複数の責任をカプセル化する長いメソッドはメンテナンスが難しい。
大規模言語モデル(LLM)は、大規模なコードコーパスで訓練されている。
LLMは非常に効果的であるが、信頼できない。最大76.3%は幻覚である。
論文 参考訳(メタデータ) (2024-01-27T05:01:03Z) - RefBERT: A Two-Stage Pre-trained Framework for Automatic Rename
Refactoring [57.8069006460087]
本研究では,他のリネーム活動よりも難易度の高い変数名の自動改名について検討する。
変数名に対する名前変更のための2段階事前訓練フレームワークであるRefBERTを提案する。
RefBERTの変数名は既存の手法よりも正確で有意義であることを示す。
論文 参考訳(メタデータ) (2023-05-28T12:29:39Z) - Do code refactorings influence the merge effort? [80.1936417993664]
複数のコントリビュータがソースコードを並行して変更して,新機能の実装やバグの修正,既存のコードの変更などを行っている。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
研究によると、すべてのマージの試みの10~20%が衝突を起こしており、これはプロセスを完了するために手動開発者の介入を必要とする。
論文 参考訳(メタデータ) (2023-05-10T13:24:59Z) - VarCLR: Variable Semantic Representation Pre-training via Contrastive
Learning [84.70916463298109]
VarCLRは変数名のセマンティック表現を学ぶための新しいアプローチである。
VarCLRはコントラスト学習に適しており、明示的に類似した入力間の距離を最小化することを目的としている。
VarCLRはBERTのような洗練された汎用言語モデルを効果的に適用できることを示す。
論文 参考訳(メタデータ) (2021-12-05T18:40:32Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。