You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to write some analysis with datalog based on ddisasm, but it's not convenient to reuse the existing results when implementing a pass. Should I write some datalog program and include it from main.dl or are there any recommended ways?
The text was updated successfully, but these errors were encountered:
Hi @ucasqsl, I see you started adding code as a pass in the passes directory. This is certainly a feasible approach. However, we are currently working on an alternative way to allow users to leverage existing results of ddisasm in a way that is decoupled from the main ddisasm code.
Currently, you can run ddisasm with --with-souffle-relations, which will store all the output relations of the souffle program into an AuxData table in the gtirb file. Thus, you could have a standalone module that loads the gtirb and extracts those relations as facts for your own analysis. What we are trying to do next is to more clearly define which relations are "public" (and relatively stable) which are "private" (can change anytime). This way, downstream analyses won't break with every change that we do in the main ddisasm code.
Currently, you can run ddisasm with --with-souffle-relations, which will store all the output relations of the souffle program into an AuxData table in the gtirb file. Thus, you could have a standalone module that loads the gtirb and extracts those relations as facts for your own analysis. What we are trying to do next is to more clearly define which relations are "public" (and relatively stable) which are "private" (can change anytime). This way, downstream analyses won't break with every change that we do in the main ddisasm code.
Thanks, this info is helpful, if I've ever read that option more closely, I think I'd use it. Looking forward to the updates.
I'm trying to write some analysis with datalog based on ddisasm, but it's not convenient to reuse the existing results when implementing a pass. Should I write some datalog program and include it from
main.dl
or are there any recommended ways?The text was updated successfully, but these errors were encountered: