論文の概要: 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駆動型アプローチの可能性を強調し,ルールベースの検出手法の限界に対処する。
関連論文リスト
- MANTRA: Enhancing Automated Method-Level Refactoring with Contextual RAG and Multi-Agent LLM Collaboration [44.75848695076576]
本稿では,包括的Large Language ModelsエージェントベースのフレームワークであるMANTRAを紹介する。
ManTRAは、コンテキスト対応検索強化生成、協調型マルチエージェントコラボレーション、および言語強化学習を統合している。
MANTRA はベースライン LLM モデルを大幅に上回ることを示す実験結果が得られた。
論文 参考訳(メタデータ) (2025-03-18T15:16:51Z) - Evaluating the Effectiveness of Small Language Models in Detecting Refactoring Bugs [0.6133301815445301]
本研究では,Java と Python の2種類のバグ検出における小言語モデル (SLM) の有効性を評価する。
この研究は16種類のタイプをカバーし、コンシューマグレードのハードウェアにゼロショットプロンプトを用いて、事前トレーニングを明示することなくモデルの正確性を推論する能力を評価する。
プロプライエタリなo3-mini-highモデルは、タイプIの84.3%のバグを識別し、最も高い検出率を達成した。
論文 参考訳(メタデータ) (2025-02-25T18:52:28Z) - Refactoring Detection in C++ Programs with RefactoringMiner++ [45.045206894182776]
RefactoringMiner++は、現在の技術状況に基づいた検出ツールである。
後者はJavaに特化していますが、私たちのツールには、私たちの知る限り、C++プロジェクトで最初に公開された検出ツールがシードされています。
論文 参考訳(メタデータ) (2025-02-24T23:17:35Z) - 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) - 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) - Julearn: an easy-to-use library for leakage-free evaluation and
inspection of ML models [0.23301643766310373]
我々は、Julearnの設計の背景にある理論的根拠と、その中核となる特徴を提示し、以前に公表された研究プロジェクトの3つの例を示す。
Julearnは、最も一般的なMLの落とし穴に対して、ガードを組み込んだ使いやすい環境を提供することで、機械学習の世界への参入を単純化することを目指している。
論文 参考訳(メタデータ) (2023-10-19T08:21:12Z) - GEVO-ML: Optimizing Machine Learning Code with Evolutionary Computation [6.525197444717069]
GEVO-MLは、最適化の機会を発見し、機械学習カーネルのパフォーマンスをチューニングするためのツールである。
モデルトレーニングと予測の両方のために、GEVO-MLを2つの異なるMLワークロードでデモする。
GEVO-MLはこれらのモデルに大きな改善を加え、モデル精度が2%の緩和で90.43%の性能向上を達成した。
論文 参考訳(メタデータ) (2023-10-16T09:24:20Z) - 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) - MLGO: a Machine Learning Guided Compiler Optimizations Framework [0.0]
この作業は、実際の設定で複雑なコンパイラパスで機械学習を初めて完全に統合した作業です。
インライン・フォー・サイズモデルのトレーニングには2つの異なるMLアルゴリズムを使用し、最大7%の削減を実現している。
同じモデルは、実世界のターゲットの多様性、そして数ヶ月のアクティブな開発の後、同じターゲットセットにうまく一般化します。
論文 参考訳(メタデータ) (2021-01-13T00:02:49Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。