論文の概要: EM-Assist: Safe Automated ExtractMethod Refactoring with LLMs
- arxiv url: http://arxiv.org/abs/2405.20551v1
- Date: Fri, 31 May 2024 00:32:04 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-03 15:55:52.611330
- Title: EM-Assist: Safe Automated ExtractMethod Refactoring with LLMs
- Title(参考訳): EM-Assist: LLMによる安全な自動抽出手法
- Authors: Dorin Pomian, Abhiram Bellur, Malinda Dilhara, Zarina Kurbatova, Egor Bogomolov, Andrey Sokolov, Timofey Bryksin, Danny Dig,
- Abstract要約: 提案を生成し、その後検証し、拡張し、ランク付けするIntelliJ IDEAプラグインであるEM-Assistを紹介します。
オープンソースプロジェクトで実施された1,752の現実世界の評価では、EM-Assistのリコール率はトップ5の中で53.4%であり、以前のベストインクラスのツールでは39.4%だった。
- 参考スコア(独自算出の注目度): 9.474820853051702
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Excessively long methods, loaded with multiple responsibilities, are challenging to understand, debug, reuse, and maintain. The solution lies in the widely recognized Extract Method refactoring. While the application of this refactoring is supported in modern IDEs, recommending which code fragments to extract has been the topic of many research tools. However, they often struggle to replicate real-world developer practices, resulting in recommendations that do not align with what a human developer would do in real life. To address this issue, we introduce EM-Assist, an IntelliJ IDEA plugin that uses LLMs to generate refactoring suggestions and subsequently validates, enhances, and ranks them. Finally, EM-Assist uses the IntelliJ IDE to apply the user-selected recommendation. In our extensive evaluation of 1,752 real-world refactorings that actually took place in open-source projects, EM-Assist's recall rate was 53.4% among its top-5 recommendations, compared to 39.4% for the previous best-in-class tool that relies solely on static analysis. Moreover, we conducted a usability survey with 18 industrial developers and 94.4% gave a positive rating.
- Abstract(参考訳): 複数の責任を負った過剰な長いメソッドは、理解し、デバッグし、再利用し、メンテナンスすることが難しい。
解決策は広く認知されている抽出メソッドのリファクタリングにあります。
このリファクタリングのアプリケーションは現代的なIDEでサポートされているが、どのコードフラグメントを抽出するかを推奨することが、多くの研究ツールのトピックとなっている。
しかしながら、現実の開発者のプラクティスを再現するのに苦労することが多く、結果として、人間の開発者が現実の世界でやることと一致しないレコメンデーションが生まれます。
この問題に対処するために,リファクタリング提案の生成にLLMを使用するIntelliJ IDEAプラグインであるEM-Assistを導入する。
最後に、EM-AssistはIntelliJ IDEを使用してユーザ選択のレコメンデーションを適用する。
オープンソースのプロジェクトで実際に行われた1,752件の現実世界のリファクタリングに関する大規模な評価では、EM-Assistのリコール率はトップ5のリコメンデーションのうち53.4%であり、静的解析のみに依存した以前のベストインクラスのツールでは39.4%であった。
さらに,18の産業開発者,94.4%が肯定的な評価を受けたユーザビリティ調査を行った。
関連論文リスト
- An Empirical Study on the Potential of LLMs in Automated Software Refactoring [9.157968996300417]
自動ソフトウェアにおける大規模言語モデル(LLM)の可能性について検討する。
私たちは、ChatGPTが提案した176のソリューションのうち13と、Geminiが提案した137のソリューションのうち9が、ソースコードの機能を変更したり、構文エラーを導入したりすることを安全でないことに気付きました。
論文 参考訳(メタデータ) (2024-11-07T05:35:55Z) - Context-Enhanced LLM-Based Framework for Automatic Test Refactoring [10.847400457238423]
テストの臭いは、設計プラクティスの貧弱さとドメイン知識の不足から生じます。
我々は,Javaプロジェクトにおける自動テストのための文脈拡張型LLMベースのフレームワークUTRefactorを提案する。
6つのオープンソースのJavaプロジェクトから879のテストに対してUTRefactorを評価し、テストの匂いを2,375から265に減らし、89%の削減を実現した。
論文 参考訳(メタデータ) (2024-09-25T08:42:29Z) - SORRY-Bench: Systematically Evaluating Large Language Model Safety Refusal Behaviors [64.9938658716425]
安全でないユーザリクエストを認識して拒否する、大規模な言語モデル(LLM)の既存の評価は、3つの制限に直面している。
まず、既存の手法では、安全でないトピックの粗い粒度を使い、いくつかのきめ細かいトピックを過剰に表現している。
第二に、プロンプトの言語的特徴とフォーマッティングは、様々な言語、方言など、多くの評価において暗黙的にのみ考慮されているように、しばしば見過ごされる。
第3に、既存の評価は大きなLCMに頼っているため、コストがかかる可能性がある。
論文 参考訳(メタデータ) (2024-06-20T17:56:07Z) - UMBRELA: UMbrela is the (Open-Source Reproduction of the) Bing RELevance Assessor [51.20527342770299]
UMBRELAはオープンソースツールキットで、OpenAIのGPT-4oモデルを使ってThomasらの結果を再現する。
我々のツールキットは、容易に研究できるように設計されており、既存の多段階検索および評価パイプラインに統合することができる。
UMBRELAはTREC 2024RAGトラックで、関連性評価を支援するために使用される。
論文 参考訳(メタデータ) (2024-06-10T17:58:29Z) - Let Me Do It For You: Towards LLM Empowered Recommendation via Tool Learning [57.523454568002144]
大きな言語モデル(LLM)は、常識的な推論と外部ツールの活用の能力を示している。
ツール学習を通じてLLMを活用したレコメンデーションのためのフレームワークであるToolRecを紹介する。
属性の粒度を探索するプロセスとして推薦プロセスを定式化する。
属性指向ツールには,ランクツールと検索ツールの2種類がある。
論文 参考訳(メタデータ) (2024-05-24T00:06:54Z) - User Centric Evaluation of Code Generation Tools [2.8115477071897788]
本稿では,大規模言語モデル(LLM)のユーザビリティを評価するために,ユーザ中心の手法を提案する。
ベンチマークのテストケースにメタデータが含まれており、その使用を記述し、LLMの使用を模倣する多段階的なプロセスでテストを実行し、ユーザビリティを反映した品質属性セットに基づいてLLM生成ソリューションを測定し、ツールとしてLLMを使用する際のユーザエクスペリエンスに基づいたパフォーマンスを評価する。
論文 参考訳(メタデータ) (2024-02-05T15:56:19Z) - 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) - Do-Not-Answer: A Dataset for Evaluating Safeguards in LLMs [59.596335292426105]
本稿では,大規模な言語モデルにおけるセーフガードを評価するための,最初のオープンソースデータセットを収集する。
我々は、自動安全性評価において、GPT-4に匹敵する結果を得るために、BERTライクな分類器をいくつか訓練する。
論文 参考訳(メタデータ) (2023-08-25T14:02:12Z) - Empirical Evaluation of a Live Environment for Extract Method
Refactoring [0.0]
我々は,抽出手法を視覚的に識別し,推奨し,適用するLive Refactoring Environmentを開発した。
私たちの結果は、追加の助けなしに手作業で行うコードとは大きく異なり、改善されました。
論文 参考訳(メタデータ) (2023-07-20T16:36:02Z) - Self-Refine: Iterative Refinement with Self-Feedback [62.78755306241981]
Self-Refineは、反復的なフィードバックと改善を通じて、大きな言語モデル(LLM)からの初期出力を改善するアプローチである。
GPT-3.5, ChatGPT, および GPT-4) LLM を用いて, 対話応答生成から数学的推論に至るまで, 7 つのタスクにまたがる自己決定性を評価する。
我々の研究は、GPT-4のような最先端のLCMでさえ、単純でスタンドアロンなアプローチを使用してテスト時にさらに改善できることを示します。
論文 参考訳(メタデータ) (2023-03-30T18:30:01Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。