passlab / DCFG

Dynamic ControlFlow Graph and DataFlow Graph for Binary-based Optimization
18 stars 4 forks source link

Unable to reproduce example DCFG files #2

Open jjang3 opened 1 year ago

jjang3 commented 1 year ago

Hello, thank you very much for sharing this repository.

I have tried using some of the examples posted in the simple_loop_dependency-pinplay directory, but unable to reproduce the same DCFG.

When I run the following commands:

$PIN_ROOT/pin -follow_execv -t $PIN_ROOT/extras/dcfg/bin/intel64/loop-tracker.so -dcfg -- ../simple_loop
/home/Downloads/dcfg_pin/extras/dcfg/bin/intel64/dcfg-to-dot dcfg-out.dcfg.json.bz2 test.dot 
sfdp -x -Tpng test.dot > dcfg-out.png

I end up with a monster graph looking like this: Screenshot 2023-02-09 at 4 54 37 PM

Could you kindly tell me what version of the PIN you were using in addition to any other things I may be missing to produce a concise DCFG graph as provided in the example directory? image

I have directly downloaded the PIN from the official link, where it also has a PLDI tutorial: https://www.intel.com/content/www/us/en/developer/articles/tool/program-recordreplay-toolkit.html

Thank you in advance.