-
Notifications
You must be signed in to change notification settings - Fork 277
Fix evaluation of decreases clause #6269
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
Conversation
dee5293
to
872a8c0
Compare
Codecov Report
@@ Coverage Diff @@
## develop #6269 +/- ##
===========================================
- Coverage 76.17% 75.90% -0.28%
===========================================
Files 1484 1492 +8
Lines 162317 162724 +407
===========================================
- Hits 123646 123513 -133
- Misses 38671 39211 +540
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like an appropriate fix. Thanks for separating out the refactor into it's own commit; that does make reviewing easier.
872a8c0
to
e8f195a
Compare
Thanks for taking a look @martin-cs. @feliperodri could you please take a look too? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only minor changes.
e8f195a
to
0beeb6f
Compare
`__CPROVER_decreases` clauses on loops were evaluated outside of loop iterations (before checking the loop guard), which was buggy. We fix this behavior in this commit. The clause is now evaluated inside the loop block (after the loop guard is satisfied).
0beeb6f
to
dbb5163
Compare
__CPROVER_decreases
clauses on loops were evaluated outside of loop iterations, which was buggy. In this PR, we fix this behavior: decreases clause is evaluated inside the loop block (after the loop guard is satisfied).The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/My commit message includes data points confirming performance improvements (if claimed).