BSim: Graph and compare call trees for matching functions #9669
ashduino101
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Is your feature request related to a problem? Please describe.
I love BSim, and it makes it so much easier to find library functions and separate out third-party code, but it unfortunately sacrifices similarities between control flows.
Describe the solution you'd like
I've been thinking about this for a while, and I believe a step that could be made to improve BSim's control flow interaction could be to have a graph, kind of like the decompiler control flow graph, that attempts to match callers/callees in the call trees of two matching functions, and perhaps displays the similarity (maybe via opacity?). Also, maybe the similarity could be multiplied by each referring function in order to show the overall similarity of two functions more effectively. Of course, these callees can have multiple matches, but selecting the one with the highest confidence would probably be fine. There could also be a context menu with alternatives in the case that the match may be wrong.
Describe alternatives you've considered
It might be worth looking into ways to incorporate caller/callee relations into BSim hashes from the get-go, but I don't know how this would work in practice.
Additional context
I'm writing this on my phone, so this might not make a lot of sense, but I can sketch up some ideas when I'm back at my keyboard.
All reactions