論文の概要: Understanding and Detecting Peer Dependency Resolving Loop in npm Ecosystem
- arxiv url: http://arxiv.org/abs/2505.12676v2
- Date: Tue, 20 May 2025 14:11:01 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-05-21 12:33:37.440811
- Title: Understanding and Detecting Peer Dependency Resolving Loop in npm Ecosystem
- Title(参考訳): npmエコシステムにおけるピア依存解消ループの理解と検出
- Authors: Xingyu Wang, Mingsen Wang, Wenbo Shen, Rui Chang,
- Abstract要約: npmは特別なタイプの依存性、Peer Dependencyをサポートし、インストールと使用は通常の依存関係とは異なる。
ピア依存関係間の衝突は、npmクライアントを無限ループにトラップし、リソースの枯渇とシステムクラッシュにつながる。
本稿は, npm 生態系における PeerSpin の理解と検出を行うための, 詳細な研究である。
- 参考スコア(独自算出の注目度): 7.703691991022285
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: As the default package manager for Node.js, npm has become one of the largest package management systems in the world. To facilitate dependency management for developers, npm supports a special type of dependency, Peer Dependency, whose installation and usage differ from regular dependencies. However, conflicts between peer dependencies can trap the npm client into infinite loops, leading to resource exhaustion and system crashes. We name this problem PeerSpin. Although PeerSpin poses a severe risk to ecosystems, it was overlooked by previous studies, and its impacts have not been explored. To bridge this gap, this paper conducts the first in-depth study to understand and detect PeerSpin in the npm ecosystem. First, by systematically analyzing the npm dependency resolution, we identify the root cause of PeerSpin and characterize two peer dependency patterns to guide detection. Second, we propose a novel technique called Node-Replacement-Conflict based PeerSpin Detection, which leverages the state of the directory tree during dependency resolution to achieve accurate and efficient PeerSpin detection. Based on this technique, we developed a tool called PeerChecker to detect PeerSpin. Finally, we apply PeerChecker to the entire NPM ecosystem and find that 5,662 packages, totaling 72,968 versions, suffer from PeerSpin. Up until now, we confirmed 28 real PeerSpin problems by reporting them to the package maintainer. We also open source all PeerSpin analysis implementations, tools, and data sets to the public to help the community detect PeerSpin issues and enhance the reliability of the npm ecosystem.
- Abstract(参考訳): Node.jsのデフォルトパッケージマネージャとして、npmは世界最大のパッケージ管理システムの1つになった。
開発者の依存性管理を容易にするため、npmは特別なタイプの依存性、Peer Dependencyをサポートする。
しかし、ピア依存関係間の競合はnpmクライアントを無限ループにトラップし、リソースの枯渇とシステムのクラッシュにつながる。
私たちはこの問題をPeerSpinと名付けます。
PeerSpinは生態系に深刻なリスクをもたらすが、以前の研究では見落とされ、その影響は調査されていない。
このギャップを埋めるために,本論文では,npmエコシステムにおけるPeerSpinの理解と検出を行う。
まず,npm依存性の解決を体系的に解析することにより,PeerSpinの根本原因を特定し,2つのピア依存性パターンを特徴付ける。
第2に,ノード置換競合に基づくPeerSpin検出という新しい手法を提案する。これは,依存性の解決時にディレクトリツリーの状態を利用して,正確かつ効率的なPeerSpin検出を実現する。
この手法に基づいて,PeerSpinを検出するPeerCheckerというツールを開発した。
最後に、PierCheckerをNPMエコシステム全体に適用し、合計72,968バージョンの5,662パッケージがPeerSpinに悩まされていることを発見した。
これまで、パッケージメンテナに報告することで、28の実際のPeerSpin問題を確認しました。
また、コミュニティがPeerSpinの問題を検出し、npmエコシステムの信頼性を高めるために、すべてのPeerSpin分析実装、ツール、データセットを公開しています。
関連論文リスト
- Analyzing the Usage of Donation Platforms for PyPI Libraries [91.97201077607862]
本研究では,PyPIエコシステムにおける寄付プラットフォームの導入状況について分析した。
GitHub Sponsorsが支配的なプラットフォームであるが、多くのPyPIリストのリンクは時代遅れである。
論文 参考訳(メタデータ) (2025-03-11T10:27:31Z) - Trusting code in the wild: Exploring contributor reputation measures to review dependencies in the Rust ecosystem [1.0310977366592338]
ネットワーク集中度尺度を用いて、協力活動を用いたコントリビュータの評判を推し進める。
パッケージの追加や更新を行う前に,依存関係をレビューする回答者は24%に過ぎません。
GitHub、Rust、npmといったエコシステムは、依存関係レビューで開発者を支援するために、コントリビュータの評価バッジを実装することを推奨しています。
論文 参考訳(メタデータ) (2024-06-14T16:13:58Z) - Detecting and removing bloated dependencies in CommonJS packages [6.115666382910127]
サーバサイドJavaScriptアプリケーションにおける肥大した依存関係を調査するための最初の研究について述べる。
そこで我々は,OSファイルシステムをモニタし,実行中にどの依存関係にアクセスできないかを決定するトレースベースの動的解析手法を提案する。
論文 参考訳(メタデータ) (2024-05-28T08:04:01Z) - Analyzing the Accessibility of GitHub Repositories for PyPI and NPM Libraries [91.97201077607862]
産業アプリケーションはオープンソースソフトウェア(OSS)ライブラリに大きく依存しており、様々な利点を提供している。
このようなコミュニティの活動を監視するには、エコシステムのライブラリの包括的なリポジトリのリストにアクセスしなければなりません。
本研究では、PyPIライブラリとNPMライブラリのGitHubリポジトリのアクセシビリティを分析する。
論文 参考訳(メタデータ) (2024-04-26T13:27:04Z) - Less is More? An Empirical Study on Configuration Issues in Python PyPI
Ecosystem [38.44692482370243]
Pythonはオープンソースコミュニティで広く使われている。
サードパーティのライブラリは依存関係の衝突を引き起こす可能性があるため、研究者は依存関係の衝突検知器を開発する必要がある。
依存関係を自動的に推論する試みが実施された。
論文 参考訳(メタデータ) (2023-10-19T09:07:51Z) - On the Feasibility of Cross-Language Detection of Malicious Packages in
npm and PyPI [6.935278888313423]
悪意のあるユーザは悪意のあるコードを含むオープンソースパッケージを公開することでマルウェアを拡散し始めた。
最近の研究は、npmエコシステム内の悪意あるパッケージを検出するために機械学習技術を適用している。
言語に依存しない一連の特徴と,npm と PyPI の悪意あるパッケージを検出可能なモデルのトレーニングを含む,新しいアプローチを提案する。
論文 参考訳(メタデータ) (2023-10-14T12:32:51Z) - Point-to-Box Network for Accurate Object Detection via Single Point
Supervision [51.95993495703855]
オフ・ザ・シェルフ提案法(OTSP)の軽量な代替手法を提案する。
P2BNetは、アンカーのような方法で提案を生成することで、オブジェクト間のバランスの取れた提案バッグを構築することができる。
コードはCOCO.com/ucas-vg/P2BNetでリリースされる。
論文 参考訳(メタデータ) (2022-07-14T11:32:00Z) - Noise-robust Graph Learning by Estimating and Leveraging Pairwise
Interactions [123.07967420310796]
本稿では,グラフ上のノイズノード分類のためのペアワイズフレームワークを提案することにより,そのギャップを埋める。
PI-GNNは、ノイズの多いノードクラスラベルからのポイントワイズ学習に加えて、PIを一次学習プロキシとして依存している。
提案するフレームワークPI-GNNは,(1)PIラベルを適応的に推定する信頼度を考慮したPI推定モデル,(2)PIラベルを推定する疎結合トレーニング手法の2つの新しい構成要素に寄与する。
論文 参考訳(メタデータ) (2021-06-14T14:23:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。