論文の概要: RefModel: Detecting Refactorings using Foundation Models
- arxiv url: http://arxiv.org/abs/2507.11346v1
- Date: Tue, 15 Jul 2025 14:20:56 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-16 19:46:03.14958
- Title: RefModel: Detecting Refactorings using Foundation Models
- Title(参考訳): RefModel: ファンデーションモデルによるリファクタリングの検出
- Authors: Pedro Simões, Rohit Gheyi, Rian Melo, Jonhnanthan Oliveira, Márcio Ribeiro, Wesley K. G. Assunção,
- Abstract要約: 本稿では,RefModel というツールで実装された基礎モデルによる検出の実現可能性について検討する。
Phi4-14B と Claude 3.5 Sonnet を,人工的に生成した Java プログラムに適用した 858 個の単一動作変換のデータセット上で評価した。
実世界の環境では、Claude 3.5 SonnetとGemini 2.5 Proが共同で、すべてのトランスフォーメーションの97%を特定し、最高のパフォーマンスの静的分析ベースのツールを上回った。
- 参考スコア(独自算出の注目度): 2.2670483018110366
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Refactoring is a common software engineering practice that improves code quality without altering program behavior. Although tools like ReExtractor+, RefactoringMiner, and RefDiff have been developed to detect refactorings automatically, they rely on complex rule definitions and static analysis, making them difficult to extend and generalize to other programming languages. In this paper, we investigate the viability of using foundation models for refactoring detection, implemented in a tool named RefModel. We evaluate Phi4-14B, and Claude 3.5 Sonnet on a dataset of 858 single-operation transformations applied to artificially generated Java programs, covering widely-used refactoring types. We also extend our evaluation by including Gemini 2.5 Pro and o4-mini-high, assessing their performance on 44 real-world refactorings extracted from four open-source projects. These models are compared against RefactoringMiner, RefDiff, and ReExtractor+. RefModel is competitive with, and in some cases outperform, traditional tools. In real-world settings, Claude 3.5 Sonnet and Gemini 2.5 Pro jointly identified 97% of all refactorings, surpassing the best-performing static-analysis-based tools. The models showed encouraging generalization to Python and Golang. They provide natural language explanations and require only a single sentence to define each refactoring type.
- Abstract(参考訳): リファクタリング(Refactoring)は、プログラムの振る舞いを変えることなくコード品質を改善する一般的なソフトウェアエンジニアリングプラクティスである。
ReExtractor+、RefactoringMiner、RefDiffといったツールはリファクタリングを自動的に検出するために開発されているが、それらは複雑なルール定義と静的解析に依存しており、他のプログラミング言語に拡張して一般化することは困難である。
本稿では,RefModel というツールに実装したファウンデーションモデルを用いたリファクタリング検出の実現可能性について検討する。
Phi4-14B と Claude 3.5 Sonnet を,人工的に生成した Java プログラムに適用した 858 個の単一動作変換のデータセット上で評価した。
Gemini 2.5 Proとo4-mini-highを含めることで評価を拡張し、4つのオープンソースプロジェクトから抽出された44の現実世界のリファクタリングのパフォーマンスを評価しました。
これらのモデルはRefactoringMiner、RefDiff、ReExtractor+と比較される。
RefModelは競争力があり、場合によっては従来のツールよりも優れています。
実世界の環境では、Claude 3.5 SonnetとGemini 2.5 Proが共同ですべてのリファクタリングの97%を特定し、最高のパフォーマンスの静的分析ベースのツールを上回った。
モデルにはPythonとGolangの一般化が奨励された。
自然言語の説明を提供し、各リファクタリングタイプを定義するのに1つの文しか必要としない。
関連論文リスト
- Refactoring $\
eq$ Bug-Inducing: Improving Defect Prediction with Code Change Tactics Analysis [54.361900378970134]
Just-in-time defect prediction (JIT-DP) は、早期にソフトウェア欠陥を引き起こすコード変更の可能性を予測することを目的としている。
これまでの研究は、その頻度にもかかわらず、評価フェーズと方法論フェーズの両方でコードを無視してきた。
JIT-Defects4Jデータセットのラベリング精度を13.7%向上させるコードと伝播を分類するためのCode chAnge Tactics (CAT)解析を提案する。
論文 参考訳(メタデータ) (2025-07-25T23:29:25Z) - Assessing the Bug-Proneness of Refactored Code: A Longitudinal Multi-Project Study [43.65862440745159]
リファクタリングはソフトウェア開発で一般的なプラクティスで、内部のコード構造を改善して、理解と修正を容易にすることを目的としています。
しばしば、コードがバグに弱いと仮定される。
しかし、実際には複雑なタスクであり、異なる方法で適用されている。そのため、不注意にもコードをバグに陥れやすいものにすることができる。
論文 参考訳(メタデータ) (2025-05-12T19:12:30Z) - Refactoring Detection in C++ Programs with RefactoringMiner++ [45.045206894182776]
RefactoringMiner++は、現在の技術状況に基づいた検出ツールである。
後者はJavaに特化していますが、私たちのツールには、私たちの知る限り、C++プロジェクトで最初に公開された検出ツールがシードされています。
論文 参考訳(メタデータ) (2025-02-24T23:17:35Z) - Automated Refactoring of Non-Idiomatic Python Code: A Differentiated Replication with LLMs [54.309127753635366]
本研究は, GPT-4の有効性について検討し, 慣用行動の推奨と示唆について検討した。
この結果から,従来は複雑なコード解析に基づくレコメンデータの実装が求められていた,LCMの課題達成の可能性が浮き彫りになった。
論文 参考訳(メタデータ) (2025-01-28T15:41:54Z) - Testing Refactoring Engine via Historical Bug Report driven LLM [6.852749659993347]
リファクタリングは、外部の振る舞いを変えることなく、既存のコードを再構築するプロセスである。
自動エンジンテストのためのフレームワークであるRETESTERを提案する。
論文 参考訳(メタデータ) (2025-01-16T23:31:49Z) - 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) - 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) - How We Refactor and How We Document it? On the Use of Supervised Machine
Learning Algorithms to Classify Refactoring Documentation [25.626914797750487]
リファクタリングは、外部の振る舞いを変えることなく、システムの設計を改善する技術である。
この研究はコミットを、従来のBugFixやFunctionalのカテゴリとともに、内部QA、外部QA、Code Smell Resolutionの3つのカテゴリに分類する。
分類結果をよりよく理解するために、私たちはコミットメッセージを分析して、開発者が定期的に臭いを説明するために使用するパターンを抽出しました。
論文 参考訳(メタデータ) (2020-10-26T20:33:17Z) - Toward the Automatic Classification of Self-Affirmed Refactoring [22.27416971215152]
SAR(Self-Affirmed Refactoring)は、開発者がコミットメッセージでアクティビティをドキュメント化する方法について調査するために導入された。
まず、コミットが開発者関連の事象を記述しているかを識別し、共通の品質改善カテゴリに従って分類する2段階のアプローチを提案する。
我々のモデルは、コミットを正確に分類し、パターンベースのランダムアプローチより優れ、より関連する40のSARパターンを発見できる。
論文 参考訳(メタデータ) (2020-09-19T18:35:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。