radareorg / radeco

radare2-based decompiler and symbol executor
371 stars 52 forks source link

Basic Structure for VSA #121

Open ZhangZhuoSJTU opened 6 years ago

ZhangZhuoSJTU commented 6 years ago

I am working on VSA, and need some help about basic structure design for VSA.

Now, I have some ideas about the implement.

The advantage for the first way is we could make Value Set as a IR's property, while the one for the second way is more logical. Ofc, The third one is a transition between the first two ways.

XVilka commented 6 years ago

Is it still true?

ZhangZhuoSJTU commented 6 years ago

No need to worry the Basic Structure for VSA right now.

Because right now Radeco could support analysis between functions, the valueset could be used just as an internal data structure inside the analysis stage.

On the other hand, the value set analysis could perform on all the functions to gather precise or chosen functions to speed up. And it could do two works:

Because a sound VSA is much complex, work will be cut into following stages:

Btw, the original analysis/valueset is deprecated and old, while I will make a new folder analysis/vsa to rewrite it. When I finish these work, we could replace folder valueset by vsa

XVilka commented 6 years ago

See also VSA implementation for BAP https://github.com/draperlaboratory/cbat_tools