論文の概要: 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アプリケーションバンドルに対して、初めてスケーラブルで効率的でエンドツーエンドのソリューションを提供する。
関連論文リスト
- CodeXEmbed: A Generalist Embedding Model Family for Multiligual and Multi-task Code Retrieval [103.116634967815]
CodeXEmbedは400Mから7Bパラメータの大規模なコード埋め込みモデルのファミリーである。
我々の新しいトレーニングパイプラインは、複数のプログラミング言語を統合し、様々なコード関連タスクを共通の検索フレームワークに変換する。
私たちの7Bモデルは、コード検索において新しい最先端(SOTA)を設定し、以前の主要なモデルであるVoyage-CodeをCoIRベンチマークで20%以上上回っています。
論文 参考訳(メタデータ) (2024-11-19T16:54:45Z) - CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - Learning to Reason via Program Generation, Emulation, and Search [33.11955431589091]
言語モデル(LM)によるプログラム合成は、多くの推論能力を解放した。
すべての推論タスクは、コードとして容易に表現できるわけではない。例えば、常識的推論、道徳的意思決定、皮肉な理解を含むタスクである。
我々は,プログラム合成スキルをこのようなタスクに拡張するために,コード生成とエミュレートされた実行(CoGEX)を提案する。
論文 参考訳(メタデータ) (2024-05-25T19:40:50Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。