Fixes to pointer handling in goto_rw [depends-on: #2646]#748
Fixes to pointer handling in goto_rw [depends-on: #2646]#748tautschnig wants to merge 3 commits intodiffblue:developfrom
Conversation
|
@lucasccordeiro This will affect the slicer - hopefully in a positive way. |
|
While the changes would seem to be the right thing to do(TM) they break 3 slicing tests. I will investigate. |
|
@tautschnig: Thanks for letting me know. If you have doubts about the slicing tests, I'll be happy to clarify. |
f533ab9 to
31eef04
Compare
31eef04 to
87d37d4
Compare
87d37d4 to
8d9a0f7
Compare
This reverts commit 55d1297. Pointers require dereferencing, and taking an address of an object does not induce any reads on the object.
Treating any such access as an access to the single, global memory object will enable sound overapproximation, and thus helps slicing soundness.
8d9a0f7 to
33c9f89
Compare
martin-cs
left a comment
There was a problem hiding this comment.
I'm fine with this although I note that @lucasccordeiro (i|wa)s the keeper of the slicer.
|
While I'm of course very much convinced that my changes are the right-thing-to-do(TM), it would be great to have input from @smowton and @lucasccordeiro. |
thk123
left a comment
There was a problem hiding this comment.
I don't really know enough about what is going on here to provide meaningful comment, though it is surprising to be reverting such an old commit. Unfortunately, the original PR did not include any tests so hard to know whether what this was originally trying to fix remains fixed...
I think the first time I committed this revert to some local branch was the day that I noticed its existence :-)
Would @AnnaTrost be available (I heard rumors this might be the case) and be able to contribute some tests? |
|
We may follow this up with upstreaming a patch from the security product, which identifies dynamic objects per allocation site (i.e. the same granularity as value_sett's dynamic_object* identifiers). However this is clearly a step in the right direction which we should take for now. One concern: does goto-rw have any concept of a strong write (for example, |
|
@tautschnig This PR seems to be in limbo, do you think you may update this and try to merge it, or should we close it due to age? |
|
Closing this PR due to age and lack of clear direction. Please reopen if you believe this closure is erroneous and this will be updated/fixed. |
__CPROVER_memorythis ought to be resolved (albeit in a very coarse manner).