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

Heapster Array Prover Redux #1617

Merged
merged 30 commits into from
Mar 28, 2022
Merged

Heapster Array Prover Redux #1617

merged 30 commits into from
Mar 28, 2022

Conversation

abakst
Copy link
Contributor

@abakst abakst commented Mar 16, 2022

  • Reimplementation of Array prover logic in Heapster
  • Adds test framework for Heapster implication prover plus Array testcases

@abakst abakst changed the title Draft: Heapster Array Prover Redux Heapster Array Prover Redux Mar 21, 2022
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.

There were a lot of comments, so I'd like to wait until those get fixed before approving

heapster-saw/src/Verifier/SAW/Heapster/Implication.hs Outdated Show resolved Hide resolved
@@ -1912,7 +1925,11 @@ simplImplIn (SImpl_LLVMArrayReturn x ap ret_ap) =
distPerms2 x (ValPerm_Conj [Perm_LLVMArray ret_ap])
x (ValPerm_Conj [Perm_LLVMArray ap])
else
error "simplImplIn: SImpl_LLVMArrayReturn: array not being borrowed or not a sub-array"
error ("simplImplIn: SImpl_LLVMArrayReturn: array not being borrowed or not a sub-array:\n" ++
renderDoc (
Copy link
Contributor

Choose a reason for hiding this comment

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

Small nitpick, but maybe put the entire renderDoc call on one line?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually I had only added this for my own debugging and missed it when I initially reviewed the diffs. @eddywestbrook do you think it's useful to leave in, given that it has to use emptyPPInfo?

Copy link
Contributor

Choose a reason for hiding this comment

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

You're right, you should just take it out

heapster-saw/src/Verifier/SAW/Heapster/Implication.hs Outdated Show resolved Hide resolved
heapster-saw/src/Verifier/SAW/Heapster/Permissions.hs Outdated Show resolved Hide resolved
heapster-saw/src/Verifier/SAW/Heapster/Permissions.hs Outdated Show resolved Hide resolved
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.

Looks good, thanks Alex!

@eddywestbrook eddywestbrook merged commit 5d36808 into master Mar 28, 2022
@mergify mergify bot deleted the array-prover branch March 28, 2022 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants