-
Notifications
You must be signed in to change notification settings - Fork 278
Propagate write-set checks to sub-functions #6371
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
Propagate write-set checks to sub-functions #6371
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #6371 +/- ##
===========================================
- Coverage 75.91% 75.90% -0.01%
===========================================
Files 1517 1517
Lines 164022 163893 -129
===========================================
- Hits 124513 124406 -107
+ Misses 39509 39487 -22
Continue to review full report at Codecov.
|
5cf671a
to
ad29bf7
Compare
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! That's quite a lot of cleanup and fixes.
I have a few minor comments and only major comments about subset check part.
bd8e221
to
18dabdf
Compare
18dabdf
to
a3ce36a
Compare
8b2c4d4
to
e13c8e4
Compare
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. Thanks!
f67187b
to
d371cf3
Compare
987f2d1
to
a1bff8e
Compare
Signed-off-by: Felipe R. Monteiro <[email protected]>
Removes --enforce-all-contracts and --replace-all-calls-with-contracts flags. The user must specify which functions to enforce or replace using contracts. Signed-off-by: Felipe R. Monteiro <[email protected]>
Signed-off-by: Felipe R. Monteiro <[email protected]>
Signed-off-by: Felipe R. Monteiro <[email protected]>
Signed-off-by: Felipe R. Monteiro <[email protected]>
Signed-off-by: Felipe R. Monteiro <[email protected]>
Signed-off-by: Felipe R. Monteiro <[email protected]>
Signed-off-by: Felipe R. Monteiro <[email protected]>
Signed-off-by: Felipe R. Monteiro <[email protected]>
Signed-off-by: Felipe R. Monteiro <[email protected]>
a1bff8e
to
3f48b6e
Compare
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.
I am approving this because 1. I do not see any blocking problems here, 2. as far as I know you are the main users of this code so changes in the functionality & interface are not likely to affect others too much and 3. I know it is urgent for you. But, I found this quite hard to review. In the future, if you have the time please could you consider:
- Smaller PRs -- this does a number of related, but different things and would be easier to review in chunks.
- A description of what you are doing and why in each commit message. They are one line at the moment which is better than nothing but it gives more limited context.
- More of a over-view description in the PR.
#define FLAG_ENFORCE_CONTRACT "enforce-contract" | ||
#define HELP_ENFORCE_CONTRACT \ | ||
" --enforce-contract <fun> wrap fun with an assertion of its contract\n" | ||
|
||
#define FLAG_ENFORCE_ALL_CONTRACTS "enforce-all-contracts" |
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.
I am a little concerned by the change in functionality. I realise that it would be good to have the extra flexibility but having to give a command-line argument for every function is quite a lot. Elsewhere I have seen regexes used for this kind of thing.
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.
We we're using contracts now in a context where an user enforces one contract at a time, makes sure it is correct and then uses it during replacement. In the future, we still want to have an option where we can simply apply contracts whenever they are available, but for now we want to force users to specify which contracts must be enforced or replaced.
Thanks for the review @martin-cs. I'll at least add a better description for this PR now (3) and keep in mind (1) and (2) for future PRs. |
Uh oh!
There was an error while loading. Please reload this page.