-
Notifications
You must be signed in to change notification settings - Fork 274
symex: source is not optional #3890
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
8dae6fe
to
b071672
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 approve of the general direction, but I would suggest that the two commits be squashed (and some further work is necessary as CI is failing) as neither of them makes sense without the other.
The first one works by itself, and could be seen as an improvement. |
One could be solved by storing a source in the |
This one should be easy once #3971 has been merged. |
Indeed! |
b071672
to
b563adb
Compare
Rebased as #3971 has been merged. |
b563adb
to
707efb6
Compare
707efb6
to
2cd585a
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.
✔️
Passed Diffblue compatibility checks (cbmc commit: 2cd585a).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/99243672
2cd585a
to
9d3d87b
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.
✔️
Passed Diffblue compatibility checks (cbmc commit: 9d3d87b).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/99851584
9d3d87b
to
58d7bcf
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.
✔️
Passed Diffblue compatibility checks (cbmc commit: 58d7bcf).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/100326162
sourcet contains an interator, and the interface explicitly allows it to be uninitialised. However, most parts of the code base access source.pc without checking.
Avoid doing the same start_function set-up three times, and avoid redundant work between different initialize* functions when one always calls the other.
sourcet contains an interator, and the current interface explicitly allows it to be uninitialised. However, most parts of the code base access source.pc without checking. This commit removes the option to leave the source uninitialized.
58d7bcf
to
9e0c5a3
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.
✔️
Passed Diffblue compatibility checks (cbmc commit: 9e0c5a3).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/100660772
This is probably the worst case of use of unitialised data that we have. Most parts of the code base assume that source.pc is a valid iterator, yet the interface explicitly allows it to be uninitialised.