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
Cut point rules and section edge command in KMIR (#780)
This PR adds:
- The option `--break-on-calls` to `kmir prove` which will break the
proof at the rule `#setUpCalleeData` for easy linking of proof to source
code
- The command `kmir section-edge` which can be provided an existing
proof and an edge (two linked nodes in the kcfg) as a tuple (e.g. `4,5`)
and will proof an amount of nodes breaking the edge up. In particular I
find this may be useful if we can identify when a thunk is written to
`<locals>` and we can section out the edge between the node it appears
and the call above it. If the distance between the nodes is `n` steps,
then the max sections is `n - 1` which will take 1 step.
### Current Problems
- `--break-on-calls` is outputing the node at `#setUpCalleeData` but is
also outputting the node afterwards `#setArgsFromStack` which is
doubling the amount of output - I did look but can't understand why this
is happening currently, however it is also not a deal breaker for me
right now - I am still able to see the nodes I want and just some extra.
UPDATE: This behaviour is also the same with Kontrol so I think this is
a broader thing with K pr pyk
---------
Co-authored-by: Jost Berthold <jost.berthold@gmail.com>
0 commit comments