論文の概要: Together We Go Further: LLMs and IDE Static Analysis for Extract Method
Refactoring
- arxiv url: http://arxiv.org/abs/2401.15298v1
- Date: Sat, 27 Jan 2024 05:01:03 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-30 19:02:56.211294
- Title: Together We Go Further: LLMs and IDE Static Analysis for Extract Method
Refactoring
- Title(参考訳): LLMとIDE静的解析による抽出メソッドリファクタリング
- Authors: Dorin Pomian, Abhiram Bellur, Malinda Dilhara, Zarina Kurbatova, Egor
Bogomolov, Timofey Bryksin, Danny Dig
- Abstract要約: 抽出方法(Extract Method)と呼ばれるマークは、2つのフェーズから構成される: (i)抽出するステートメントを選択し、 (ii)これを実行するためのメカニクスを適用する。
本稿では,抽出手法の力でソフトウェア開発ツールの能力を増強するEM-Assistを紹介する。
- 参考スコア(独自算出の注目度): 10.37848865054563
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Excessively long methods that encapsulate multiple responsibilities within a
single method are challenging to comprehend, debug, reuse, and maintain. The
solution to this problem, a hallmark refactoring called Extract Method,
consists of two phases: (i) choosing the statements to extract and (ii)
applying the mechanics to perform this refactoring. While the application part
has been a staple feature of all modern IDEs, they leave it up to developers to
choose the statements to extract. Choosing which statements are profitable to
extract has been the subject of many research tools that employ hard-coded
rules to optimize software quality metrics. Despite steady improvements, these
tools often fail to generate refactorings that align with developers'
preferences and acceptance criteria. In this paper, we introduce EM-Assist, a
tool that augments the refactoring capabilities of IDEs with the power of LLMs
to perform Extract Method refactoring. We empirically evaluated EM-Assist on a
diverse, publicly available corpus that other researchers used in the past. The
results show that EM-Assist outperforms previous state-of-the-art tools: at 1%
tolerance, EM-Assist suggests the correct refactoring among its top-5
suggestions 60.6% of the time, compared to 54.2% reported by existing ML
models, and 52.2% reported by existing static analysis tools. When we
replicated 2,849 actual Extract Method instances from open-source projects,
EM-Assist's recall rate was 42.1% compared to 6.5% for its peers. Furthermore,
we conducted warehouse surveys with 20 industrial developers and suggested
refactorings on their recent commits. 81.3% of the respondents agreed with the
recommendations provided by EM-Assist. This shows the usefulness of our
approach and ushers us into a new era of refactoring when LLMs.
- Abstract(参考訳): ひとつのメソッドに複数の責任をカプセル化する非常に長いメソッドは、理解、デバッグ、再利用、保守が難しい。
この問題の解決策は、Extract Methodと呼ばれるマークリファクタリングで、2つのフェーズから構成される。
(i)抽出すべき文を選択すること、及び
(ii)このリファクタリングを行うために機械を適用すること。
アプリケーション部分は、現代のすべてのideにとって重要な機能ですが、開発者は抽出するステートメントを選択する必要があります。
ソフトウェア品質のメトリクスを最適化するためにハードコードルールを使用する多くの研究ツールでは、どのステートメントを抽出して利益を得るかを選択することが重要になっている。
着実に改善されているにも関わらず、これらのツールは多くの場合、開発者の好みや受け入れ基準に合致したリファクタリングの生成に失敗する。
本稿では,LLMの力でIDEのリファクタリング機能を強化し,抽出メソッドのリファクタリングを行うEM-Assistを紹介する。
EM-Assistを他の研究者が過去に使用した多種多様な公開コーパスで実証的に評価した。
EM-Assistは、既存のMLモデルで報告された54.2%、既存の静的解析ツールで報告された52.2%に対して、上位5つの提案のうち正しいリファクタリングを示唆している。
オープンソースプロジェクトから2,849の実際の抽出メソッドインスタンスを複製したとき、EM-Assistのリコール率は6.5%に対して42.1%だった。
さらに,20人の産業開発者を対象に倉庫調査を実施し,最近のコミットのリファクタリングを提案する。
回答者の81.3%がEM-Assistの勧告に同意した。
このことは、我々のアプローチの有用性を示し、LLMが新しいリファクタリングの時代へと導く。
関連論文リスト
- Efficient Tool Use with Chain-of-Abstraction Reasoning [65.18096363216574]
大規模言語モデル(LLM)は、現実世界の知識に対する推論の基礎となる必要がある。
マルチステップ推論問題におけるツールの実行には,微調整LDMエージェントの課題が残されている。
マルチステップ推論におけるツールの活用方法として, LLM の新しい手法を提案する。
論文 参考訳(メタデータ) (2024-01-30T21:53:30Z) - Towards Generating Executable Metamorphic Relations Using Large Language
Models [49.632090604977364]
大規模言語モデル(LLM)を用いた要件から実行可能なMRを自動的に抽出する手法を提案する。
提案手法の有効性を評価するため,シーメンス・インダストリー・ソフトウェアと共同で質問紙調査を行った。
論文 参考訳(メタデータ) (2024-01-30T13:52:47Z) - Evidence to Generate (E2G): A Single-agent Two-step Prompting for
Context Grounded and Retrieval Augmented Reasoning [3.117335706912261]
Evidence to Generate(E2G)は、新しいシングルエージェント、2ステッププロンプトフレームワークである。
証明されていない推論の主張の代わりに、E2Gは文脈で明確に言及された思考列にのみ焦点をあてる。
ツールは、幅広い知識集約的な推論と生成タスクにおいて、顕著な結果を達成する。
論文 参考訳(メタデータ) (2024-01-11T09:49:15Z) - Behind the Intent of Extract Method Refactoring: A Systematic Literature
Review [15.194527511076725]
コードは、ソースコードの理解性と保守性を改善するために不可欠なソフトウェアエンジニアリングプラクティスとして広く認識されている。
Extract Method は、開発者がコード品質を改善するためにしばしばそれを適用するため、適用性の "Swiss Army knife" と見なされている。
近年、いくつかの研究が抽出法を推奨し、実行可能なデータ駆動の洞察の収集、分析、啓示を可能にしている。
論文 参考訳(メタデータ) (2023-12-19T21:09:54Z) - RA-DIT: Retrieval-Augmented Dual Instruction Tuning [93.42883383759025]
Retrieval-augmented Language Model (RALMs) は、外部データストアからロングテールおよび最新の知識にアクセスすることで、パフォーマンスを向上させる。
既存のアプローチでは、LM事前トレーニングに高価な検索固有の修正が必要になるか、あるいは、最適以下のパフォーマンスをもたらすデータストアのポストホック統合を使用する必要がある。
本稿では,第3の選択肢を提供する軽量な微調整手法であるRetrieval-Augmented Dual Instruction Tuning (RA-DIT)を紹介する。
論文 参考訳(メタデータ) (2023-10-02T17:16:26Z) - MINT: Evaluating LLMs in Multi-turn Interaction with Tools and Language
Feedback [78.60644407028022]
我々は,大規模言語モデルのマルチターンインタラクションによる課題解決能力を評価するベンチマークであるMINTを紹介する。
LLMは一般的に、ツールと言語フィードバックの恩恵を受けます。
LLMの評価、教師あり指導ファインタニング(SIFT)、人間からのフィードバックからの強化学習(RLHF)は、一般的にマルチターン能力を損なう。
論文 参考訳(メタデータ) (2023-09-19T15:25:42Z) - From Quantity to Quality: Boosting LLM Performance with Self-Guided Data
Selection for Instruction Tuning [54.222609226692015]
我々は大規模言語モデルのための自己誘導手法を導入し、大規模なオープンソースデータセットからサクラサンプルを自律的に識別し、選択する。
私たちの重要なイノベーションであるIFD(Instruction-Following Difficulty)メトリックは、モデルが期待する応答と自動生成技術との間の相違を識別するための重要なツールとして現れます。
論文 参考訳(メタデータ) (2023-08-23T09:45:29Z) - LmPa: Improving Decompilation by Synergy of Large Language Model and
Program Analysis [19.494171220870758]
逆コンパイルにおける顕著な課題は、変数名を復元することである。
大規模言語モデル(LLM)とプログラム解析の相乗効果を利用する新しい手法を提案する。
その結果, 回収された名前の75%は, ユーザによってよく評価されていることがわかった。
論文 参考訳(メタデータ) (2023-06-05T02:39:48Z) - ReWOO: Decoupling Reasoning from Observations for Efficient Augmented
Language Models [32.95155349925248]
本稿では,外部観測から推論プロセスを取り除き,トークン消費量を大幅に削減するモジュラーパラダイムReWOOを提案する。
マルチステップ推論ベンチマークであるHotpotQAにおいて,ReWOOは5倍のトークン効率と4%の精度向上を実現している。
本稿では,175B GPT3.5から7B LLaMAへの推論能力をオフロードし,真に効率的でスケーラブルなALMシステムの可能性を示す。
論文 参考訳(メタデータ) (2023-05-23T00:16:48Z) - Reinforcement Learning for Branch-and-Bound Optimisation using
Retrospective Trajectories [72.15369769265398]
機械学習は分岐のための有望なパラダイムとして登場した。
分岐のための単純かつ効果的なRLアプローチであるレトロ分岐を提案する。
我々は現在最先端のRL分岐アルゴリズムを3~5倍に上回り、500の制約と1000の変数を持つMILP上での最高のILメソッドの性能の20%以内である。
論文 参考訳(メタデータ) (2022-05-28T06:08:07Z) - Toward the Automatic Classification of Self-Affirmed Refactoring [22.27416971215152]
SAR(Self-Affirmed Refactoring)は、開発者がコミットメッセージでアクティビティをドキュメント化する方法について調査するために導入された。
まず、コミットが開発者関連の事象を記述しているかを識別し、共通の品質改善カテゴリに従って分類する2段階のアプローチを提案する。
我々のモデルは、コミットを正確に分類し、パターンベースのランダムアプローチより優れ、より関連する40のSARパターンを発見できる。
論文 参考訳(メタデータ) (2020-09-19T18:35:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。