論文の概要: Detecting and removing bloated dependencies in CommonJS packages
- arxiv url: http://arxiv.org/abs/2405.17939v2
- Date: Sat, 18 Jan 2025 07:29:36 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-22 14:17:44.054919
- Title: Detecting and removing bloated dependencies in CommonJS packages
- Title(参考訳): CommonJSパッケージの肥大した依存関係の検出と削除
- Authors: Yuxin Liu, Deepika Tiwari, Cristian Bogdan, Benoit Baudry,
- Abstract要約: サーバサイドJavaScriptアプリケーションにおける肥大した依存関係を調査するための最初の研究について述べる。
そこで我々は,OSファイルシステムをモニタし,実行中にどの依存関係にアクセスできないかを決定するトレースベースの動的解析手法を提案する。
- 参考スコア(独自算出の注目度): 6.115666382910127
- License:
- Abstract: JavaScript packages are notoriously prone to bloat, a factor that significantly impacts the performance and maintainability of web applications. While web bundlers and tree-shaking can mitigate this issue in client-side applications, state-of-the-art techniques have limitations on the detection and removal of bloat in server-side applications. In this paper, we present the first study to investigate bloated dependencies within server-side JavaScript applications, focusing on those built with the widely used and highly dynamic CommonJS module system. We propose a trace-based dynamic analysis that monitors the OS file system to determine which dependencies are not accessed during runtime. To evaluate our approach, we curate an original dataset of 91 CommonJS packages with a total of 50,488 dependencies. Compared to the state-of-the-art dynamic and static approaches, our trace-based analysis demonstrates higher accuracy in detecting bloated dependencies. Our analysis identifies 50.6% of the 50,488 dependencies as bloated: 13.8% of direct dependencies and 51.3% of indirect dependencies. Furthermore, removing only the direct bloated dependencies by cleaning the dependency configuration file can remove a significant share of unnecessary bloated indirect dependencies while preserving functional correctness.
- Abstract(参考訳): JavaScriptパッケージは肥大化しやすいことで知られており、これはWebアプリケーションのパフォーマンスと保守性に大きな影響を与えている。
ウェブバンドルとツリーシェイキングはクライアントサイドアプリケーションでこの問題を軽減することができるが、最先端技術はサーバサイドアプリケーションでの肥大化の検出と除去に制限がある。
本稿では、サーバサイドJavaScriptアプリケーションにおける肥大化した依存関係を調査する最初の研究について、広く使われている高ダイナミックなCommonJSモジュールシステムで構築されたものに焦点を当てる。
そこで我々は,OSファイルシステムをモニタし,実行中にどの依存関係にアクセスできないかを決定するトレースベースの動的解析手法を提案する。
このアプローチを評価するため、91のCommonJSパッケージのオリジナルのデータセットを50,488の依存関係でキュレートした。
最先端の動的および静的なアプローチと比較して、トレースベースの分析は、肥大した依存関係を検出する上で高い精度を示す。
我々の分析では50,488の依存関係の50.6%が肥大化しており、13.8%が直接依存関係、51.3%が間接依存関係である。
さらに、依存関係設定ファイルのクリーニングによって直接肥大化した依存関係のみを削除することで、機能的正確性を維持しながら、不要な肥大化した間接的な依存関係のかなりのシェアを取り除くことができる。
関連論文リスト
- DI-BENCH: Benchmarking Large Language Models on Dependency Inference with Testable Repositories at Scale [39.92722886613929]
DI-BENCHは、大規模言語モデルの依存性推論能力を評価するために設計された、大規模なベンチマークおよび評価フレームワークである。
ベンチマークでは、Python、C#、Rust、JavaScriptにまたがるテスト環境を備えた581のリポジトリが提供されている。
テキストと実行ベースのメトリクスによる大規模な実験により、現在の最高のパフォーマンスモデルは42.9%の実行パス率しか達成していないことが明らかになった。
論文 参考訳(メタデータ) (2025-01-23T14:27:11Z) - Commit0: Library Generation from Scratch [77.38414688148006]
Commit0は、AIエージェントにスクラッチからライブラリを書くよう促すベンチマークである。
エージェントには、ライブラリのAPIを概説する仕様文書と、インタラクティブなユニットテストスイートが提供されている。
Commit0はまた、モデルが生成したコードに対して静的解析と実行フィードバックを受け取る、インタラクティブな環境も提供する。
論文 参考訳(メタデータ) (2024-12-02T18:11:30Z) - A Preliminary Study on Self-Contained Libraries in the NPM Ecosystem [2.221643499902673]
現代のソフトウェアエコシステムにおけるライブラリの普及は、依存関係の複雑なネットワークを生み出します。
依存関係がゼロのライブラリは自己完結型になる。
本稿では,NPMエコシステムにおける自己完結型ライブラリの特徴について考察する。
論文 参考訳(メタデータ) (2024-06-17T09:33:49Z) - See to Believe: Using Visualization To Motivate Updating Third-party Dependencies [1.7914660044009358]
サードパーティの依存関係を使用したアプリケーションによって導入されたセキュリティ脆弱性が増加している。
開発者はライブラリのアップデートに注意を払っており、脆弱性の修正にも注意している。
本稿では、依存性グラフ可視化(DGV)アプローチが、開発者が更新を動機付けると仮定する。
論文 参考訳(メタデータ) (2024-05-15T03:57:27Z) - Dependency Practices for Vulnerability Mitigation [4.710141711181836]
npmエコシステムの450以上の脆弱性を分析し、依存するパッケージが脆弱なままである理由を理解します。
依存関係によって感染した20万以上のnpmパッケージを特定します。
私たちは9つの機能を使って、脆弱性修正を迅速に適用し、脆弱性のさらなる伝播を防ぐパッケージを特定する予測モデルを構築しています。
論文 参考訳(メタデータ) (2023-10-11T19:48:46Z) - Analyzing Maintenance Activities of Software Libraries [65.268245109828]
近年、産業アプリケーションはオープンソースソフトウェアライブラリを深く統合している。
産業アプリケーションに対する自動監視アプローチを導入して、オープンソース依存関係を特定し、その現状や将来的なメンテナンス活動に関するネガティブな兆候を示したいと思っています。
論文 参考訳(メタデータ) (2023-06-09T16:51:25Z) - On the Security Blind Spots of Software Composition Analysis [46.1389163921338]
Mavenリポジトリで脆弱性のあるクローンを検出するための新しいアプローチを提案する。
Maven Centralから53万以上の潜在的な脆弱性のあるクローンを検索します。
検出された727個の脆弱なクローンを検出し、それぞれに検証可能な脆弱性証明プロジェクトを合成する。
論文 参考訳(メタデータ) (2023-06-08T20:14:46Z) - Reference Twice: A Simple and Unified Baseline for Few-Shot Instance Segmentation [103.90033029330527]
FSIS(Few-Shot Instance)は、サポート例が限定された新しいクラスの検出とセグメンテーションを必要とする。
我々は、FSISのサポートとクエリ機能の関係を利用するための統合フレームワーク、Reference Twice(RefT)を導入する。
論文 参考訳(メタデータ) (2023-01-03T15:33:48Z) - Demystifying Dependency Bugs in Deep Learning Stack [7.488059560714949]
本稿では、Deep Learningスタック全体にわたる依存性バグ(DB)の症状、根本原因、修正パターンを特徴付ける。
以上の結果から,依存性管理の実践的意義が明らかとなった。
論文 参考訳(メタデータ) (2022-07-21T07:56:03Z) - Pack Together: Entity and Relation Extraction with Levitated Marker [61.232174424421025]
エンコーダにマーカを戦略的にパッケージ化することにより,スパン(ペア)間の依存関係を検討するために,Packed Levitated Markersという新しいスパン表現手法を提案する。
実験の結果,3つの平坦なNERタスクにおいて,有望なマーカーが充填されたモデルの方がシーケンスラベルモデルよりも0.4%-1.9%優れ,トークンコンキャットモデルを6つのNERベンチマークで上回っていることがわかった。
論文 参考訳(メタデータ) (2021-09-13T15:38:13Z) - Modeling Multi-Label Action Dependencies for Temporal Action
Localization [53.53490517832068]
実世界のビデオには、アクションクラス間の固有の関係を持つ多くの複雑なアクションが含まれている。
非発生ビデオにおける時間的行動の局在化のタスクのためのこれらの行動関係をモデル化する注意に基づくアーキテクチャを提案する。
マルチラベルアクションローカリゼーションベンチマークの最先端の方法よりもパフォーマンスが向上しました。
論文 参考訳(メタデータ) (2021-03-04T13:37:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。