論文の概要: Analyzing C/C++ Library Migrations at the Package-level: Prevalence, Domains, Targets and Rationals across Seven Package Management Tools
- arxiv url: http://arxiv.org/abs/2507.03263v1
- Date: Fri, 04 Jul 2025 02:44:38 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-08 15:46:34.644255
- Title: Analyzing C/C++ Library Migrations at the Package-level: Prevalence, Domains, Targets and Rationals across Seven Package Management Tools
- Title(参考訳): パッケージレベルにおけるC/C++ライブラリのマイグレーションの分析:7つのパッケージ管理ツールにおけるPrevalence, Domains, Targets, Rationals
- Authors: Haiqiao Gu, Yiliang Zhao, Kai Gao, Minghui Zhou,
- Abstract要約: 本稿では,異なるパッケージ管理ツールを利用する19,943のC/C++プロジェクトを分析し,最初のC/C++ライブラリマイグレーションデータセットを確立する。
C/C++ライブラリ移行の全体的な傾向は、Javaに似ています。
コンパイル時間の短縮や依存性管理の統合など,C/C++固有のマイグレーション理由が4つあります。
- 参考スコア(独自算出の注目度): 11.76396912076385
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Library migration happens when a library can not meet the project's requirements and is non-trivial to accomplish. To mitigate the problem, substantial efforts have been devoted to understanding its characteristics and recommending alternative libraries, especially for programming language (PL) ecosystems with a central package hosting platform, such as Python (PyPI). However, to the best of our knowledge, understanding of C/C++ library migrations is still lacking, possibly due to challenges resulting from the fragmented and complicated dependency management practices in the C/C++ ecosystem. To bridge this knowledge gap, this paper analyzes 19,943 C/C++ projects that utilize different package management tools and establishes the first C/C++ library migration dataset. Based on the dataset, we investigate the prevalence, domains, target library, and rationale of C/C++ library migrations and compare the results with three widely investigated PLs: Python, JavaScript, and Java. We find that the overall trend in the number of C/C++ library migrations is similar to Java. Migrations across different package management tools are also observed. In C/C++, library migrations mainly occur in GUI, Build, and OS development, but are rare in domains (e.g., Testing and Logging) that dominate library migrations in the three compared PLs. 83.46\% of C/C++ source libraries only have one migration target, suggesting that our library migration dataset could be used directly to recommend migration targets. We find four C/C++-specific migration reasons, such as less compile time and unification of dependency management, revealing the unique dependency management requirements in C/C++ projects. We believe our findings can help C/C++ developers make more informed library migration decisions and shed light on the design of C/C++ library migration tools.
- Abstract(参考訳): ライブラリのマイグレーションは、ライブラリがプロジェクトの要件を満たすことができず、達成し難い場合に発生する。
この問題を軽減するため、Python(PyPI)のような中心的なパッケージホスティングプラットフォームを備えたプログラミング言語(PL)エコシステムにおいて、その特性を理解し、代替ライブラリを推奨することに注力してきた。
しかしながら、私たちの知る限りでは、C/C++エコシステムの断片化と複雑な依存性管理プラクティスによる課題のため、C/C++ライブラリのマイグレーションに対する理解は依然として不足しています。
この知識ギャップを埋めるために、異なるパッケージ管理ツールを利用する19,943のC/C++プロジェクトを分析し、最初のC/C++ライブラリマイグレーションデータセットを確立する。
データセットに基づいて、C/C++ライブラリのマイグレーションの頻度、ドメイン、ターゲットライブラリ、合理性を調査し、その結果を広く研究されている3つのPL(Python、JavaScript、Java)と比較する。
C/C++ライブラリ移行の全体的な傾向は、Javaに似ています。
さまざまなパッケージ管理ツール間のマイグレーションも観察されている。
C/C++では、主にGUI、ビルド、OS開発でライブラリマイグレーションが発生するが、3つの比較PLでライブラリマイグレーションを支配しているドメイン(例えば、テストとロギング)ではまれである。
83.46\%のC/C++ソースライブラリは1つのマイグレーションターゲットしか持たない。
C/C++プロジェクトでは,コンパイル時間の短縮や依存性管理の統一といった,C/C++固有のマイグレーションの理由が4つあります。
我々の発見は、C/C++開発者がより情報のあるライブラリ移行決定を行うのに役立つと信じており、C/C++ライブラリマイグレーションツールの設計に光を当てています。
関連論文リスト
- Experience converting a large mathematical software package written in C++ to C++20 modules [0.0]
ヘッダベースとモジュールベースの両方のインターフェースを同じコードベースから提供できるアプローチについて説明します。
モジュールへの変換が可能で、変換されたライブラリ自体のコンパイル時間が短縮される。
私は、数学ソフトウェアの全エコシステムを変換するための長期的な戦略について考えます。
論文 参考訳(メタデータ) (2025-06-26T17:38:33Z) - 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) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - A Preliminary Study on Self-Contained Libraries in the NPM Ecosystem [2.221643499902673]
現代のソフトウェアエコシステムにおけるライブラリの普及は、依存関係の複雑なネットワークを生み出します。
依存関係がゼロのライブラリは自己完結型になる。
本稿では,NPMエコシステムにおける自己完結型ライブラリの特徴について考察する。
論文 参考訳(メタデータ) (2024-06-17T09:33:49Z) - Analyzing the Accessibility of GitHub Repositories for PyPI and NPM Libraries [91.97201077607862]
産業アプリケーションはオープンソースソフトウェア(OSS)ライブラリに大きく依存しており、様々な利点を提供している。
このようなコミュニティの活動を監視するには、エコシステムのライブラリの包括的なリポジトリのリストにアクセスしなければなりません。
本研究では、PyPIライブラリとNPMライブラリのGitHubリポジトリのアクセシビリティを分析する。
論文 参考訳(メタデータ) (2024-04-26T13:27:04Z) - Causal-learn: Causal Discovery in Python [53.17423883919072]
因果発見は、観測データから因果関係を明らかにすることを目的としている。
$textitcausal-learn$は因果発見のためのオープンソースのPythonライブラリである。
論文 参考訳(メタデータ) (2023-07-31T05:00:35Z) - Analysis of Library Dependency Networks of Package Managers Used in iOS
Development [3.46067608522128]
Swiftエコシステムのライブラリ依存ネットワークは、CocoaPods、Carthage、Swift Package Manager(PM)のライブラリを含んでいる。
CocoaPodsは、最大のライブラリセットを持つパッケージマネージャであるが、他のパッケージマネージャとの違いは、期待ほど大きくはない。
Swift PMはますます人気を集めており、結果として他の2つのパッケージマネージャの成長が徐々に鈍化している。
論文 参考訳(メタデータ) (2023-05-18T12:14:19Z) - SequeL: A Continual Learning Library in PyTorch and JAX [50.33956216274694]
SequeLは継続学習のためのライブラリで、PyTorchとJAXフレームワークの両方をサポートする。
それは、正規化ベースのアプローチ、リプレイベースのアプローチ、ハイブリッドアプローチを含む、幅広い連続学習アルゴリズムのための統一インターフェースを提供する。
私たちはSequeLをオープンソースライブラリとしてリリースし、研究者や開発者が自身の目的で簡単にライブラリを実験し拡張することができます。
論文 参考訳(メタデータ) (2023-04-21T10:00:22Z) - Code Librarian: A Software Package Recommendation System [65.05559087332347]
オープンソースライブラリ用のリコメンデーションエンジンであるLibrarianを提示する。
1)プログラムのインポートライブラリで頻繁に使用されること、2)プログラムのインポートライブラリと似た機能を持つこと、3)開発者の実装と似た機能を持つこと、4)提供されるコードのコンテキストで効率的に使用できること、である。
論文 参考訳(メタデータ) (2022-10-11T12:30:05Z) - Characterizing Python Library Migrations [2.2557806157585834]
335Pythonライブラリのマイグレーションでは,3,096のマイグレーション関連のコード変更をラベル付けしています。
ライブラリペアの40%が、非関数型プログラム要素を含むAPIマッピングを持っていることが分かりました。
移行を行うには,平均して4つのAPIと2つのAPIマッピングについて学ぶ必要がある。
論文 参考訳(メタデータ) (2022-07-03T21:00:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。