問題タブ [control-flow-graph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
356 参照

gcc - GCC の RTL ダンプで呼び出し/ジャンプの種類を区別する

RTL 形式の gcc の制御フロー グラフ ダンプを取得し、graphviz を使用して視覚化しました。ただし、どのジャンプ/コールが直接的でどれが間接的かはまだ不明です。それらを互いに区別するための提案はありますか?

0 投票する
1 に答える
295 参照

testing - C コードの c-use および p-use 変数と共にデータ フロー グラフを取得するにはどうすればよいですか?

Cコードのデータフローグラフを作成し、p-useおよびc-use変数を提供するオンラインツール/ソフトウェア(オープンソースが推奨)はありますか?

0 投票する
2 に答える
1548 参照

parsing - プログラムで Java コード (メソッド) を解析して制御フロー グラフにする方法

Java コードまたは Java メソッドを制御フロー グラフ (CFG) に解析するために使用できる API または参照ライブラリはありますか。AST を CFG に変換しようとしましたが、 AST パーサーを使用して変換できませんでしたが、変換する方法が見つかりませんでした。私は Eclipse IDE JAVA (J2SE) に取り組んでいます。
親切に助けてください。

0 投票する
0 に答える
470 参照

c - 逆アセンブルと C の制御フローを比較するツール

一部の逆アセンブリと一部の C の制御フローを比較するツールはありますか?

これが私の状況です。関数の逆アセンブリ (x86_64) から始めました。一部の C コードでは、Hopper.app が提供する逆コンパイルを利用して、同じ機能を持つ関数を作成しようとしました。私の C コードが逆アセンブリの機能を正確に再作成することを確認したいと思います (可能なすべての入力とグローバル状態について)。制御フロー グラフを比較できるようになることを願っています。

このホワイト ペーパーの要約によると、少なくとも Java のコンテキストでは、この分野でいくつかの作業が行われています。

逆アセンブル用の制御フロー グラフの生成と比較に使用できるツールはありますか? 理想的には、私が始めた逆アセンブリの制御フローと、思いついた C コードを比較できればよいのですが、私が始めた逆アセンブリの制御フローと、C コードから生成できる逆アセンブリの制御フローを比較すると、それでも素晴らしいです。

0 投票する
1 に答える
1447 参照

tbb - TBBのデータフローグラフと依存グラフの違いは何ですか

Intel TBB チュートリアルについて読んだことがありますがdata flow graphdependence graphこれら 2 つの概念について少し混乱しています。

と の主な違いは、明示的に共有されたリソースがあるかどうかだと言えdata flow graphますdependence graphか?

しかし、疑似メッセージでdependence graphusingを実装したり、共有グローバル変数でusingを実装したりできるようです。function_nodedata flow graphcontinue_node

0 投票する
0 に答える
150 参照

abstract-syntax-tree - インテルの icc コンパイラーは AST、CFG、IR を生成できますか?

clang を使用する場合、clang が生成する抽象構文ツリー (AST)、制御フロー グラフ (CFG)、および LLVM IR を調べると役立つことがわかりました。

Intel の icc コンパイラ (バージョン 15.0.2) を調べ始めましたが、同じアーティファクトを生成できるかどうか、またはどのように生成できるかを示すドキュメントが見つかりません。

私が見つけた最も近いものは、とりわけ IR を含むファット リンク時オブジェクトを生成できることです。しかし、IR がユーザーにとって理解しやすいものであることを示唆するものは何も見当たりません。

これらのアーティファクトをiccから取得する方法があるかどうかは誰にもわかりませんか?

0 投票する
2 に答える
706 参照

eclipse - Scalaコードから制御フローグラフを生成するには?

Scala コンパイラによって生成された制御フロー グラフを見たい。そうする方法はありますか?私はオンラインで検索してみましたが、ここwww.drgarbage.comのようなJava用のEclipseプラグインしか見つかりませんでしたが、Scala用のものはありませんでした。

ありがとう

編集: scalac によって生成された .class ファイルを取得し、それを dr ガベージ プラグインで開いて、制御フロー グラフとして視覚化されたバイトコードを確認しました。しかし、scalac は 3 つの異なる .class ファイルを作成します: Foo、Foo$、および Foo$delayedInit$body です。切断されたグラフがたくさん表示されますが、Foo$ のグラフの 1 つだけが適切に見えます。3 つの .class ファイルの違いをオンラインで検索してみましたが、何も見つかりませんでした。

0 投票する
1 に答える
829 参照

static-analysis - 制御フロー グラフにサブルーチン呼び出しをどのように含めますか?

制御フロー グラフのアイデアが得られました。これには、ジャンプを表すエッジで接続された基本ブロック (常に発生する操作のシーケンス) であるノードが含まれます。

しかし、サブルーチン呼び出しをどのように表現するのでしょうか?

次のような 2 つの関数がある場合:

両方の関数が を呼び出している場合、ブロックから へのジャンプと への別のジャンプ、およびブロックから へのジャンプとdo_something()へのジャンプを許可する方法が必要ですが、 からへのジャンプとへのジャンプは決してありません。(または→ → ) したがって、単純な有向グラフではこれらの関係を定義するのに十分ではないように思えます...何かが足りないのかもしれません。tweedledeedo_somethingtweedledeetweedledumdo_somethingtweedledumtweedledeedo_somethingtweedledumtweedledumdo_somethingtweedledee