Skip to content
This repository was archived by the owner on Apr 25, 2024. It is now read-only.

Better handling of subproof dependencies when executing superproofs #832

Merged
merged 13 commits into from
Jan 25, 2024

Conversation

ehildenb
Copy link
Member

@ehildenb ehildenb commented Jan 22, 2024

Blocked on: #835

In this PR, we setup for CSE (compositional symbolic execution) in Kontrol. This PR enables using the existing subproof mechanism for setting up that possibility. In particular:

  • The method KCFG.to_rules is factored out of KCFG.to_module, to produce the list of rules associated with the basic blocks of the KCFG.
  • The injection of dependencies for a given subproof is modified to use this KCFG.to_rules instead, so that it is injecting the basic blocks of the subproof instead of the created transitino from init to target term.
  • A proof that was marked as PENDING before when having an un-admitted dependency is now marked as FAILING because of the more careful way we handle un-admitted dependencies when adding dependencies modules.
  • Improves the module name munging to produce Modules from KCFGs.

@ehildenb ehildenb marked this pull request as ready for review January 24, 2024 21:35
@ehildenb ehildenb requested a review from tothtamas28 January 24, 2024 21:36
@ehildenb ehildenb requested a review from anvacaru January 24, 2024 21:36
@ehildenb
Copy link
Member Author

I've confirmed that this enables a simple CSE on this branch of Kontrol: runtimeverification/kontrol#284

@anvacaru anvacaru merged commit 35a4241 into master Jan 25, 2024
@anvacaru anvacaru deleted the more-kcfg-logs branch January 25, 2024 08:51
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
…untimeverification/pyk#832)

~Blocked on: runtimeverification/pyk#835

In this PR, we setup for CSE (compositional symbolic execution) in
Kontrol. This PR enables using the existing subproof mechanism for
setting up that possibility. In particular:

- The method `KCFG.to_rules` is factored out of `KCFG.to_module`, to
produce the list of rules associated with the basic blocks of the KCFG.
- The injection of dependencies for a given subproof is modified to use
this `KCFG.to_rules` instead, so that it is injecting the basic blocks
of the subproof instead of the created transitino from init to target
term.
- A proof that was marked as `PENDING` before when having an un-admitted
dependency is now marked as `FAILING` because of the more careful way we
handle un-admitted dependencies when adding dependencies modules.
- Improves the module name munging to produce Modules from KCFGs.

---------

Co-authored-by: devops <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
…untimeverification/pyk#832)

~Blocked on: runtimeverification/pyk#835

In this PR, we setup for CSE (compositional symbolic execution) in
Kontrol. This PR enables using the existing subproof mechanism for
setting up that possibility. In particular:

- The method `KCFG.to_rules` is factored out of `KCFG.to_module`, to
produce the list of rules associated with the basic blocks of the KCFG.
- The injection of dependencies for a given subproof is modified to use
this `KCFG.to_rules` instead, so that it is injecting the basic blocks
of the subproof instead of the created transitino from init to target
term.
- A proof that was marked as `PENDING` before when having an un-admitted
dependency is now marked as `FAILING` because of the more careful way we
handle un-admitted dependencies when adding dependencies modules.
- Improves the module name munging to produce Modules from KCFGs.

---------

Co-authored-by: devops <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 10, 2024
…untimeverification/pyk#832)

~Blocked on: runtimeverification/pyk#835

In this PR, we setup for CSE (compositional symbolic execution) in
Kontrol. This PR enables using the existing subproof mechanism for
setting up that possibility. In particular:

- The method `KCFG.to_rules` is factored out of `KCFG.to_module`, to
produce the list of rules associated with the basic blocks of the KCFG.
- The injection of dependencies for a given subproof is modified to use
this `KCFG.to_rules` instead, so that it is injecting the basic blocks
of the subproof instead of the created transitino from init to target
term.
- A proof that was marked as `PENDING` before when having an un-admitted
dependency is now marked as `FAILING` because of the more careful way we
handle un-admitted dependencies when adding dependencies modules.
- Improves the module name munging to produce Modules from KCFGs.

---------

Co-authored-by: devops <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 10, 2024
…untimeverification/pyk#832)

~Blocked on: runtimeverification/pyk#835

In this PR, we setup for CSE (compositional symbolic execution) in
Kontrol. This PR enables using the existing subproof mechanism for
setting up that possibility. In particular:

- The method `KCFG.to_rules` is factored out of `KCFG.to_module`, to
produce the list of rules associated with the basic blocks of the KCFG.
- The injection of dependencies for a given subproof is modified to use
this `KCFG.to_rules` instead, so that it is injecting the basic blocks
of the subproof instead of the created transitino from init to target
term.
- A proof that was marked as `PENDING` before when having an un-admitted
dependency is now marked as `FAILING` because of the more careful way we
handle un-admitted dependencies when adding dependencies modules.
- Improves the module name munging to produce Modules from KCFGs.

---------

Co-authored-by: devops <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants