Open
Description
JBMC version: 5.32.1 (cbmc-5.32.1-10-gb84b37dea)
Operating system: Ubuntu 20.04.2 LTS
Exact command line resulting in the issue: ./jbmc Test --function Test.test
What behaviour did you expect: Verification should fail because of the "assert false"
What happened instead: Verification was sucessful
Above information are the result given the following content of Test.java:
import org.cprover.CProver;
public class Test {
private void test(Object o1, Object o2) {
CProver.assume(o1 == o2 && o1 != null);
assert false;
}
}
I assume this is the result of non deterministic objects being treated as new objects with nondeterministic fields, which is implicitly makes the assumption that those objects cannot alias. Is there a way to prevent this behavior? Are there plans to implement this in the future?