Completely eliminate __VERIFIER_assume from the sv-benchmarks repository.
Closed this issue · 2 comments
Later, I will propose to completely eliminate __VERIFIER_assume
from the sv-benchmarks
repository.
For now, please change only those files that you encounter and that affect the result of some tool in a wrong way.
Originally posted by @dbeyer in #1028 (comment)
As per the description in #1031 and the discussion in #1028 there are two cases when the assumed expression evaluates to false
- The call should be replaced by
abort
- this seems to be OK for each property specification expect memory cleanup - The call should be replaced by an
non-terminating loop
- this seems to be the acceptable interpretation for the memory cleanup tasks
My proposal is to do 2 for the memory cleanup tasks and 1 for the remaining ones.
Additionally, there has been a long discussion on it in #578 and #504.
There are only 3 benchmarks which use __VERIFIER_assume
and are also memory cleanup
tasks: (verifythis/tree_del_rec.c), (verifythis/tree_del_iter.c) and (verifythis/prefixsum_rec.c).
These three benchamarks check for the properties memory cleanup
and unreach call
. For these files I will use a non terminating loop
. All the other occurrences of __VERIFIER_assume(p)
will be replaced by if(!p) {abort();}