論文の概要: Neuro-Symbolic Indirect-Call Analysis under Opaque Pointers
- arxiv url: http://arxiv.org/abs/2609.33547v4
- Date: Fri, 02 Oct 2026 16:34:23 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-10-06 00:14:29.922759
- Title: Neuro-Symbolic Indirect-Call Analysis under Opaque Pointers
- Title(参考訳): 不透明ポインタによるニューロシンボリック間接コール解析
- Abstract要約: 我々は,このディスパッチ関係を不透明IR上で再構成する最初の解析を行った。
1つの分析では、リコール保存コールグラフと洗練されたコールグラフの両方が得られる。
- 参考スコア(独自算出の注目度): 9.437160665367273
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Resolving indirect calls is central to call-graph construction for C. Scalable type-based analyses such as MLTA use type information in LLVM IR to associate indirect calls with functions assigned to the corresponding structure fields. However, a single pointee type often misrepresents the memory a pointer addresses, and LLVM 17 removed pointee types in favor of opaque pointers. Therefore, field-sensitive analyses lose their matching key. Recovering the erased types restores the matching key but still misses the relation that the type encoded: which functions the program assigns to the field. We present Facet, to our knowledge the first analysis that reconstructs this dispatch relation over opaque IR. Facet identifies the structure field from which an indirect call loads its function pointer. It separately recovers the functions assigned to that field through initializers, stores, and aggregate copies. It then joins the two by field identity, without requiring an end-to-end value-flow path. Facet classifies proposed call-graph changes under distinct evidence rules for edge addition and removal and records the assumption behind each refinement. An LLM decides only the residual cases among symbolically bounded candidates. One analysis yields both a recall-preserving call graph and a refined call graph. On 14 C programs, Facet reduces the mean target-set size from 25.9 to 5.2 and raises observed recall from 0.79 to 0.99. Its recovered field identities agree with typed IR at 98.1% of jointly resolved sites. Applied to bug detection, the refined call graph found 17 deep bugs in C software from nginx to the Linux kernel, three of them latent for over a decade; 12 are confirmed.
- Abstract(参考訳): MLTAのようなスケーラブルな型ベースの分析では、LLVM IRの型情報を使って、間接呼び出しと対応する構造体に割り当てられた関数を関連付ける。
しかし、単一のポインタ型はしばしばポインタアドレスのメモリを誤って表現し、LLVM 17は不透明なポインタを優先してポインタ型を削除した。
したがって、フィールド感度解析はマッチングキーを失う。
消去された型を復元することは、マッチングキーを復元するが、型がエンコードした関係を見逃す:プログラムがフィールドに割り当てる関数。
我々はFacetについて、不透明IR上のディスパッチ関係を再構築する最初の分析を行った。
Facetは、間接呼び出しがその関数ポインタをロードする構造体を特定する。
これはイニシャライザ、ストア、集約コピーを通じて、そのフィールドに割り当てられた関数を別々に復元する。
そして、エンドツーエンドのバリューフローパスを必要とせずに、フィールドアイデンティティによって2つを結合する。
Facetはエッジの追加と削除に関する明確なエビデンスルールの下で提案されたコールグラフの変更を分類し、各リファインメントの背後にある仮定を記録する。
LLMは、記号的に有界な候補者の残余ケースのみを決定する。
1つの分析では、リコール保存コールグラフと洗練されたコールグラフの両方が得られる。
14のCプログラムでは、Facetは平均目標セットサイズを25.9から5.2に減らし、観測されたリコールを0.79から0.99に引き上げる。
回復したフィールドアイデンティティは、共同で解決されたサイトの98.1%の型付きIRと一致している。
バグ検出に応用して、改善されたコールグラフでは、nginxからLinuxカーネルまで、Cソフトウェアの17の深いバグが見つかった。
関連論文リスト
- SeGDeP: Semantic- and Geometric-Aware Decoupled Prompts for Reasoning Segmentation [51.46828526392219]
推論セグメンテーションは暗黙の言語学的結論を正確なマスクに変換する。
既存のMLLMセグメンタインタフェースでは、特別なトリガーを使用するか、両方の信号を1つのコンテキストに圧縮する。
明示的なWhat-whereインターフェースであるSeGDePを提示する。
論文 参考訳(メタデータ) (2026-09-08T15:11:32Z) - GrapNet: A Programmable Dynamic-Architecture Neural Graph Substrate [3.1050763275397806]
プログラム可能性(Programmability)は、固定テンソルニューラルネットワークにおける第一級インタフェースの欠如である。
GrapNetはこのグラフ・アズ・ネットワーク設定を研究している。
GrapNetはベクトル値の親インターフェイスを通じて構成する。
論文 参考訳(メタデータ) (2026-06-17T10:51:58Z) - Needles at Scale: LLM-Assisted Target Selection for Windows Vulnerability Research [0.0]
低コストのバッチパイプラインであるSybolicate-Enrich-Sampleは、プロダクションWindowsバイナリのコーパスを優先度の高い研究キューに変換する。
低コストの言語モデルを用いて、リーチビリティ層、リスクレベル、バグクラスの仮説、理論的根拠を割り当てます。
Windowsイメージ全体では7,231,419の関数があり、ラベルは極めて選択的であり、決定論的フィルタを積み重ねると22K関数のショートリストが残る。
論文 参考訳(メタデータ) (2026-05-31T17:46:13Z) - Beyond Imprecise Distance Metrics: LLM-Predicted Target Call Stacks for Directed Greybox Fuzzing [11.825548125173022]
Directed graybox fuzzing (DGF)は、特定のターゲット位置でバグを効率的にトリガーすることを目的としている。
既存のDGFアプローチは不正確な確率計算に悩まされている。
そこで本稿では,静的解析に基づく距離測定を高精度なコールスタック表現に置き換えることを提案する。
論文 参考訳(メタデータ) (2025-10-27T08:17:03Z) - Boosting Pointer Analysis With Large Language Model-Enhanced Allocation Function Detection [17.94389997355635]
既存のアプローチは、主にカスタムアロケータを見落とし、粗いエイリアスと分析精度の低下につながる。
AFDは、カスタムアロケーション関数を自動的に識別し、モデル化することにより、ポインタ解析を強化する新しい技術である。
AFDを実世界の15のプロジェクトで評価し,600以上のカスタムAFを同定した。
論文 参考訳(メタデータ) (2025-09-26T16:08:58Z) - Resolving Indirect Calls in Binary Code via Cross-Reference Augmented Graph Neural Networks [14.474710100574866]
グラフニューラルネットワークを用いて間接呼び出しを解決する新しいアプローチである CupidCall を導入する。
我々は,高度なコンパイラレベルの型解析を利用して,高品質なコールライトとキャリーのトレーニングペアを生成する。
さらに、拡張CFGとリレーショナルグラフ畳み込みを利用して正確な目標予測を行うグラフニューラルモデルを設計する。
論文 参考訳(メタデータ) (2025-07-24T20:54:41Z) - Divide by Question, Conquer by Agent: SPLIT-RAG with Question-Driven Graph Partitioning [62.640169289390535]
SPLIT-RAGは、質問駆動セマンティックグラフ分割と協調サブグラフ検索による制限に対処するマルチエージェントRAGフレームワークである。
革新的なフレームワークは、まずリンク情報のセマンティック分割を作成し、次にタイプ特化知識ベースを使用してマルチエージェントRAGを実現する。
属性対応グラフセグメンテーションは、知識グラフを意味的に一貫性のあるサブグラフに分割し、サブグラフが異なるクエリタイプと整合することを保証する。
階層的なマージモジュールは、論理的検証を通じて、部分グラフ由来の解答間の矛盾を解消する。
論文 参考訳(メタデータ) (2025-05-20T06:44:34Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [51.898805184427545]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - Learning Dynamic Compact Memory Embedding for Deformable Visual Object
Tracking [82.34356879078955]
本稿では,セグメント化に基づく変形可能な視覚追跡手法の識別を強化するために,コンパクトなメモリ埋め込みを提案する。
DAVIS 2017ベンチマークでは,D3SやSiamMaskなどのセグメンテーションベースのトラッカーよりも優れている。
論文 参考訳(メタデータ) (2021-11-23T03:07:12Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。