論文の概要: PyMigTool: a tool for end-to-end Python library migration
- arxiv url: http://arxiv.org/abs/2510.08810v1
- Date: Thu, 09 Oct 2025 20:54:26 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-10-14 00:38:47.792043
- Title: PyMigTool: a tool for end-to-end Python library migration
- Title(参考訳): PyMigTool: エンドツーエンドのPythonライブラリマイグレーションツール
- Authors: Mohayeminul Islam, Ajay Kumar Jha, May Mahmoud, Sarah Nadi,
- Abstract要約: 任意のPythonライブラリ間でコードを自動的に移行できるエンドツーエンドソリューションを開発しました。
まず,321個の実世界のライブラリマイグレーションのベンチマークを用いて,Large Language Models(LLM)のライブラリマイグレーション機能について検討した。
LLMはライブラリのマイグレーションを効果的に行うことができるが、後処理のステップによってはパフォーマンスがさらに向上する可能性がある。
- 参考スコア(独自算出の注目度): 0.8586348698580818
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Library migration is the process of replacing a library with a similar one in a software project. Manual library migration is time consuming and error prone, as it requires developers to understand the Application Programming Interfaces (API) of both libraries, map equivalent APIs, and perform the necessary code transformations. Due to the difficulty of the library migration process, most of the existing automated techniques and tooling stop at the API mapping stage or support a limited set of libraries and code transformations. In this paper, we develop an end-to-end solution that can automatically migrate code between any arbitrary pair of Python libraries that provide similar functionality. Due to the promising capabilities of Large Language Models (LLMs) in code generation and transformation, we use LLMs as the primary engine for migration. Before building the tool, we first study the capabilities of LLMs for library migration on a benchmark of 321 real-world library migrations. We find that LLMs can effectively perform library migration, but some post-processing steps can further improve the performance. Based on this, we develop PyMigTool, a command line application that combines the power of LLMs, static analysis, and dynamic analysis to provide accurate library migration. We evaluate PyMigTool on 717 real-world Python applications that are not from our benchmark. We find that PyMigTool can migrate 32% of the migrations with complete correctness. Of the remaining migrations, only 14% of the migration-related changes are left for developers to fix for more than half of the projects.
- Abstract(参考訳): ライブラリ移行は、ソフトウェアプロジェクトにおいて、ライブラリを同様のものに置き換えるプロセスである。
両方のライブラリのアプリケーションプログラミングインターフェース(API)を理解し、同等のAPIをマップし、必要なコード変換を実行する必要があるからだ。
ライブラリマイグレーションプロセスの難しさのため、既存の自動テクニックやツーリングのほとんどは、APIマッピングの段階で停止するか、限られたライブラリセットとコード変換をサポートする。
本稿では,同じような機能を提供する任意のPythonライブラリ間でコードを自動移行する,エンドツーエンドのソリューションを開発する。
コード生成と変換におけるLLM(Large Language Models)の有望な機能のため、マイグレーションの主エンジンとしてLLMを使用します。
ツール構築前に,実世界の321のライブラリマイグレーションのベンチマークを用いて,ライブラリマイグレーションのためのLLMの機能について検討した。
LLMはライブラリのマイグレーションを効果的に行うことができるが、後処理のステップによってはパフォーマンスがさらに向上する可能性がある。
そこで我々は,LLMのパワー,静的解析,動的解析を組み合わせたコマンドラインアプリケーションPyMigToolを開発し,ライブラリの正確なマイグレーションを実現する。
PyMigToolをベンチマークからではなく,実世界の717のPythonアプリケーション上で評価する。
PyMigToolは32%のマイグレーションを完全正解で移行できる。
残る移行のうち、開発者がプロジェクトの半数以上を修正できるのは、移行関連の変更の14%に過ぎません。
関連論文リスト
- Analyzing C/C++ Library Migrations at the Package-level: Prevalence, Domains, Targets and Rationals across Seven Package Management Tools [11.76396912076385]
本稿では,異なるパッケージ管理ツールを利用する19,943のC/C++プロジェクトを分析し,最初のC/C++ライブラリマイグレーションデータセットを確立する。
C/C++ライブラリ移行の全体的な傾向は、Javaに似ています。
コンパイル時間の短縮や依存性管理の統合など,C/C++固有のマイグレーション理由が4つあります。
論文 参考訳(メタデータ) (2025-07-04T02:44:38Z) - Automatic Qiskit Code Refactoring Using Large Language Models [39.71511919246829]
大規模言語モデル(LLM)を用いたQiskit符号の新しい手法を提案する。
まず、公式のQiskitドキュメントのさまざまなソースから、マイグレーションシナリオの分類を抽出することから始めます。
この分類法は、元のPythonソースコードとともに、LLMへの入力として提供され、コード内の移行シナリオのインスタンスを識別する。
論文 参考訳(メタデータ) (2025-06-17T14:00:48Z) - Using LLMs for Library Migration [1.9247157750972368]
大規模言語モデル(LLM)は、コードの生成と変換、および類似のコードを見つけるのに長けている。
我々はPyMigBench上でLLama 3.1, GPT-4o mini, GPT-4oの3つのLCMを評価し, 実世界のライブラリマイグレーション321を移行した。
LLama 3.1, GPT-4o mini, GPT-4oはそれぞれ89%, 89%, 94%の移行関連コード変更を正しく移行した。
論文 参考訳(メタデータ) (2025-04-17T18:32:48Z) - Migrating Code At Scale With LLMs At Google [0.0]
Googleでは,大規模で費用がかかる従来型の手動マイグレーションプロジェクトについて論じている。
変更位置探索と大規模言語モデル(LLM)を用いて開発者が移行を行うのを支援する新しい自動アルゴリズムを提案する。
我々のLLM支援ワークフローは、同様のイニシアチブのモデルとして機能する可能性が示唆された。
論文 参考訳(メタデータ) (2025-04-13T18:52:44Z) - MigGPT: Harnessing Large Language Models for Automated Migration of Out-of-Tree Linux Kernel Patches Across Versions [53.811953357289866]
大規模言語モデル(LLM)は、様々な領域で顕著な進歩を示している。
LLMは不完全なコードコンテキスト理解と不正確なマイグレーションポイント識別に苦労する。
MigGPTは、コードスニペット情報を保持するために新しいコード指紋構造を使用するフレームワークである。
論文 参考訳(メタデータ) (2025-04-13T08:08:37Z) - Executable Code Actions Elicit Better LLM Agents [76.95566120678787]
この研究は、Pythonコードを使用して、Large Language Model(LLM)エージェントのアクションを統一されたアクション空間(CodeAct)に統合することを提案する。
Pythonインタプリタと統合されたCodeActは、コードアクションを実行し、事前アクションを動的に修正したり、マルチターンインタラクションを通じて新しい観察に新しいアクションを発行することができる。
CodeActのパフォーマンス向上は、解釈可能なコードを実行し、自然言語を使ってユーザとコラボレーションすることで、環境と対話するオープンソースのLLMエージェントを構築する動機となります。
論文 参考訳(メタデータ) (2024-02-01T21:38:58Z) - 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) - Characterizing Python Library Migrations [2.2557806157585834]
335Pythonライブラリのマイグレーションでは,3,096のマイグレーション関連のコード変更をラベル付けしています。
ライブラリペアの40%が、非関数型プログラム要素を含むAPIマッピングを持っていることが分かりました。
移行を行うには,平均して4つのAPIと2つのAPIマッピングについて学ぶ必要がある。
論文 参考訳(メタデータ) (2022-07-03T21:00:08Z) - BOML: A Modularized Bilevel Optimization Library in Python for Meta
Learning [52.90643948602659]
BOMLはモジュール化された最適化ライブラリで、いくつかのメタ学習アルゴリズムを共通の双方向最適化フレームワークに統合する。
さまざまなイテレーションモジュールとともに階層的な最適化パイプラインを提供し、メタ学習メソッドの主流カテゴリを解決するために使用できる。
論文 参考訳(メタデータ) (2020-09-28T14:21:55Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。