-
Notifications
You must be signed in to change notification settings - Fork 284
Avoid crashing when applying trivial contracts #6255
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
Avoid crashing when applying trivial contracts #6255
Conversation
3a43e18 to
505fbb0
Compare
Codecov Report
@@ Coverage Diff @@
## develop #6255 +/- ##
===========================================
- Coverage 76.16% 76.16% -0.01%
===========================================
Files 1484 1484
Lines 162173 162164 -9
===========================================
- Hits 123525 123516 -9
Misses 38648 38648
Continue to review full report at Codecov.
|
martin-cs
left a comment
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.
Yes but in future please can the commit messages and the code be a little closer. For some of the refactorings, it is not clear why you are doing them.
505fbb0 to
84e8ced
Compare
SaswatPadhi
left a comment
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.
LGTM, with couple of minor comments:
Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
Requires and ensures are currently treated as conjunctions, thus empty clauses are mapped to true. This commit also prevents that trivials `assert(true)` are injected into functions. Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
0397819 to
2c32f86
Compare
| clause. Since these objects might be modified by the function, CBMC uses | ||
| non-deterministic assignments to havoc them and restrict their values only by | ||
| assuming the postconditions. | ||
| assuming the postconditions (i.e., requires clauses). |
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.
Thanks for fixing the docs! So many tiny errors (including errors in code examples) went unnoticed the last time!
Just one small issues: I think you meant "ensures" (not "requires") clauses in this sentence.
Resolves #5950.
Resolves #5941.