clangとgraphvizを使って、C/C++コードas explained in this answerの呼び出しグラフを生成できます。clangや他のツールを使用してデータフローグラフを生成するにはどうすればよいですか?
本当に大きなコードベース(大部分はC)で計算されたデータフローダイアグラムが必要です。このコードベースは、cmake
がビルドツールとして使用されるソフトウェアです。
私の問題は、データ構造の名前を考えれば、この構造体を使用して/関数を使用してファイルの名前を取得することができますか?
打ち鳴らすプロジェクトからLibtool
内のいくつかのデータ・フロー・マイニング・アルゴリズムにはいくつかのまばらな参照がありますが、私はclang
自体またはscan-build
には何も見つからなかった(それが安定または開発中の何かがいた場合でも、わかりません)。
この情報はどのように生成できますか?私が本当に必要とするのは、コード内のどこで使用されているかを調べたいという名前があるからです。私が調べた静的解析ツールのほとんどは関数とメソッドに焦点を当てています。clang
でデータ構造の使用をチェックする必要があります。
EDIT:
私もドキュメントについてはdoxygenのを使用して検討しているので、doxygenをのXML出力は、いくつかのツールのために役立つことができれば、私はそれを使用することができます。
これはちょっと変わったかもしれませんが、コードベース全体をEclipseに読み込んだ後、Eclipseの検索機能を使ってコードベース全体を読み込むことを検討しましたか? – slugonamission
@slugonamissionよく、私は何も動作するものが見つからないので...; Eclipseでどのツールを使用すればよいかわかりますが、CDTはCおよびC++用のEclipseスイートですが、この種の解析には何が使用されているのか分かりません。 – algl
これはデータフローのためのものではありませんが、データ構造がどこで使われているかを確認するだけです。 CDT + Eclipseを使用することで、少なくともDFGではなく、どこかの検索メニューのどこでデータ構造が使用されているかをグラフィカルに見つけることができます。 – slugonamission