-
Notifications
You must be signed in to change notification settings - Fork 22
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
path-condition slicing #494
base: main
Are you sure you want to change the base?
Conversation
63feb31
to
2fc41c8
Compare
| [] -> Smtml.Expr.Set.singleton c | ||
| [] -> | ||
(* TODO: using Smtml.Expr.Set.empty seems to be working but it looks suspicious, it should be tested *) | ||
Smtml.Expr.Set.singleton c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess if get_symbols
returns []
it must be a concrete expression that is not being simplified properly 😢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hum... I believe this branch is sometimes reached. I can provide the list of expressions that are not simplified if you're interested? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a commit that fails on such not properly simplified expressions, see 5d4b35b
They all seem to be related to ++
, extract
and extend
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah thanks! I think there are a few of these that I can fix easily.
The ones with pointers are more tricky because I don't want to simplify pointers so much that we loose the Ptr
type from a given expression. Then, we would loose the ability to track heap chunks.
Do you think having something like an unsafe_simplify
, that is more aggressive and simplifies every concrete expression to a given value helpful here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need to think more about it to get a clear idea of what we want. I believe you know better than me so, unsafe_simplify
is probably OK for now! :)
f89e2c7
to
d509e9e
Compare
d509e9e
to
a1767d8
Compare
I'm getting a few (3):
When running on Test-Comp (on programs 829, 843 and 1187). |
2ae28d5
to
7953e56
Compare
TODO: change EDIT: Done in 0255585 |
No description provided.