論文の概要: Characterizing Python Library Migrations
- arxiv url: http://arxiv.org/abs/2207.01124v2
- Date: Mon, 29 Jan 2024 17:28:50 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-31 01:03:52.136297
- Title: Characterizing Python Library Migrations
- Title(参考訳): Pythonライブラリのマイグレーションを特徴付ける
- Authors: Mohayeminul Islam and Ajay Kumar Jha and Ildar Akhmetov and Sarah Nadi
- Abstract要約: 335Pythonライブラリのマイグレーションでは,3,096のマイグレーション関連のコード変更をラベル付けしています。
ライブラリペアの40%が、非関数型プログラム要素を含むAPIマッピングを持っていることが分かりました。
移行を行うには,平均して4つのAPIと2つのAPIマッピングについて学ぶ必要がある。
- 参考スコア(独自算出の注目度): 2.2557806157585834
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Developers heavily rely on Application Programming Interfaces (APIs) from
libraries to build their software. As software evolves, developers may need to
replace the used libraries with alternate libraries, a process known as library
migration. Doing this manually can be tedious, time-consuming, and prone to
errors. Automated migration techniques can help alleviate some of this burden.
However, designing effective automated migration techniques requires
understanding the types of code changes required to transform client code that
used the old library to the new library. This paper contributes an empirical
study that provides a holistic view of Python library migrations, both in terms
of the code changes required in a migration and the typical development effort
involved. We manually label 3,096 migration-related code changes in 335 Python
library migrations from 311 client repositories spanning 141 library pairs from
35 domains. Based on our labeled data, we derive a taxonomy for describing
migration-related code changes, PyMigTax. Leveraging PyMigTax and our labeled
data, we investigate various characteristics of Python library migrations, such
as the types of program elements and properties of API mappings, the
combinations of types of migration-related code changes in a migration, and the
typical development effort required for a migration. Our findings highlight
various potential shortcomings of current library migration tools. For example,
we find that 40% of library pairs have API mappings that involve non-function
program elements, while most library migration techniques typically assume that
function calls from the source library will map into (one or more) function
calls from the target library. As an approximation for the development effort
involved, we find that, on average, a developer needs to learn about 4 APIs and
2 API mappings to perform a migration, and ... (truncated)
- Abstract(参考訳): 開発者はライブラリからアプリケーションプログラミングインターフェース(api)に強く依存してソフトウェアを構築している。
ソフトウェアが進化するにつれて、開発者は古いライブラリを代替ライブラリに置き換える必要があるかもしれない。
これを手作業で行うのは面倒で、時間がかかり、エラーを起こしやすい。
自動マイグレーション技術は、この負担を軽減するのに役立つ。
しかし、効果的な自動マイグレーションテクニックを設計するには、古いライブラリを使ったクライアントコードを新しいライブラリに変換するために必要なコード変更の種類を理解する必要がある。
本稿では,Pythonライブラリのマイグレーションについて,マイグレーションに必要なコード変更と,関連する典型的な開発作業の両面から,総合的な視点を提供する実証的研究に貢献する。
35のドメインから141のライブラリペアにまたがる311のクライアントリポジトリから335のPythonライブラリ移行において、3,096のマイグレーション関連のコード変更を手動でラベル付けします。
ラベル付きデータに基づいて、マイグレーション関連のコード変更を記述する分類法PyMigTaxを導出します。
pymigtaxとラベル付きデータを利用して,プログラム要素の型やapiマッピングの特性,マイグレーション時のマイグレーション関連のコード変更の型の組み合わせ,マイグレーションに必要な一般的な開発作業など,pythonライブラリのマイグレーションのさまざまな特性を調査した。
この結果から,現在のライブラリマイグレーションツールの潜在的な問題点が浮かび上がっている。
例えば、ライブラリペアの40%が非関数プログラム要素を含むapiマッピングを持っているのに対して、ほとんどのライブラリマイグレーション技術では、ソースライブラリからの関数呼び出しが対象ライブラリから(ひとつ以上の)関数呼び出しにマップされると想定している。
関連する開発作業の近似として、平均すると、開発者は移行を実行するために、約4つのapiと2つのapiマッピングを学ばなければなりません。
関連論文リスト
- Automatic Library Migration Using Large Language Models: First Results [0.0]
API移行タスクをサポートするためにChatGPTの利用を検討している研究の最初の成果を報告する。
一番良い結果はワンショットのプロンプトで達成され、次に思考の連鎖が続くことを示す。
論文 参考訳(メタデータ) (2024-08-28T22:03:54Z) - Example-Based Automatic Migration of Continuous Integration Systems [2.2836654317217326]
継続的インテグレーション(CI)は、コード変更の統合とテストの高速化に広く採用されているプラクティスです。
開発者はしばしば、マトリックスの構築やロギングの改善といった機能を追求して、CIシステム間で移行する。
この移行は、新しいCIシステムとその構文に関する知識が限られているため、集中的かつエラーを起こしやすい。
本稿では,CIシステムの自動マイグレーションのための新しいアプローチとして,CIMigを提案する。
論文 参考訳(メタデータ) (2024-07-02T20:19:21Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - Adaptoring: Adapter Generation to Provide an Alternative API for a
Library [5.710971447109951]
サードパーティのライブラリは、迅速なアプリケーション開発の基盤である。
あいまいなAPIは学習プロセスを遅くし、誤用につながる可能性がある。
本稿では、アダプタパターンを用いて、内部で元のライブラリを呼び出す新しいライブラリとして、新しいAPIを提供する。
論文 参考訳(メタデータ) (2024-01-13T11:48:45Z) - Interactive, Iterative, Tooled, Rule-Based Migration of Microsoft Access
to Web Technologies [0.11650821883155184]
私たちは、Microsoft AccessのモノリシックアプリケーションをWebフロントエンドに移行し、バックエンドを生成する作業に取り組んでいます。
開発者がターゲットシステムへのマイグレーションを可能にするために,インタラクティブで反復的,ツーリング,ルールベースのマイグレーションアプローチを提案する。
論文 参考訳(メタデータ) (2023-09-07T06:46:28Z) - MELT: Mining Effective Lightweight Transformations from Pull Requests [8.012294395224707]
MELTは、人気のあるライブラリリポジトリのプルリクエストから直接、APIマイグレーションルールを生成する。
構造コード検索と置換のための言語であるコンバイで変換ルールを推論する。
これまでの作業とは異なり、我々のアプローチは推論ルールをライブラリワークフローにシームレスに統合することを可能にする。
論文 参考訳(メタデータ) (2023-08-28T16:21:52Z) - Causal-learn: Causal Discovery in Python [53.17423883919072]
因果発見は、観測データから因果関係を明らかにすることを目的としている。
$textitcausal-learn$は因果発見のためのオープンソースのPythonライブラリである。
論文 参考訳(メタデータ) (2023-07-31T05:00:35Z) - SequeL: A Continual Learning Library in PyTorch and JAX [50.33956216274694]
SequeLは継続学習のためのライブラリで、PyTorchとJAXフレームワークの両方をサポートする。
それは、正規化ベースのアプローチ、リプレイベースのアプローチ、ハイブリッドアプローチを含む、幅広い連続学習アルゴリズムのための統一インターフェースを提供する。
私たちはSequeLをオープンソースライブラリとしてリリースし、研究者や開発者が自身の目的で簡単にライブラリを実験し拡張することができます。
論文 参考訳(メタデータ) (2023-04-21T10:00:22Z) - Repro: An Open-Source Library for Improving the Reproducibility and
Usability of Publicly Available Research Code [74.28810048824519]
Reproは、研究コードのユーザビリティ向上を目的とした、オープンソースのライブラリである。
Dockerコンテナ内で研究者がリリースしたソフトウェアを実行するための軽量Python APIを提供する。
論文 参考訳(メタデータ) (2022-04-29T01:54:54Z) - BOML: A Modularized Bilevel Optimization Library in Python for Meta
Learning [52.90643948602659]
BOMLはモジュール化された最適化ライブラリで、いくつかのメタ学習アルゴリズムを共通の双方向最適化フレームワークに統合する。
さまざまなイテレーションモジュールとともに階層的な最適化パイプラインを提供し、メタ学習メソッドの主流カテゴリを解決するために使用できる。
論文 参考訳(メタデータ) (2020-09-28T14:21:55Z) - SacreROUGE: An Open-Source Library for Using and Developing
Summarization Evaluation Metrics [74.28810048824519]
SacreROUGEは、要約評価メトリクスの使用と開発のためのオープンソースライブラリである。
このライブラリは、既存の評価メトリクスの公式実装に関するPythonラッパーを提供する。
ライブラリに実装されたメトリックが、人間による注釈付き判断とどの程度の相関があるかを評価する機能を提供する。
論文 参考訳(メタデータ) (2020-07-10T13:26:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。