論文の概要: Using LLMs for Library Migration
- arxiv url: http://arxiv.org/abs/2504.13272v1
- Date: Thu, 17 Apr 2025 18:32:48 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-28 20:36:33.781747
- Title: Using LLMs for Library Migration
- Title(参考訳): LLMを用いたライブラリマイグレーション
- Authors: Md Mohayeminul Islam, Ajay Kumar Jha, May Mahmoud, Ildar Akhmetov, Sarah Nadi,
- Abstract要約: 大規模言語モデル(LLM)は、コードの生成と変換、および類似のコードを見つけるのに長けている。
我々はPyMigBench上でLLama 3.1, GPT-4o mini, GPT-4oの3つのLCMを評価し, 実世界のライブラリマイグレーション321を移行した。
LLama 3.1, GPT-4o mini, GPT-4oはそれぞれ89%, 89%, 94%の移行関連コード変更を正しく移行した。
- 参考スコア(独自算出の注目度): 1.9247157750972368
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Library migration is the process of replacing a used software library with another library that provides similar functionality. Manual library migration is time-consuming and error prone, as it requires developers to understand the APIs of both libraries, map them, and perform the necessary code transformations. Due to its difficulty, most of the existing automated techniques and tooling stop at the API mapping stage or support a limited set of code transformations. On the other hand, Large Language Models (LLMs) are good at generating and transforming code and finding similar code, which are necessary upstream tasks for library migration. Such capabilities suggest that LLMs may be suitable for library migration. Therefore, in this paper, we investigate the effectiveness of LLMs for migration between Python libraries. We evaluate three LLMs, LLama 3.1, GPT-4o mini, and GPT-4o on PyMigBench, where we migrate 321 real-world library migrations that include 2,989 migration-related code changes. We measure the correctness of the migration results in two ways. We first compare the LLM's migrated code with the developers' migrated code in the benchmark and then run the unit tests available in the client repositories. We find that LLama 3.1, GPT-4o mini, and GPT-4o correctly migrate 89%, 89%, and 94% of the migration-related code changes. respectively. We also find that 36%, 52% and 64% of the LLama 3.1, GPT-4o mini, and GPT-4o migrations pass the same tests that passed in the developer's migration. Overall, our results suggest that LLMs can be effective in migrating code between libraries, but we also identify cases that pose difficulties for the LLM.
- Abstract(参考訳): ライブラリマイグレーションは、使用済みのソフトウェアライブラリを、同様の機能を提供する他のライブラリに置き換えるプロセスである。
両方のライブラリのAPIを理解し、マップし、必要なコード変換を実行する必要があるからだ。
その難しさから、既存の自動化技術やツールのほとんどは、APIマッピングの段階で停止するか、あるいは限定的なコード変換をサポートする。
一方、LLM(Large Language Models)は、コードを生成、変換し、ライブラリのマイグレーションに必要となる同様のコードを見つけるのに長けています。
このような機能は、LLMがライブラリのマイグレーションに適していることを示唆している。
そこで本稿では,Python ライブラリ間のマイグレーションにおける LLM の有効性について検討する。
我々はPyMigBench上でLLama 3.1, GPT-4o mini, GPT-4oの3つのLLMを評価し, 2,989のマイグレーション関連コード変更を含む実世界の321のライブラリマイグレーションを移行した。
移行結果の正しさを2つの方法で測定する。
まず、LLMの移行コードをベンチマークで開発者の移行コードと比較し、それからクライアントリポジトリで利用可能なユニットテストを実行します。
LLama 3.1, GPT-4o mini, GPT-4oは、移行関連のコード変更の89%, 89%, 94%を正しく移行している。
それぞれね
また,LLama 3.1, GPT-4o mini, GPT-4oマイグレーションの36%, 52%, 64%が,開発者の移行に合格したテストに合格していることも確認した。
以上の結果から,LSMはライブラリ間のコード移行に有効である可能性が示唆された。
関連論文リスト
- Migrating Code At Scale With LLMs At Google [0.0]
Googleでは,大規模で費用がかかる従来型の手動マイグレーションプロジェクトについて論じている。
変更位置探索と大規模言語モデル(LLM)を用いて開発者が移行を行うのを支援する新しい自動アルゴリズムを提案する。
我々のLLM支援ワークフローは、同様のイニシアチブのモデルとして機能する可能性が示唆された。
論文 参考訳(メタデータ) (2025-04-13T18:52:44Z) - How is Google using AI for internal code migrations? [5.277315246731]
この記事では、GoogleのコードマイグレーションにLLMを使用する経験レポートを紹介する。
むしろ私たちは、LLMベースのコードマイグレーションを企業コンテキストに適用した経験を共有しています。
LLMを使用することで、移行に要する時間を大幅に短縮できるという証拠が得られます。
論文 参考訳(メタデータ) (2025-01-12T23:06:25Z) - SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution [56.9361004704428]
大規模言語モデル(LLM)は、様々な複雑なタスクにまたがる顕著な習熟度を示している。
SWE-Fixerは、GitHubの問題を効果的かつ効率的に解決するために設計された、新しいオープンソースフレームワークである。
我々は,SWE-Bench LiteとVerifiedベンチマークに対するアプローチを評価し,オープンソースモデル間の最先端性能を実現する。
論文 参考訳(メタデータ) (2025-01-09T07:54:24Z) - Scalable, Validated Code Translation of Entire Projects using Large Language Models [13.059046327936393]
大規模言語モデル(LLM)は、慣用的なコードを生成する能力のため、コード翻訳において有望であることを示す。
既存の作品では、100行以上のコードに対する翻訳の成功率が低下している。
私たちは、コードを独立した翻訳が可能な小さなコードフラグメントに分割する、トランスフォーメーションのためのモジュラーアプローチを開発しています。
我々は,最大6,600行のコードと369の関数に対して,信頼性の高いRustを一貫して生成できることを示し,平均73%の関数をI/O同値で検証した。
論文 参考訳(メタデータ) (2024-12-11T02:31:46Z) - Example-Based Automatic Migration of Continuous Integration Systems [2.2836654317217326]
継続的インテグレーション(CI)は、コード変更の統合とテストの高速化に広く採用されているプラクティスです。
開発者はしばしば、マトリックスの構築やロギングの改善といった機能を追求して、CIシステム間で移行する。
この移行は、新しいCIシステムとその構文に関する知識が限られているため、集中的かつエラーを起こしやすい。
本稿では,CIシステムの自動マイグレーションのための新しいアプローチとして,CIMigを提案する。
論文 参考訳(メタデータ) (2024-07-02T20:19:21Z) - Towards Modular LLMs by Building and Reusing a Library of LoRAs [64.43376695346538]
マルチタスクデータに対して最適なアダプタライブラリを構築する方法について検討する。
モデルベースクラスタリング(MBC)を導入し,パラメータの類似性に基づいてタスクをグループ化する手法を提案する。
ライブラリを再使用するために,最も関連性の高いアダプタの動的選択を可能にする新しいゼロショットルーティング機構であるArrowを提案する。
論文 参考訳(メタデータ) (2024-05-18T03:02:23Z) - MAGIS: LLM-Based Multi-Agent Framework for GitHub Issue Resolution [47.850418420195304]
大規模言語モデル(LLM)はコード生成において有望であるが、GitHubの問題を解決する上で困難に直面している。
ソフトウェア進化のためにカスタマイズされた4つのエージェントからなる、GitHub Issue Resolution, MAGISのための新しいMulti-Agentフレームワークを提案する。
論文 参考訳(メタデータ) (2024-03-26T17:57:57Z) - Optimizing LLM Queries in Relational Data Analytics Workloads [50.95919232839785]
バッチデータ分析は、Large Language Models(LLMs)の急成長するアプリケーションである
LLMは、分類、エンティティ抽出、翻訳などの幅広い自然言語タスクを、大規模なデータセット上で実行可能にする。
本稿では,LLMコールによるリレーショナルデータ解析処理のコストを大幅に削減できる新しい手法を提案する。
論文 参考訳(メタデータ) (2024-03-09T07:01:44Z) - 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) - LLM-Pruner: On the Structural Pruning of Large Language Models [65.02607075556742]
大規模言語モデル(LLM)は、言語理解と生成において顕著な能力を示している。
タスク非依存であり、元のトレーニングデータセットへの依存を最小限に抑えるという2つの制約の範囲内でLLMの圧縮に取り組む。
LLM-Prunerという名前のこの手法は、非臨界結合構造を選択的に除去する構造プルーニングを採用する。
論文 参考訳(メタデータ) (2023-05-19T12:10:53Z) - Characterizing Python Library Migrations [2.2557806157585834]
335Pythonライブラリのマイグレーションでは,3,096のマイグレーション関連のコード変更をラベル付けしています。
ライブラリペアの40%が、非関数型プログラム要素を含むAPIマッピングを持っていることが分かりました。
移行を行うには,平均して4つのAPIと2つのAPIマッピングについて学ぶ必要がある。
論文 参考訳(メタデータ) (2022-07-03T21:00:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。