論文の概要: Static JavaScript Call Graphs: A Comparative Study
- arxiv url: http://arxiv.org/abs/2405.07206v1
- Date: Sun, 12 May 2024 08:10:46 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-14 17:57:54.683761
- Title: Static JavaScript Call Graphs: A Comparative Study
- Title(参考訳): 静的JavaScriptコールグラフの比較研究
- Authors: Gábor Antal, Péter Hegedűs, Zoltán Tóth, Rudolf Ferenc, Tibor Gyimóthy,
- Abstract要約: 我々は、JavaScriptコールグラフを構築するために広く採用されている5つの静的アルゴリズムを体系的に比較した。
その結果,アルゴリズム間のコールエッジの交点は比較的大きく,精度は100であることがわかった。
ACGはTAJSの直後に最も精度が高かったが,ACGの呼び出しエッジは有意に増加した。
- 参考スコア(独自算出の注目度): 2.0512104126857786
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: The popularity and wide adoption of JavaScript both at the client and server side makes its code analysis more important than ever before. Most of the algorithms for vulnerability analysis, coding issue detection, or type inference rely on the call graph representation of the underlying program. Despite some obvious advantages of dynamic analysis, static algorithms should also be considered for call graph construction as they do not require extensive test beds for programs and their costly execution and tracing. In this paper, we systematically compare five widely adopted static algorithms - implemented by the npm call graph, IBM WALA, Google Closure Compiler, Approximate Call Graph, and Type Analyzer for JavaScript tools - for building JavaScript call graphs on 26 WebKit SunSpider benchmark programs and 6 real-world Node.js modules. We provide a performance analysis as well as a quantitative and qualitative evaluation of the results. We found that there was a relatively large intersection of the found call edges among the algorithms, which proved to be 100 precise. However, most of the tools found edges that were missed by all others. ACG had the highest precision followed immediately by TAJS, but ACG found significantly more call edges. As for the combination of tools, ACG and TAJS together covered 99% of the found true edges by all algorithms, while maintaining a precision as high as 98%. Only two of the tools were able to analyze up-to-date multi-file Node.js modules due to incomplete language features support. They agreed on almost 60% of the call edges, but each of them found valid edges that the other missed.
- Abstract(参考訳): クライアント側とサーバ側の両方でJavaScriptの人気と広く採用されているため、コード解析はこれまで以上に重要になっている。
脆弱性分析、コーディング問題検出、型推論のアルゴリズムのほとんどは、基礎となるプログラムのコールグラフ表現に依存している。
動的解析のいくつかの明らかな利点にもかかわらず、静的アルゴリズムは、プログラムの広範なテストベッドやコストのかかる実行とトレースを必要としないため、コールグラフの構築にも考慮すべきである。
本稿では,npmコールグラフ,IBM WALA,Google Closure Compiler,Approximate Call Graph,Type Analyzer for JavaScriptツールによって実装された,26のWebKit SunSpiderベンチマークプログラムと6つの実世界のNode.jsモジュール上でJavaScriptコールグラフを構築するための,広く採用されている5つの静的アルゴリズムを体系的に比較する。
結果の定量的,定性的な評価だけでなく,性能分析も提供する。
その結果,アルゴリズム間のコールエッジの交点は比較的大きく,精度は100であることがわかった。
しかし、ツールのほとんどは、他のすべてに見逃されたエッジを見つけました。
ACGはTAJSの直後に最も精度が高かったが,ACGの呼び出しエッジは有意に増加した。
ツールの組み合わせに関して、ACGとTAJSは、すべてのアルゴリズムで見つかった真のエッジの99%をカバーし、精度は98%まで維持した。
言語機能が不完全なため、最新のマルチファイルNode.jsモジュールを解析できたのは2つだけだった。
彼らは約60%の呼び出しエッジに同意したが、それぞれが、もう一方が見逃した有効なエッジを見つけた。
関連論文リスト
- Can Large Language Models Analyze Graphs like Professionals? A Benchmark, Datasets and Models [90.98855064914379]
グラフを処理するために,大規模言語モデル(LLM)のベンチマークであるProGraphを導入する。
その結果,現在のLCMの性能は不満足であり,最高のモデルでは36%の精度しか達成できないことがわかった。
本研究では,6つの広く使用されているグラフライブラリに基づいて,クローリングされたドキュメントと自動生成コードを含むLLM4Graphデータセットを提案する。
論文 参考訳(メタデータ) (2024-09-29T11:38:45Z) - MGNet: Learning Correspondences via Multiple Graphs [78.0117352211091]
学習対応は、不均一な対応分布と低い不整合率で設定された初期対応から正しい対応を見つけることを目的としている。
最近の進歩は、通常、グラフニューラルネットワーク(GNN)を使用して単一のタイプのグラフを構築したり、グローバルなグラフに局所グラフをスタックしてタスクを完了させる。
本稿では,複数の補完グラフを効果的に組み合わせるためのMGNetを提案する。
論文 参考訳(メタデータ) (2024-01-10T07:58:44Z) - Scalable and Precise Application-Centered Call Graph Construction for Python [4.655332013331494]
PyCGはPythonプログラムのコールグラフを構築するための最先端のアプローチである。
本稿では,Python プログラム用のアプリケーション中心のコールグラフを構築するためのスケーラブルで正確なアプローチを提案し,プロトタイプツール JARVIS として実装する。
1つの関数を入力として、JARVISは、フローセンシティブなプロセス内分析とプロセス間解析を行う、オンザフライのコールグラフを生成する。
論文 参考訳(メタデータ) (2023-05-10T07:40:05Z) - NAS-Bench-Graph: Benchmarking Graph Neural Architecture Search [55.75621026447599]
NAS-Bench-Graphは、GraphNASの統一的、再現可能、効率的な評価をサポートする調整されたベンチマークである。
具体的には,26,206のユニークなグラフニューラルネットワーク(GNN)アーキテクチャを網羅した,統一的で表現力のあるコンパクトな検索空間を構築する。
提案したベンチマークに基づいて,GNNアーキテクチャの性能を検索テーブルから直接取得できるが,それ以上の計算は行わない。
論文 参考訳(メタデータ) (2022-06-18T10:17:15Z) - Boosting Graph Embedding on a Single GPU [3.093890460224435]
大規模グラフを最小限のハードウェア制約で埋め込むためのGPUベースのツールであるGOSHを提案する。
更新の影響を高め、埋め込み作業を最小限にするため、新しいグラフ粗化アルゴリズムを採用している。
また、任意の任意の大きなグラフを単一のGPUで埋め込むことができる分解スキーマも組み込まれている。
論文 参考訳(メタデータ) (2021-10-19T15:25:04Z) - Large-Scale Network Embedding in Apache Spark [1.3769786711365102]
本稿では,Apache Sparkを用いた大規模グラフへのネットワーク埋め込みのための効率的かつ効率的な分散アルゴリズムを提案する。
提案手法は数時間で数十億のエッジを持つグラフを処理でき、最先端のアプローチよりも少なくとも4倍高速であることを示す。
論文 参考訳(メタデータ) (2021-06-20T04:42:24Z) - Learnable Graph Matching: Incorporating Graph Partitioning with Deep
Feature Learning for Multiple Object Tracking [58.30147362745852]
フレーム間のデータアソシエーションは、Multiple Object Tracking(MOT)タスクの中核にある。
既存の手法は、主にトラックレットとフレーム内検出の間のコンテキスト情報を無視する。
そこで本研究では,学習可能なグラフマッチング手法を提案する。
論文 参考訳(メタデータ) (2021-03-30T08:58:45Z) - Evaluating Node Embeddings of Complex Networks [0.0]
agood embeddedはグラフトポロジー、ノード間関係、およびグラフに関する他の関連情報をキャプチャする。
主な課題は、埋め込みがグラフの特性をうまく記述することを保証する必要があることである。
実世界のネットワーク上でも人工的に生成されたものでも、選択したグラフ埋め込みアルゴリズムを用いて一連の実験を行う。
論文 参考訳(メタデータ) (2021-02-16T16:55:29Z) - Grale: Designing Networks for Graph Learning [68.23038997141381]
我々は,数十億のノードを持つグラフのグラフ設計問題に対処するために,スケーラブルなGraleを提案する。
グレールは、(潜在的に弱い)類似性の異なる測度を融合して、そのノード間の高いタスク固有のホモフィリーを示すグラフを作成する。
Googleでは、数千億のノードを持つデータセットや、数十兆の潜在的なエッジを含む、20以上の異なる産業環境にGraleをデプロイしています。
論文 参考訳(メタデータ) (2020-07-23T13:25:36Z) - Scaling Graph Neural Networks with Approximate PageRank [64.92311737049054]
GNNにおける情報拡散の効率的な近似を利用したPPRGoモデルを提案する。
高速であることに加えて、PPRGoは本質的にスケーラブルであり、業界設定で見られるような大規模なデータセットに対して、自明に並列化することができる。
このグラフのすべてのノードに対するPPRGoのトレーニングとラベルの予測には1台のマシンで2分未満で、同じグラフ上の他のベースラインをはるかに上回ります。
論文 参考訳(メタデータ) (2020-07-03T09:30:07Z) - Comparison and Benchmark of Graph Clustering Algorithms [6.106697372971535]
私たちは、70以上のグラフクラスタリングプログラムをベンチマークして、実行時と品質のパフォーマンスを評価しました。
私たちの研究は、エンジニアがクラスタリングアルゴリズムを選択するための出発点を提供するだけでなく、研究者が新しいアルゴリズムを設計するための視点を提供することができます。
論文 参考訳(メタデータ) (2020-05-10T22:54:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。