|
|
|
|
|
by simplify
974 days ago
|
|
Much of this kind of analysis is relatively easy in Datalog/Souffle. You can see a tutorial paper here: https://yanniss.github.io/points-to-tutorial15.pdf > the part I am currently stuck in is creating a reasonable abstraction level where I can reason (in soufflé) about code and not about an AST I recommend aiming for an abstraction level similar to the one in the paper (starts on page 9). Once you have that target, writing relations to convert an AST fact such as `binary_op("=", leftId, rightId)` to `Move(to, from)` is fairly straightforward! |
|