Skip to content

SV-COMP autotuner spuriously enables all integer domains #1472

Open
@sim642

Description

@sim642

In c/pthread/fib_safe-5.i from #1356, we produce an unsound invariant. Opening the HTML view to see globals reveals that they somehow have all integer domains enabled:

base:priv:unprotected:cur → def_exc:Unknown int([-31,31]); intervals:[0,2147483647]; enums:not {} ([-31,31]); congruences:ℤ; interval_sets:[[-4294967296, 4294967296]]

The autotuner only claims to enable the following:

[Info] Enabled congruence domain.
[Info] Enabled widening thresholds

I'm not even sure how it does because the autotuner has no means for enabling interval sets even... Something is going royally wrong. Disabling congruence and widening threshold autotuners does prevent this from happening though.

This might have massive performance implications for us in SV-COMP if actually we're using all integer domains a lot of the time without even realizing. It only revealed itself now because interval sets produce unsound invariant expressions to the output (#1473). No idea how long this has even been happening.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions