論文の概要: Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based Approach
- arxiv url: http://arxiv.org/abs/2404.06572v1
- Date: Tue, 9 Apr 2024 18:46:56 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-11 16:18:39.526098
- Title: Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based Approach
- Title(参考訳): マシンラーニングPythonプロジェクトにおけるリファクタリングのコミッションの検出: マシンラーニングベースのアプローチ
- Authors: Shayan Noei, Heng Li, Ying Zou,
- Abstract要約: MLRefScannerは、ML固有のものと一般的な操作の両方でコミットを特定する。
本研究は,多言語および技術的領域にわたるプログラム検出におけるML駆動型アプローチの可能性を明らかにする。
- 参考スコア(独自算出の注目度): 3.000496428347787
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Refactoring enhances software quality without altering its functional behaviors. Understanding the refactoring activities of developers is crucial to improving software maintainability. With the increasing use of machine learning (ML) libraries and frameworks, maximizing their maintainability is crucial. Due to the data-driven nature of ML projects, they often undergo different refactoring operations (e.g., data manipulation), for which existing refactoring tools lack ML-specific detection capabilities. Furthermore, a large number of ML libraries are written in Python, which has limited tools for refactoring detection. PyRef, a rule-based and state-of-the-art tool for Python refactoring detection, can identify 11 types of refactoring operations. In comparison, Rminer can detect 99 types of refactoring for Java projects. We introduce MLRefScanner, a prototype tool that applies machine-learning techniques to detect refactoring commits in ML Python projects. MLRefScanner identifies commits with both ML-specific and general refactoring operations. Evaluating MLRefScanner on 199 ML projects demonstrates its superior performance compared to state-of-the-art approaches, achieving an overall 94% precision and 82% recall. Combining it with PyRef further boosts performance to 95% precision and 99% recall. Our study highlights the potential of ML-driven approaches in detecting refactoring across diverse programming languages and technical domains, addressing the limitations of rule-based detection methods.
- Abstract(参考訳): リファクタリングは、機能的な振る舞いを変えることなく、ソフトウェア品質を高める。
ソフトウェアの保守性を改善するためには、開発者のリファクタリング活動を理解することが重要です。
機械学習(ML)ライブラリとフレームワークの利用が増加するにつれ、そのメンテナンス可能性の最大化が不可欠である。
MLプロジェクトのデータ駆動性のため、既存のリファクタリングツールにはML固有の検出機能がないため、さまざまなリファクタリング操作(データ操作など)を行うことが多い。
さらに、多数のMLライブラリがPythonで書かれており、リファクタリング検出のツールが限られている。
Pythonリファクタリング検出のためのルールベースで最先端のツールであるPyRefは、11種類のリファクタリング操作を識別できる。
対照的にRminerは、Javaプロジェクトの99種類のリファクタリングを検出できる。
MLRefScannerは機械学習技術を用いてML Pythonプロジェクトのリファクタリングコミットを検出するプロトタイプツールである。
MLRefScannerは、ML固有のものと一般的なリファクタリング操作の両方でコミットを特定する。
199のMLプロジェクトでMLRefScannerを評価することは、最先端のアプローチよりも優れたパフォーマンスを示し、全体的な94%の精度と82%のリコールを達成した。
PyRefと組み合わせることで、パフォーマンスはさらに95%の精度と99%のリコールに向上する。
本研究は,多種多様なプログラミング言語や技術的領域におけるリファクタリング検出におけるML駆動型アプローチの可能性を強調し,ルールベースの検出手法の限界に対処する。
関連論文リスト
- Distributed Approach to Haskell Based Applications Refactoring with LLMs Based Multi-Agent Systems [3.972203967261693]
大言語モデル (LLM) はHaskellを自動化するマルチエージェントシステムである。
システムは、コンテキスト分析、検証、テストなどのタスクを実行する特殊なエージェントで構成される。
リファクタリングの改善には、サイクロマティックな複雑性、実行時間、メモリ割り当てといったメトリクスを使用する。
論文 参考訳(メタデータ) (2025-02-11T20:04:15Z) - An Empirical Study on the Impact of Code Duplication-aware Refactoring Practices on Quality Metrics [5.516979718589074]
128のオープンソースJavaプロジェクトから、日々の変更で開発者が適用し、ドキュメント化した332のコミットのコーパスを抽出します。
我々は、これらの操作が共通の最先端の設計品質指標に与える影響を実証的に分析する。
論文 参考訳(メタデータ) (2025-02-06T13:34:25Z) - Testing Refactoring Engine via Historical Bug Report driven LLM [6.852749659993347]
リファクタリングは、外部の振る舞いを変えることなく、既存のコードを再構築するプロセスである。
自動エンジンテストのためのフレームワークであるRETESTERを提案する。
論文 参考訳(メタデータ) (2025-01-16T23:31:49Z) - Automated Unit Test Refactoring [10.847400457238423]
テストの臭いは、設計プラクティスの貧弱さとドメイン知識の不足から生じます。
我々は,Javaプロジェクトにおける自動テストのための文脈拡張型LLMベースのフレームワークUTRefactorを提案する。
6つのオープンソースのJavaプロジェクトから879のテストに対してUTRefactorを評価し、テストの匂いを2,375から265に減らし、89%の削減を実現した。
論文 参考訳(メタデータ) (2024-09-25T08:42:29Z) - Verbalized Machine Learning: Revisiting Machine Learning with Language Models [63.10391314749408]
言語化機械学習(VML)の枠組みを紹介する。
VMLはパラメータ空間を人間の解釈可能な自然言語に制限する。
我々は,VMLの有効性を実証的に検証し,VMLがより強力な解釈可能性を実現するためのステップストーンとして機能することを期待する。
論文 参考訳(メタデータ) (2024-06-06T17:59: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) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Large Language Model-Aware In-Context Learning for Code Generation [75.68709482932903]
大規模言語モデル(LLM)は、コード生成において印象的なコンテキスト内学習(ICL)能力を示している。
コード生成のためのLAIL (LLM-Aware In-context Learning) という新しい学習ベース選択手法を提案する。
論文 参考訳(メタデータ) (2023-10-15T06:12:58Z) - CRAFT: Customizing LLMs by Creating and Retrieving from Specialized
Toolsets [75.64181719386497]
大規模言語モデル(LLM)のためのツール作成・検索フレームワークであるCRAFTを提案する。
タスク用に特別にキュレートされたツールセットを作成し、複雑なタスクを解決する能力を高めるためにこれらのセットからツールを取得するコンポーネントをLLMに装備する。
本手法はフレキシブルに設計されており,既製のLCMを細かな調整なしに未確認領域やモダリティに適応するためのプラグアンドプレイ方式を提供する。
論文 参考訳(メタデータ) (2023-09-29T17:40:26Z) - Practical Machine Learning Safety: A Survey and Primer [81.73857913779534]
自動運転車のような安全クリティカルなアプリケーションにおける機械学習アルゴリズムのオープンワールド展開は、さまざまなML脆弱性に対処する必要がある。
一般化エラーを低減し、ドメイン適応を実現し、外乱例や敵攻撃を検出するための新しいモデルと訓練技術。
我々の組織は、MLアルゴリズムの信頼性を異なる側面から向上するために、最先端のML技術を安全戦略にマッピングする。
論文 参考訳(メタデータ) (2021-06-09T05:56:42Z) - The Prevalence of Code Smells in Machine Learning projects [9.722159563454436]
静的コード解析は、ソースコードの潜在的な欠陥、機会、共通のコーディング標準の違反を見つけるのに使うことができる。
74のオープンソースプロジェクトのデータセットを集め、依存関係をインストールしてPylintを実行しました。
その結果、検出されたすべてのコードの臭いのトップ20に到達した。
論文 参考訳(メタデータ) (2021-03-06T16:01:54Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。