A library for building intraprocedural PDGs for Java programs
TinyPDGのフォーク
実験に必要なデータを収集する
./gradlew run --args="-d path/to/srcfile -p ./pdg.dot -c ./cfg.dot"
dot -Tpdf pdg.dot -o pdg.pdf
追加したオプション-e
, -t
, -l
各ノードに着目し,データ/コントロール依存エッジの入力/出力数を出力する.
./gradlew run --args="-d path/to/srcfile -e path2outputfile"
-d
で指定したファイルのデータ依存グラフを作成し,
各ノードにおける,
- データ依存エッジの入力数
- データ依存エッジの出力数
- コントロール依存エッジの入力数
- コントロール依存エッジの出力数 を指定したファイルに出力する.
-t
は特定のメソッドを指定できる. -e
と共に利用できる.
-l
は特定のラインを指定できる.-e
, -t
とのみ利用できる.
出力されるデータ形式はcsv
dot -T png ${pdg}.dot -o ${pdg}.png