Skip to content

JBMC cant handle aliasing #6178

Open
Open
@JonasKlamroth

Description

@JonasKlamroth

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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions