radareorg / radeco

radare2-based decompiler and symbol executor
368 stars 51 forks source link

Generics for intra-function analysis passes #106

Open sushant94 opened 6 years ago

sushant94 commented 6 years ago

All intra-function passes should have a similar structure to allow us to view them as passes. This has the following benefits:

Additionally, individual passes could also be developed by other users and still work within the eco-system.

Points of discussion:

XVilka commented 6 years ago

It was our initial idea years ago after all. But there should be an ability to change the sequence of those passes manually (or repeat some if needed).

XVilka commented 6 years ago
  1. I think there should be two dependency types - if some "source" is present, like external radare2 or radeco plugin, and if some passes ran before.
  2. Differentiate those passes that change the graph and those who not.
ZhangZhuoSJTU commented 6 years ago
  1. Differentiate those passes that change the graph and those who not.

@XVilka Do you mean the graph structure of SSA, like removing a dead block?

Btw, do you have some basic idea about Trait or Structs? I think it would benefit if we could build a basic structure and work on this.

XVilka commented 6 years ago

@ZhangZhuoSJTU yes, like your example.