Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use itree SpecM monad instead of CompM in Heapster #1778

Merged
merged 93 commits into from
Dec 10, 2022
Merged

Conversation

m-yac
Copy link
Contributor

@m-yac m-yac commented Dec 9, 2022

This PR updates the Heapster translation of saw-core to use the SpecM monad and its proof automation from GaloisInc/entree-specs, which is based on interaction trees (itrees).

Note that not all of the heapster-saw/examples have been updated to use the new translation and/or the new automation.

  • Most rust examples do not current work with the new translation, so any individual calls to hepaster the don't work in these files are commented out
  • All _proofs.v files but mbox_proofs.v and linked_list_proofs.v have not been updated to use the new automation, so are commented out in the _CoqProject
  • MRSolver has yet to be updated to use the new translation, so all _mr_solver.saw files are commented out in the Makefile

lag47 and others added 30 commits July 12, 2022 11:26
…1748; changed uses of LetRecTypes to use List1 LetRecType, to be consistent with the SpecM module
@m-yac m-yac added the subsystem: heapster Issues specifically related to memory verification using Heapster label Dec 9, 2022
heapster-saw/examples/_CoqProject Show resolved Hide resolved
heapster-saw/examples/Makefile Outdated Show resolved Hide resolved
heapster-saw/src/Verifier/SAW/Heapster/HintExtract.hs Outdated Show resolved Hide resolved
saw-core/src/Verifier/SAW/Module.hs Outdated Show resolved Hide resolved
RyanGlScott and others added 3 commits December 9, 2022 10:07
This updates the CI to build a particular `entree-specs` commit before building
the Coq support libraries. This also updates the instructions in the
`saw-core-coq` `README` accordingly.

Note that this requires limiting the Coq support window to 8.15 for now, as
`entree-specs` requires 8.15 as the minimum. In particular, `entree-specs`
does not yet support 8.16 (see GaloisInc/entree-specs#1), so we now require
Coq 8.15 exactly.
Copy link
Contributor

@eddywestbrook eddywestbrook left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@m-yac m-yac added the PR: ready to merge Magic flag for pull requests to ask Mergify to merge given an approval and a successful CI run label Dec 9, 2022
@RyanGlScott
Copy link
Contributor

The blst job appears to be failing because of some odd out-of-space-related issues with Docker. Given that this PR only changes Heapster (and shouldn't affect anything else in SAW that would impact the BLST proofs), I'm going to go ahead and merge this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: ready to merge Magic flag for pull requests to ask Mergify to merge given an approval and a successful CI run subsystem: heapster Issues specifically related to memory verification using Heapster
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants