論文の概要: Flexible and Optimal Dependency Management via Max-SMT
- arxiv url: http://arxiv.org/abs/2203.13737v4
- Date: Thu, 24 Aug 2023 04:20:31 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 15:39:35.643282
- Title: Flexible and Optimal Dependency Management via Max-SMT
- Title(参考訳): Max-SMTによるフレキシブルかつ最適依存関係管理
- Authors: Donald Pinckney, Federico Cassano, Arjun Guha, Jon Bell, Massimiliano
Culpo, Todd Gamblin
- Abstract要約: NPMリポジトリは200万以上のパッケージをホストし、毎週43億回ダウンロードされている。
NPMは欲張りで、しばしば最新バージョンの依存関係のインストールに失敗する。
NPMの脆弱性修正アルゴリズムも欲張りで、新たな脆弱性も導入できる。
- 参考スコア(独自算出の注目度): 3.8921264983380635
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Package managers such as NPM have become essential for software development.
The NPM repository hosts over 2 million packages and serves over 43 billion
downloads every week. Unfortunately, the NPM dependency solver has several
shortcomings. 1) NPM is greedy and often fails to install the newest versions
of dependencies; 2) NPM's algorithm leads to duplicated dependencies and
bloated code, which is particularly bad for web applications that need to
minimize code size; 3) NPM's vulnerability fixing algorithm is also greedy, and
can even introduce new vulnerabilities; and 4) NPM's ability to duplicate
dependencies can break stateful frameworks and requires a lot of care to
workaround. Although existing tools try to address these problems they are
either brittle, rely on post hoc changes to the dependency tree, do not
guarantee optimality, or are not composable.
We present PacSolve, a unifying framework and implementation for dependency
solving which allows for customizable constraints and optimization goals. We
use PacSolve to build MaxNPM, a complete, drop-in replacement for NPM, which
empowers developers to combine multiple objectives when installing
dependencies. We evaluate MaxNPM with a large sample of packages from the NPM
ecosystem and show that it can: 1) reduce more vulnerabilities in dependencies
than NPM's auditing tool in 33% of cases; 2) chooses newer dependencies than
NPM in 14% of cases; and 3) chooses fewer dependencies than NPM in 21% of
cases. All our code and data is open and available.
- Abstract(参考訳): NPMのようなパッケージマネージャはソフトウェア開発に不可欠になっている。
NPMリポジトリには200万以上のパッケージがあり、毎週43億回ダウンロードされている。
残念ながら、NPM依存性解決器にはいくつかの欠点がある。
1) NPMは欲張りで、しばしば最新の依存関係のインストールに失敗する。
2) NPMのアルゴリズムは、重複した依存関係と肥大化したコードをもたらす。
3) NPMの脆弱性修正アルゴリズムも欲張りで、新たな脆弱性も導入できる。
4) 依存関係を複製するNPMの能力はステートフルなフレームワークを壊し、回避に多くの注意を要する。
既存のツールはこれらの問題に対処しようとするが、脆弱であるか、依存性ツリーへのポストホックな変更に依存しているか、最適性を保証していないか、構成不可能である。
PacSolveは依存性解決のための統一フレームワークで、カスタマイズ可能な制約と最適化の目標を実現する。
私たちはPacSolveを使って、NPMの完全なドロップイン代替であるMaxNPMを構築しています。
我々は,NPMエコシステムのパッケージを多用したMaxNPMを評価し,それが可能であることを示す。
1) NPMの監査ツールよりも33%のケースで依存関係の脆弱性を減らす。
2)14%のケースでNPMよりも新しい依存関係を選択する。
3)21%の場合、NPMよりも依存関係が少ない。
すべてのコードとデータはオープンで利用可能です。
関連論文リスト
- Characterizing Dependency Update Practice of NPM, PyPI and Cargo Packages [7.739923421146855]
依存関係を最新に保つことで、時代遅れで脆弱な依存関係によるソフトウェアサプライチェーンの攻撃が防止される。
本稿では,依存関係の更新度と脆弱性のある依存関係の更新度を測定するための2つの更新指標を提案する。
我々は,2.9Mパッケージ,66.8Mパッケージバージョン,26.8Mユニークなパッケージ依存性関係を用いた大規模更新メトリクスの実証的研究を行った。
論文 参考訳(メタデータ) (2024-03-26T05:01:53Z) - Malicious Package Detection using Metadata Information [0.272760415353533]
本稿では,メタデータに基づく悪意のあるパッケージ検出モデルであるMeMPtecを紹介する。
MeMPtecはパッケージメタデータ情報から一連の機能を抽出する。
実験の結果,偽陽性と偽陰性の両方が有意な減少を示した。
論文 参考訳(メタデータ) (2024-02-12T06:54:57Z) - Dependency Practices for Vulnerability Mitigation [4.710141711181836]
npmエコシステムの450以上の脆弱性を分析し、依存するパッケージが脆弱なままである理由を理解します。
依存関係によって感染した20万以上のnpmパッケージを特定します。
私たちは9つの機能を使って、脆弱性修正を迅速に適用し、脆弱性のさらなる伝播を防ぐパッケージを特定する予測モデルを構築しています。
論文 参考訳(メタデータ) (2023-10-11T19:48:46Z) - Malicious Package Detection in NPM and PyPI using a Single Model of
Malicious Behavior Sequence [7.991922551051611]
パッケージレジストリ NPM と PyPI は悪意のあるパッケージで溢れている。
既存の悪意あるNPMとPyPIパッケージ検出アプローチの有効性は、2つの課題によって妨げられている。
我々は,NPMとPyPIの悪意あるパッケージを検出するためにCerebroを提案し,実装する。
論文 参考訳(メタデータ) (2023-09-06T00:58:59Z) - npm-follower: A Complete Dataset Tracking the NPM Ecosystem [5.931961380320841]
npm-followerは、すべてのパッケージとバージョンのメタデータとコードを公開時にアーカイブする、データセットとクローリングアーキテクチャである。
現在、データセットには3500万以上のパッケージが含まれており、月間100万バージョンの割合で成長している。
論文 参考訳(メタデータ) (2023-08-24T04:05:49Z) - Towards Semantic Communication Protocols: A Probabilistic Logic
Perspective [69.68769942563812]
我々は,NPMを確率論理型言語ProbLogで記述された解釈可能なシンボルグラフに変換することによって構築された意味プロトコルモデル(SPM)を提案する。
その解釈性とメモリ効率を利用して、衝突回避のためのSPM再構成などのいくつかの応用を実演する。
論文 参考訳(メタデータ) (2022-07-08T14:19:36Z) - Bilateral Dependency Optimization: Defending Against Model-inversion
Attacks [61.78426165008083]
本稿では,モデル反転攻撃に対する二元的依存性最適化(BiDO)戦略を提案する。
BiDOは、さまざまなデータセット、分類器、MI攻撃に対する最先端の防御性能を達成する。
論文 参考訳(メタデータ) (2022-06-11T10:07:03Z) - Quality-aware Part Models for Occluded Person Re-identification [77.24920810798505]
咬合は人体再識別(ReID)にとって大きな課題となる
既存のアプローチは一般的に、計算効率とReIDの精度の両面で最適であるように、目に見える身体の部品を推測するための外部ツールに依存している。
閉塞型ReIDのためのQPM(Quality-Aware Part Models)という新しい手法を提案する。
論文 参考訳(メタデータ) (2022-01-01T03:51:09Z) - MALib: A Parallel Framework for Population-based Multi-agent
Reinforcement Learning [61.28547338576706]
人口ベースマルチエージェント強化学習(PB-MARL)は、強化学習(RL)アルゴリズムでネストした一連の手法を指す。
PB-MARLのためのスケーラブルで効率的な計算フレームワークMALibを提案する。
論文 参考訳(メタデータ) (2021-06-05T03:27:08Z) - ORDNet: Capturing Omni-Range Dependencies for Scene Parsing [135.11360962062957]
Omni-Range Dependencies Network(ORDNet)を構築し、短距離、中長距離の依存関係を効果的にキャプチャします。
我々のORDNetは、より包括的なコンテキスト情報を抽出し、シーンイメージの複雑な空間分散に順応することができる。
論文 参考訳(メタデータ) (2021-01-11T14:51:11Z) - Please Mind the Root: Decoding Arborescences for Dependency Parsing [67.71280539312536]
我々はUniversal Dependency Treebankから多くの言語における最先端の出力を分析する。
最悪の制約違反率は24%です。
論文 参考訳(メタデータ) (2020-10-06T08:31:14Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。