You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: