Replies: 1 comment
-
|
Q1. The correct implementation would be refining in both directions. Consider Q2. The answer to Q1 clarifies this. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have a few questions about
filterfunction at branch instruction.As far as I'm correct, what we have to do at the instruction
br (x<10) label1 label2is:(1) filter the input abstract memory to satisfiy
x<10and send tolabel1AND(2) filter the input abstract memory to satisfy
x>=10and send tolabel2.In order to filter the input memory with the condition inside branching instruction, in this case,
x<10,we will refine the value for variable
xin the input memory, with predicate< 10, by the filter function of current value domain(sign and interval).Question 1.
Then, what should we do for the case
x<y?Should we refine
m(x)w.r.t.<m(y)orm(y)w.r.t.> m(x)` or somehow both?Question 2.
Should we also consider the case
10<x(that variable is not at LHS)?I think I should, of course, but just to make it sure...
Beta Was this translation helpful? Give feedback.
All reactions