Skip to content

Refine using YAML violation witnesses #1567

Open
@sim642

Description

@sim642

This is an extension of #1301, which #1512 implemented on a primitive level where the contents of the violation sequence aren't used at all.

It should be possible to interpret the violation sequence and refine our analysis accordingly. We should be able to kill some paths or refine some values based on that, a la (linear) observer automaton.
That would be more likely to reject some violation witnesses whose verdict might be correct, but the counterexample is obviously wrong.

Despite the YAML format trying to be less tied to internal representations, one big obstacle for us might be branching since CIL transformations introduce more conditionals. If we count branches incorrectly, we can become unsound. GraphML witness generation tried to do some un-CIL transformations, but those are probably incomplete.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions