論文の概要: Chain-of-Experts (CoE): Reverse Engineering Software Bills of Materials for JavaScript Application Bundles through Code Clone Search
- arxiv url: http://arxiv.org/abs/2408.16198v1
- Date: Thu, 29 Aug 2024 01:32:49 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-30 15:25:12.143732
- Title: Chain-of-Experts (CoE): Reverse Engineering Software Bills of Materials for JavaScript Application Bundles through Code Clone Search
- Title(参考訳): Chain-of-Experts (CoE): コードクローン検索によるJavaScriptアプリケーションバンドルのためのリバースエンジニアリングソフトウェア法案
- Authors: Leo Song, Steven H. H. Ding, Yuan Tian, Li Tao Li, Philippe Charland, Andrew Walenstein,
- Abstract要約: ソフトウェア・ビル・オブ・マテリアル(Software Bill of Materials, SBOM)は、ソフトウェアアーティファクトに含まれるすべてのコンポーネント、ライブラリ、モジュールの詳細な在庫である。
JavaScriptアプリケーションバンドルは、デプロイ用に統合され、シンボルストラップされ、最適化されたコードのアセンブリである。
JavaScriptアプリケーションバンドルからリバースエンジニアリングプロセスを通じてSBoMを生成することで、サプライヤのソフトウェアリリースの整合性、セキュリティ、コンプライアンスが保証される。
- 参考スコア(独自算出の注目度): 5.474149892700497
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: A Software Bill of Materials (SBoM) is a detailed inventory of all components, libraries, and modules in a software artifact, providing traceability throughout the software supply chain. With the increasing popularity of JavaScript in software engineering due to its dynamic syntax and seamless supply chain integration, the exposure to vulnerabilities and attacks has risen significantly. A JavaScript application bundle, which is a consolidated, symbol-stripped, and optimized assembly of code for deployment purpose. Generating a SBoM from a JavaScript application bundle through a reverse-engineering process ensures the integrity, security, and compliance of the supplier's software release, even without access to the original dependency graphs. This paper presents the first study on SBoM generation for JavaScript application bundles. We identify three key challenges for this task, i.e., nested code scopes, extremely long sequences, and large retrieval spaces. To address these challenges, we introduce Chain-of-Experts (CoE), a multi-task deep learning model designed to generate SBoMs through three tasks: code segmentation, code classification, and code clone retrieval. We evaluate CoE against individual task-specific solutions on 500 web application bundles with over 66,000 dependencies. Our experimental results demonstrate that CoE offers competitive outcomes with less training and inference time when compared with combined individual task-specific solutions. Consequently, CoE provides the first scalable, efficient, and end-to-end solution for the SBoM generation of real-world JavaScript application bundles.
- Abstract(参考訳): A Software Bill of Materials (SBoM) はソフトウェアアーティファクト内のすべてのコンポーネント、ライブラリ、モジュールの詳細な在庫であり、ソフトウェアサプライチェーン全体のトレーサビリティを提供する。
動的構文とシームレスなサプライチェーンの統合により、ソフトウェアエンジニアリングにおけるJavaScriptの人気が高まり、脆弱性やアタックへの露出が大幅に増加した。
統合され、シンボルストラップ付き、最適化されたコードのアセンブリである、JavaScriptアプリケーションバンドル。
JavaScriptアプリケーションバンドルからリバースエンジニアリングプロセスを通じてSBoMを生成することで、元の依存性グラフにアクセスしなくても、サプライヤのソフトウェアリリースの整合性、セキュリティ、コンプライアンスが保証される。
本稿では,JavaScriptアプリケーションバンドルのSBoM生成に関する最初の研究について述べる。
このタスクには、ネストされたコードスコープ、非常に長いシーケンス、大きな検索スペースという3つの重要な課題がある。
これらの課題に対処するために、コードセグメンテーション、コード分類、コードクローン検索という3つのタスクを通じてSBoMを生成するために設計されたマルチタスクディープラーニングモデルであるChain-of-Experts (CoE)を導入する。
66,000以上の依存関係を持つ500以上のWebアプリケーションバンドル上で、個別のタスク固有のソリューションに対して、CoEを評価する。
実験の結果,CoEは個々のタスク固有のソリューションと組み合わせた場合と比較して,トレーニング時間や推論時間が少なくて競争力のある結果が得られることがわかった。
その結果、CoEはSBoM世代の現実世界のJavaScriptアプリケーションバンドルに対して、初めてスケーラブルで効率的でエンドツーエンドのソリューションを提供する。
関連論文リスト
- SnipGen: A Mining Repository Framework for Evaluating LLMs for Code [51.07471575337676]
言語モデル(LLM)は、コードリポジトリを含む広範なデータセットに基づいてトレーニングされる。
それらの有効性を評価することは、トレーニングに使用されるデータセットと評価に使用されるデータセットとが重複する可能性があるため、大きな課題となる。
SnipGenは、コード生成のために、様々な下流タスクをまたいだ迅速なエンジニアリングを活用するように設計された包括的なリポジトリマイニングフレームワークである。
論文 参考訳(メタデータ) (2025-02-10T21:28:15Z) - SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution [56.9361004704428]
大規模言語モデル(LLM)は、様々な複雑なタスクにまたがる顕著な習熟度を示している。
SWE-Fixerは、GitHubの問題を効果的かつ効率的に解決するために設計された、新しいオープンソースフレームワークである。
我々は,SWE-Bench LiteとVerifiedベンチマークに対するアプローチを評価し,オープンソースモデル間の最先端性能を実現する。
論文 参考訳(メタデータ) (2025-01-09T07:54:24Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - CodeChain: Towards Modular Code Generation Through Chain of Self-revisions with Representative Sub-modules [51.82044734879657]
我々は,自己修正の連鎖を通じてモジュール化されたコード生成を誘発する,新しい推論フレームワークであるCodeChainを提案する。
CodeChainは、生成したソリューションのモジュール性と正確性の両方を大幅に向上させ、APPSで35%、CodeContestsで76%の相対パス@1の改善を実現しています。
論文 参考訳(メタデータ) (2023-10-13T10:17:48Z) - CRAFT: Customizing LLMs by Creating and Retrieving from Specialized
Toolsets [75.64181719386497]
大規模言語モデル(LLM)のためのツール作成・検索フレームワークであるCRAFTを提案する。
タスク用に特別にキュレートされたツールセットを作成し、複雑なタスクを解決する能力を高めるためにこれらのセットからツールを取得するコンポーネントをLLMに装備する。
本手法はフレキシブルに設計されており,既製のLCMを細かな調整なしに未確認領域やモダリティに適応するためのプラグアンドプレイ方式を提供する。
論文 参考訳(メタデータ) (2023-09-29T17:40:26Z) - AskIt: Unified Programming Interface for Programming with Large Language
Models [0.0]
大規模言語モデル(LLM)は創発能力として知られるユニークな現象を示し、多くのタスクにまたがって適応性を示す。
本稿では,LLM用に特別に設計されたドメイン固有言語であるAskItを紹介する。
50タスクにわたって、AskItは簡潔なプロンプトを生成し、ベンチマークよりも16.14パーセントのプロンプト長の削減を実現した。
論文 参考訳(メタデータ) (2023-08-29T21:44:27Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。