論文の概要: CPyGraph: A Version-Aware Static Analysis Framework for Native CPython Bytecode
- arxiv url: http://arxiv.org/abs/2609.25083v1
- Date: Fri, 18 Sep 2026 21:25:42 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-09-23 18:04:04.036455
- Title: CPyGraph: A Version-Aware Static Analysis Framework for Native CPython Bytecode
- Title(参考訳): CPyGraph - CPythonネイティブバイトコードのためのバージョン対応静的解析フレームワーク
- Abstract要約: CPythonバイトコードのパッケージレベル解析のためのC++フレームワークであるCPyGraphを提案する。
バージョン固有のアダプタは、スタック、コントロール、コール、レキシカル、プロトコル、例外セマンティクスを共有インターフェースを通じて公開する。
CPyGraphをPYGBench,201のパッケージレベルプログラム,1,733の固定候補を用いて評価した。
- 参考スコア(独自算出の注目度): 7.13396930901845
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Static analysis of Python packages must recover both program structure and object flow across first-class functions, dynamic dispatch, implicit protocol calls, exceptions, closures, and module execution. Native CPython bytecode provides the executable lowering of these behaviors, but its instruction, call, stack, and exception representations change across releases. This creates a need for a version-aware analysis foundation whose graph products share the same bytecode identities and semantics. We present CPyGraph, a C++ framework for package-level analysis of native CPython bytecode. Version- specific adapters expose stack, control, call, lexical, protocol, and exception semantics through a shared interface while preserving code-object identities and native bytecode offsets. An operand-stack-aware Andersen points- to analysis and call graph grow together to a fixed point. Their shared state supports exception-aware CFGs, block-level CDGs, and interprocedural DDGs, with optional function-level flow, context, and bounded path sensitivity. The framework also records unresolved dynamic behavior through typed coverage summaries. We evaluate CPyGraph with PYGBench, 201 package-level programs and 1,733 fixed candidates. On CPython 3.10, the default analysis reaches 91.40% candidate precision and 100% recall; complete sensitivity reaches 94.97% precision with the same recall. Across CPython 3.10-3.14, 1,328 of 1,334 version-invariant queries agree, and CPyGraph matches PyCG on its 112-program call-graph benchmark.
- Abstract(参考訳): Pythonパッケージの静的解析は、第一級関数、動的ディスパッチ、暗黙のプロトコル呼び出し、例外、クロージャ、モジュール実行をまたいだプログラム構造とオブジェクトフローの両方を復元する必要がある。
ネイティブCPythonバイトコードはこれらの動作の実行可能な低下を提供するが、その命令、呼び出し、スタック、例外表現はリリース毎に変化する。
これにより、グラフ製品が同じバイトコードのアイデンティティとセマンティクスを共有するバージョンアウェア分析基盤の必要性が生じる。
CPythonバイトコードのパッケージレベル解析のためのC++フレームワークであるCPyGraphを提案する。
バージョン固有のアダプタは、スタック、コントロール、コール、レキシカル、プロトコル、例外セマンティクスを共有インターフェースを通じて公開し、コードオブジェクトのIDとネイティブバイトコードのオフセットを保存する。
オペランドスタック対応のAndersenポイント-分析とコールグラフは固定点まで成長する。
彼らの共有状態は、例外対応CFG、ブロックレベルCDG、およびオプションのファンクションレベルフロー、コンテキスト、およびバウンドパス感度を備えたプロシージャDDGをサポートする。
このフレームワークはまた、型付きカバレッジサマリーを通じて未解決の動的振る舞いを記録する。
CPyGraphをPYGBench,201のパッケージレベルプログラム,1,733の固定候補を用いて評価した。
CPython 3.10では、デフォルト解析は91.40%の候補精度と100%のリコールに達し、完全感度は同じリコールで94.97%の精度に達する。
CPython 3.10-3.14 全体で 1,334 バージョン不変クエリの 1,328 が一致し、CPyGraph は 112 プログラムのコールグラフベンチマークで PyCG と一致する。
関連論文リスト
- A Multi-Language Object-Oriented Programming Benchmark for Large Language Models [61.267115598083315]
35の既存ベンチマークの調査では、3つの大きな不均衡が明らかになった。
85.7%は単一のプログラミング言語に重点を置いている。
94.3%は関数レベルまたはステートメントレベルのタスクのみを対象としている。
80%以上は平均10件未満のテストケースを含む。
論文 参考訳(メタデータ) (2025-09-30T11:30:08Z) - VisCoder: Fine-Tuning LLMs for Executable Python Visualization Code Generation [69.35779796364413]
提案するVisCode-200Kは,Pythonによる可視化と自己補正のための大規模インストラクションチューニングデータセットである。
1)オープンソースリポジトリからの検証済みプロットコードと自然言語命令と描画プロットのペア,(2)Code-Feedbackからの45Kのマルチターン補正ダイアログ。
論文 参考訳(メタデータ) (2025-06-04T13:24:44Z) - CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.1875460416205]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - Scalable and Precise Application-Centered Call Graph Construction for Python [4.655332013331494]
PyCGはPythonプログラムのコールグラフを構築するための最先端のアプローチである。
本稿では,Python プログラム用のアプリケーション中心のコールグラフを構築するためのスケーラブルで正確なアプローチを提案し,プロトタイプツール JARVIS として実装する。
1つの関数を入力として、JARVISは、フローセンシティブなプロセス内分析とプロセス間解析を行う、オンザフライのコールグラフを生成する。
論文 参考訳(メタデータ) (2023-05-10T07:40:05Z) - PyGOD: A Python Library for Graph Outlier Detection [56.33769221859135]
PyGODは、グラフデータの外れ値を検出するオープンソースライブラリである。
外れ値検出のための主要なグラフベースのメソッドを幅広くサポートしています。
PyGODはBSD 2-Clauseライセンスの下でhttps://pygod.orgとPython Package Index (PyPI)でリリースされている。
論文 参考訳(メタデータ) (2022-04-26T06:15:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。