-
Notifications
You must be signed in to change notification settings - Fork 25
Update to CBMC 5.7 #148
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
Update to CBMC 5.7 #148
Conversation
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, just small nits
b2e050d
to
a9abc16
Compare
Proposal for how this should be merged: firstly merge the PR in CBMC, modify acbeed7 so that it points to a correct commit, squash this whole PR into 2 commits - one commit for the changes themselves and one for 2LS version update. Do you agree @peterschrammel or can you think of a better way to handle this? |
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.
peterschrammel/cbmc#21 is merged. Please rebase.
Yes, please. |
a9abc16
to
77eaa8f
Compare
Replace i2string with std::to_string. Adjust abstract domains: - In CBMC 5.7, abstract domains work slightly differently than they used to. Methods for creating top, bottom and entry must be implemented. Moreover, the first merge could have no effect resulting in the function not being entered due to changes in abstract interpretation implementation in CBMC. Replace dstring with dstringt. Replace deprecated gen_zero. Fix GOTO check options. Change graph to grapht. Add missing argument to goto_inlinet constructor call. Recompute locations after inlining. Adjust memsafety tests to new checks. Signed-off-by: František Nečas <[email protected]>
Signed-off-by: František Nečas <[email protected]>
77eaa8f
to
fbbd676
Compare
Rebased onto |
Following up on peterschrammel/cbmc#21 , adjusting 2LS to the changes in CBMC 5.7. I will squash the commits before this PR is merged to have an atomic compilable commit but leaving it as is (per type of change) to make reviewing easier. May also require changing the CBMC commit used once peterschrammel/cbmc#21 is merged.
Major changes
make_bottom
,make_top
andmake_entry
methods. The changes also required adjustingmerge
return value in our domains to make the analyses work correctly. The fix was inspired by Data-flow analysis must always enter new function cbmc#327