-
Notifications
You must be signed in to change notification settings - Fork 76
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
Add primitive verdict-based YAML violation witness rejection #1512
Conversation
In updated version 2.0 schema.
In updated version 2.0 schema.
Removed from version 2.0 schema.
Compared to svcomp24-validate: 1. Enables abortUnless (like svcomp over svcomp24). 2. Enables YAML violation_sequence validation.
I tried running this on SV-COMP 2024 YAML violation witnesses (it's extremely difficult to even get them). If I did everything correctly, there are at most 160 (probably even much fewer) tasks with expected true verdict. Among them, only two of CPAchecker's we terminate with Also doing some refinement with violation sequences might allow us to reject witnesses even for tasks with expected verdict false, if the error path cannot lead to the violation. But I'm not very hopeful about that. |
Closes #1301.
Most of this is just adding YAML witness
violation_sequence
parsing support and adapting the parsing of locations in YAML witnesses to allow for fields which the updated 2.0 format allows to omit.The actual rejection part is laughably trivial: do nothing!
true
, which counts as refutation of violation witness.unknown
.unknown
.Actually using any of the information in the violation sequence is a separate issue. We should be able to kill some paths or refine some values based on that, a la (linear) observer automaton.
TODO