Skip to content

[Question][Hw4] details of the filter function #37

@AnHaechan

Description

@AnHaechan

I have a few questions about filter function at branch instruction.

As far as I'm correct, what we have to do at the instruction br (x<10) label1 label2 is:
(1) filter the input abstract memory to satisfiy x<10 and send to label1 AND
(2) filter the input abstract memory to satisfy x>=10 and send to label2.

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 x in 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...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions