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

Incompatible values on apply #16

Open
errt opened this issue Apr 12, 2021 · 0 comments
Open

Incompatible values on apply #16

errt opened this issue Apr 12, 2021 · 0 comments
Labels
bug Something isn't working

Comments

@errt
Copy link
Collaborator

errt commented Apr 12, 2021

There is a conceptual problem in our handling of incompatible values and suppression. While the PropertyStore ensures that no updates are propagated for incompatible results, the initial apply that retrieves the initial value may return an incompatible value.

I see two possible remedies for that, both require adapting all analyses:
Either we could change the PropertyStore interface to take an additional parameter to apply to specify whether the analysis can handle upper or lower bounds, both or only final results. If the current value does not match this, the apply method would return the corresponding EPK instead.
The other possible solution is for all analyses to expect an incompatible value from the apply invocations and just treat it the same way that an EPK is treated.

Note that currently this is not an issue in practice because we have no analyses that could produce incompatible values unexpectedly. If we were to add such analyses, the problem should become apparent through match not exhaustive exceptions or similar.

@errt errt added the bug Something isn't working label Apr 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant