-
Notifications
You must be signed in to change notification settings - Fork 273
CBMC wavefront does not terminate on simple decreases clause in loop #8301
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
Comments
Command line is: make TARGET=constant_time_equals_strict |
I tried a simpler version without loops.
I run the program with CBMC
CBMC didn't terminate. My z3 version is
without detailed error message. I think the problem could be caused by the smt encoding for quantified expression. More investigation are needed to find the cause of error. |
Many thanks for the update. Please keep digging! This is blocking my work on unbounded verification of s2n-tls. |
See the latest code here: https://github.com/rod-chapman/cbmc-examples/tree/main/arrays make TARGET=constant_time_equals_strict now works as expected with the latest CBMC 6.0.0-alpha (built today), following your fix to make "==" work inside quantifiers. BUT... I have added a new function constant_time_equals_total() (that calls constant_time_equals_strict). Verification of that with does not terminate. Is this the same problem as that reported above? Or perhaps a new issue? |
I observed the same issue that removing or adding a simple statement, such as |
A couple of observations:
|
This problem still affects the function constant_time_equals_total() in my examples. Can I get an update or a workaround please? |
This might be the same problem as #8365 |
CBMC version: 6.0.0-preview (cbmc-6.0.0-alpha-400-gc320360eef)
Operating system: macOS 13.6.6 (Apple Silcon)
See new code in https://github.com/rod-chapman/cbmc-examples/blob/52d6ddeb15a23ed75802b15f69611dc735b6fe78/arrays/ar.c#L179
I added a "decreases" clause to the loop. CBMC 5.95.1 terminates OK after about 10 seconds.
CBMC 6.0.0-preview fails to terminate, with repeated messages, such as:
and so on.
Please fix. This is blocking progress on verification of s2n-tls.
The text was updated successfully, but these errors were encountered: