Skip to content
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

--refine imprecision #8296

Open
Novak756 opened this issue May 14, 2024 · 0 comments
Open

--refine imprecision #8296

Novak756 opened this issue May 14, 2024 · 0 comments

Comments

@Novak756
Copy link

Hi, I know this feature is experimental so feel free to close this if it is not helpful.
In the following program cbmc --refine incorrectly claims that the error is reachable:

extern void __VERIFIER_error();
extern unsigned long __VERIFIER_nondet_ulong();
int main() {
    unsigned long n = __VERIFIER_nondet_ulong();
    if (1 % (n | 18446744073709551615ULL) == 0){
        __VERIFIER_error();
    }
} 

running without the --refine flag gives the correct result.

CBMC version: Built from commit 13a452d
Operating system: Linux (Ubuntu 20.04)
Exact command line resulting in the issue: cbmc --refine test.c
What behaviour did you expect: VERIFICATION SUCCESSFUL
What happened instead: [main.assertion.1] line 6 assertion: FAILURE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant