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: Add ability to negative bitvector permission expressions #1780

Closed
RyanGlScott opened this issue Dec 9, 2022 · 0 comments
Closed
Assignees
Labels
subsystem: heapster Issues specifically related to memory verification using Heapster type: feature request Issues requesting a new feature or capability

Comments

@RyanGlScott
Copy link
Contributor

Recently, I found myself wanting to write the following Heapster permission:

arg2:array(W, 0, <i,*8,fieldsh(64,int64<>)) * array(W, i, <64 - 8*i,*1,fieldsh(8,true))

However, writing 64 - 8*i isn't possible, as the grammar for permission expressions doesn't permit negation. We should add the ability to do this, translating a use of - to bvNegate.

@RyanGlScott RyanGlScott added type: feature request Issues requesting a new feature or capability subsystem: heapster Issues specifically related to memory verification using Heapster labels Dec 9, 2022
@RyanGlScott RyanGlScott self-assigned this Dec 9, 2022
RyanGlScott added a commit that referenced this issue Dec 12, 2022
This adds the necessary tweaks to `heapster-saw` to support parsing and
typechecking permission expressions of the form `-b`, which represents the
2's complement negation of the bitvector `b`.

Fixes #1780.
RyanGlScott added a commit that referenced this issue Dec 13, 2022
This adds the necessary tweaks to `heapster-saw` to support parsing and
typechecking permission expressions of the form `-b`, which represents the
2's complement negation of the bitvector `b`.

Fixes #1780.
RyanGlScott added a commit that referenced this issue Jan 3, 2023
This adds the necessary tweaks to `heapster-saw` to support parsing and
typechecking permission expressions of the form `-b`, which represents the
2's complement negation of the bitvector `b`.

Fixes #1780.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
subsystem: heapster Issues specifically related to memory verification using Heapster type: feature request Issues requesting a new feature or capability
Projects
None yet
Development

No branches or pull requests

1 participant