私はJgraphtライブラリの助けを借りている2つのプログラムがガンマ同型かどうかを調べようとしています。さて、プログラムのプログラム依存グラフを生成し、それをグラフオブジェクトとして捕捉する必要があります。 frama-cを使ってpdgを生成することができます。私はframa-c -pdg -pdg-dot graph -pdg-print program.c
を使ってプログラムのpdgを生成し、出力はドット形式です。私はグラフを得るためにドットフォーマットを解析する必要があります。代わりに、ドットファイルの代わりにグラフオブジェクトのようなグラフデータ構造を取得することができます。Frama-cはドットファイルの代わりにグラフオブジェクトを生成する
0
A
答えて
2
技術的に言えば、Frama-CのDb.Pdg
モジュールでエクスポートされた関数で必要な情報を抽出できるはずです。特に、 Db.Pdg.iter_nodes
はあなたが上PDGによって生成されたすべてのノード(のためのすべてのの機能を)ITERすることができ、および機能のDb.Pdg.direct_*dpds
家族は、それらのすべてまたはいずれかを、あなたに与えられたノードの直接の子のリストを取得します特定の種類のものだけです。詳細については、Frama-Cのソース内のdb.mli
ファイルを参照してください。
しかし、私はあなたになぜそれをしたいのかと尋ねる必要があります。私の検索エンジンが私にとっては、JGraphT
はJavaライブラリであり、最後に私がチェックしたところではOCaml/Javaバインディングは実装するのが難しくありませんでした。さらに、DOTImporter
のJGraphT
クラスは、pdgの出力を多かれ少なかれ直接使用できるようにする必要があります。
関連する問題
- 1. AVPlayerItemのコピーを何らかの形で生成する代わりに、参照にアクセスする代わりに
- 2. Kerberosチケットの代わりに常にNTLMを生成する
- 3. PDFの代わりにGoogleドキュメントファイルを生成する
- 4. protobuf C++がMessageLiteの代わりにMessageを生成する
- 5. JAXBを生成するJAXB <String>の代わりに
- 6. hugo/blogdownでhtmlの代わりに.rmdファイルを生成する
- 7. setterの代わりにbuilderメソッドを生成する
- 8. JavaScript:文字の代わりに数字を生成するconsole.log()
- 9. リンクテキストとしてtitleの代わりにnav_titleを生成する
- 10. Scaffold-DbContextの代わりにエンティティタイプを生成する
- 11. Senchaコマンド生成フォームは、代わりにビューを生成します
- 12. Elixirは "?"でURLを生成します。代わりに "/"
- 13. git rebaseのマージを行う代わりに、再生する代わりに
- 14. プリプロセッサマクロコードの生成に代わるC++の代替方法は?
- 15. メガフォーマルを作成する代わりに
- 16. Swiftの代わりにObjective CでNSManagedObjectクラスを生成するには?
- 17. TYPO3 DCE(Fluid):イメージタグの代わりにSVGオブジェクトを生成するには?
- 18. ミステリー...偽の紹介者は404エラーの代わりに500を生成する
- 19. Javascriptのツールチッププラグイン - クローニングの理由とマークアップを生成する代わりに、元は
- 20. Json:実際のオブジェクトの代わりにオブジェクトIDを生成
- 21. WPF:Windows MessageBoxの代わりにカスタムMessageBoxを生成
- 22. xsd.exeでグローバルタイプの代わりにネストタイプを生成
- 23. Google Maps API、サークルパスの代わりにラインパスを生成
- 24. OrbeonはPDFの代わりにフォームのHTMLドキュメントを生成できますか?
- 25. ADODB接続のExcel VBAは値の代わりにテキストを生成します
- 26. comboBoxはreadmode webのspanの代わりにテーブルを生成します
- 27. CLASSの代わりにjquery use IDを作成するには?
- 28. dotnet newはproject.jsonの代わりに.csprojファイルを生成します
- 29. javapackagerは.dmgの代わりに.appだけを生成できますか?
- 30. Androidスタジオ2.3はapkの代わりにaarを生成します