論文の概要: 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駆動型アプローチの可能性を強調し,ルールベースの検出手法の限界に対処する。
関連論文リスト
- ReGAL: Refactoring Programs to Discover Generalizable Abstractions [66.37493420911979]
Generalizable Abstraction Learning (ReGAL)は、コードカプセル化によって再利用可能な関数のライブラリを学ぶ方法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはグラフィックスで11.5%、日付理解で26.1%、MinecraftベースのテキストゲームであるTextCraftで8.1%という絶対的な精度向上を実現している。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - ML-Bench: Evaluating Large Language Models for Code Generation in Repository-Level Machine Learning Tasks [76.85930757493409]
大規模言語モデル(LLM)は、コード生成ベンチマークの習熟度を示しているが、これらの結果を実用的な開発シナリオに変換することは依然として難しい。
ML-Benchは、レポジトリレベルのオープンソースライブラリを統合して機械学習タスクを完了させるLLMの機能を評価するために設計された、新しいベンチマークである。
以上の結果から, GPT-4は他のLSMよりも優れており, 課題の複雑さを浮き彫りにしたタスクは33.82%に過ぎなかった。
論文 参考訳(メタデータ) (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) - RefBERT: A Two-Stage Pre-trained Framework for Automatic Rename
Refactoring [57.8069006460087]
本研究では,他のリネーム活動よりも難易度の高い変数名の自動改名について検討する。
変数名に対する名前変更のための2段階事前訓練フレームワークであるRefBERTを提案する。
RefBERTの変数名は既存の手法よりも正確で有意義であることを示す。
論文 参考訳(メタデータ) (2023-05-28T12:29:39Z) - problexity -- an open-source Python library for binary classification
problem complexity assessment [0.0]
分類問題の複雑性評価は、教師付き学習領域における多くのトピックの重要な要素である。
現在、問題複雑性尺度の計算を可能にする学術コミュニティで利用可能なツールは、C++とR言語のライブラリとしてのみ利用可能である。
本稿では,Python言語における22の複雑性尺度を推定するソフトウェアモジュールについて述べる。
論文 参考訳(メタデータ) (2022-07-14T07:32:15Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。