論文の概要: ActRef: Enhancing the Understanding of Python Code Refactoring with Action-Based Analysis
- arxiv url: http://arxiv.org/abs/2505.06553v1
- Date: Sat, 10 May 2025 07:48:50 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-05-13 20:21:48.904822
- Title: ActRef: Enhancing the Understanding of Python Code Refactoring with Action-Based Analysis
- Title(参考訳): ActRef:アクションベースの分析によるPythonコードのリファクタリング理解の強化
- Authors: Siqi Wang, Xing Hu, Xin Xia, Xinyu Wang,
- Abstract要約: 本稿では,ActRefというアクションベースのリファクタリング分析フレームワークを提案する。
ActRefはdiffアクションに基づいて複数のタイプ(移動、名前変更、抽出、インライン操作など)をマイニングする。
ActRefは、コード変更アクションにフォーカスすることで、複雑なパターンを検出するPython対応のソリューションを提供する。
- 参考スコア(独自算出の注目度): 10.724563250102696
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Refactoring, the process of improving the code structure of a software system without altering its behavior, is crucial for managing code evolution in software development. Identifying refactoring actions in source code is essential for understanding software evolution and guiding developers in maintaining and improving the code quality. This study presents an action-based Refactoring Analysis Framework named ActRef, a novel algorithm designed to advance the detection and understanding of Python refactorings through a unique code change action-based analysis of code changes. ActRef mining multiple refactoring types (e.g., move, rename, extract, and inline operations) based on diff actions, covering multiple granularity levels including variable, method, class, and module levels. By focusing on the code change actions, ActRef provides a Python-adaptive solution to detect intricate refactoring patterns. Our evaluation, conducted on 1,914 manually validated refactoring instances from 136 open-source Python projects. The evaluation results show that ActRef achieves high precision(0.80) and recall(0.92), effectively identifying multiple refactoring types. Compared with leading baselines, including PyRef, PyRef with MLRefScanner, DeepSeek-R1 and ChatGPT-4, ActRef consistently demonstrates superior performance in detecting Python refactorings across various types. While matching PyRef in runtime efficiency, ActRef supports a broader spectrum of refactoring types and more refactoring mining levels. ActRef shows an effective and scalable approach for mining refactorings in dynamic Python codebases and introduces a new perspective on understanding code.
- Abstract(参考訳): リファクタリング(Refactoring)は、ソフトウェアシステムのコード構造を振る舞いを変えることなく改善するプロセスであり、ソフトウェア開発におけるコードの進化を管理するために不可欠である。
ソースコードにおけるリファクタリングアクションの特定は、ソフトウェアの進化を理解し、コード品質の維持と改善に開発者を導くために不可欠です。
本稿では,ActRefというアクションベースのリファクタリング分析フレームワークを提案する。ActRefは,ユニークなコード変更アクションベースのコード変更解析を通じて,Pythonリファクタリングの検出と理解を促進するために設計された,新しいアルゴリズムである。
ActRefはdiffアクションに基づいて複数のリファクタリングタイプ(例えば、移動、名前変更、抽出、インライン操作)をマイニングし、変数、メソッド、クラス、モジュールレベルを含む複数の粒度レベルをカバーする。
ActRefは、コード変更アクションに集中することにより、複雑なリファクタリングパターンを検出するPython適応のソリューションを提供する。
136のオープンソースPythonプロジェクトのリファクタリングインスタンスを手作業で検証した。
評価の結果,ActRefは高い精度(0.80)とリコール(0.92)を達成でき,複数のリファクタリングタイプを効果的に識別できることがわかった。
PyRef、PyRef、MLRefScanner、DeepSeek-R1、ChatGPT-4といった主要なベースラインと比較して、ActRefは、さまざまなタイプのPythonリファクタリングを検出する上で、優れたパフォーマンスを示している。
PyRefを実行時の効率でマッチングする一方で、ActRefはより広範なリファクタリングタイプとよりリファクタリングのマイニングレベルをサポートしている。
ActRefは、動的Pythonコードベースでリファクタリングをマイニングするための効果的でスケーラブルなアプローチを示し、コードを理解するための新しい視点を紹介している。
関連論文リスト
- Automated Refactoring of Non-Idiomatic Python Code: A Differentiated Replication with LLMs [54.309127753635366]
本研究は, GPT-4の有効性について検討し, 慣用行動の推奨と示唆について検討した。
この結果から,従来は複雑なコード解析に基づくレコメンデータの実装が求められていた,LCMの課題達成の可能性が浮き彫りになった。
論文 参考訳(メタデータ) (2025-01-28T15:41:54Z) - A Survey of Deep Learning Based Software Refactoring [5.716522445049744]
大量のディープラーニングベースのアプローチがソフトウェアをリファクタリングするために提案されている。
このような作品に関する包括的なレビューや、深層学習に基づくアプローチのための分類の欠如がある。
ディープラーニング技術のほとんどは、コードの臭いの検出やソリューションの推奨に使われてきた。
論文 参考訳(メタデータ) (2024-04-30T03:07:11Z) - Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based Approach [3.000496428347787]
MLRefScannerは、ML固有のものと一般的な操作の両方でコミットを特定する。
本研究は,多言語および技術的領域にわたるプログラム検出におけるML駆動型アプローチの可能性を明らかにする。
論文 参考訳(メタデータ) (2024-04-09T18:46:56Z) - 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) - State of Refactoring Adoption: Better Understanding Developer Perception
of Refactoring [5.516979718589074]
ソフトウェアライフサイクルにおける開発者の活動の文書化方法について検討する。
このようなアクティビティを自己確認リファクタリング(Self-Affirmed Refactoring, SAR)と呼びます。
本稿では,コミットが開発者関連のイベントを記述しているかどうかを,共通品質改善カテゴリに従って分類するアプローチを提案する。
論文 参考訳(メタデータ) (2023-06-09T16:38:20Z) - 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) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。