PKU-ASAL / SeeWasm

A native symbolic execution engine for WebAssembly
37 stars 4 forks source link

Visualize the ICFG on basic block level #72

Closed HNYuuu closed 2 years ago

HNYuuu commented 2 years ago

Is your feature request related to a problem? Please describe. After I change the CFG to the ICFG, I always need to draw all basic blocks to see if the control flow is executed expectedly. Thus I need an option, like --visualize to generate a PDF.

Describe the solution you'd like Generate a PDF that draws ICFG on basic block level from entry (__original_main).

Additional context Maybe the entry and its outer function can be designated also. Currently, the __original_main is enough.

An example:

image

Note: each block has to be named by its block's name

HNYuuu commented 2 years ago

Done in #73

But, note, currently, we only guarantee the correctness once the entry is __original_main, as we fixed the _start as an outer and the caller of the __original_main.