-
Notifications
You must be signed in to change notification settings - Fork 62
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
Conditional points-to #652
Comments
I don't think the proposed Maybe something like this, which has the else case, would be better: |
Below is a full run, if anyone else wants to play with it. I'm currently stuck on
|
Instead of
perhaps it would be better to have a more general-purpose conditional construct
where you could have a separate setup block in each branch of the conditional. I think this would be expressive enough to handle all the use cases we might want. I expect it would be rather challenging to implement, but I haven't thought very hard yet about an implementation would work. Thoughts? |
@weaversa thank you for the feedback, and for taking the time to try out an example! This is the specification I have in mind for
Basically, the specification treats
Separately, a |
@brianhuffman I like you proposal, it would cover all cases discussed here. Implementing it, on the other hand, would take some more effort. The conditional blocks could be nested, and one would have to consider the effects of the condition all statements, not just |
I think we can consider this issue closed by #657, as the |
Consider the
get_rand_mod_len
function that may write to*x_ptr
and returns1
if it does and0
if it doesn't:Currently,
saw
does not support specifying the post-condition of this function. A possible solution would require something likecrucible_conditional_points_to
, and then the post-condition would look like:Let's discuss what would be the best way to add support for this kind of specifications in
saw
.cc @atomb @brianhuffman @robdockins @chameco
The text was updated successfully, but these errors were encountered: