Skip to content

Incompatible values on apply #16

Open
@errt

Description

@errt

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions