SV-COMP 2018: Rebase of Tautschnig's branch/PR sv-comp-2017 on cbmc/develop#1532
SV-COMP 2018: Rebase of Tautschnig's branch/PR sv-comp-2017 on cbmc/develop#1532marek-trtik wants to merge 10 commits intodiffblue:developfrom
sv-comp-2017 on cbmc/develop#1532Conversation
|
@marek-trtik, unfortunately, the minisat download is hard-coded in .travis.yml: https://travis-ci.org/diffblue/cbmc/jobs/293594798#L729 |
|
Fixed. Thank you Petr! |
There was a problem hiding this comment.
not sure we should use throw if there is no corresponding catch
There was a problem hiding this comment.
Sure. However, there are already 656 such throw "... statements in our code base, e.g.:
https://github.com/diffblue/cbmc/blob/develop/src/analyses/ai.cpp#L466
src/util/guard.cpp
Outdated
There was a problem hiding this comment.
remove or use #if 0 and explain
src/util/guard.cpp
Outdated
src/util/guard.cpp
Outdated
There was a problem hiding this comment.
remove or use #if 0
src/analyses/goto_check.cpp
Outdated
src/ansi-c/expr2c.cpp
Outdated
There was a problem hiding this comment.
why is this commented out?
src/ansi-c/expr2c.cpp
Outdated
src/analyses/goto_check.cpp
Outdated
There was a problem hiding this comment.
this change is not in the right commit
.travis.yml
Outdated
There was a problem hiding this comment.
I don't think that's a good idea to remove these flags
There was a problem hiding this comment.
Sure, it is gone.
thk123
left a comment
There was a problem hiding this comment.
I don't think this is ready for review - though I agree with
@romainbrenguier's comments. Could you comment when it needs another review.
.travis.yml
Outdated
There was a problem hiding this comment.
This seems like a surprising change - what are the implications/justifications for this swap?
src/config.inc
Outdated
1df8b94 to
47636ce
Compare
|
@thk123 : Yes, the PR is NOT ready for a review yet. I'll post here an explicit message, when the PR is ready. |
|
@tautschnig : According to your response to @lucasccordeiro 's email I believe that #982 and #731 are (some of) those PRs factored out from #363. I think that it is still true that #363 contains all patches for SV_COMP we currently have. Also, everybody I asked told me that I should work with #363. The goal with #363 was to prepare two branches, both rebased on the latest Both branches are already created and they are rebased on latest I did not consider #982 nor #731 in this process. I am not sure whether it make a sense to use them at this point. |
|
@tautschnig : I could merge current states of #982 and #731 into this PR. What solution would you propose? |
|
@tautschnig, Marek is fixing a long-on-Windows-is-32bits bug in these assumptions: https://github.com/tautschnig/cbmc/blob/799446487a95302106bbe8d1a9de9a88d46eceee/src/ansi-c/library/new.c#L14 |
If you could replace all commits with the same subject with their versions from #982 and #731 this would indeed be nice!
I've digged into my various pull requests, but it seems I've dropped this everywhere. One problem certainly is that the object:offset encoding is now configurable, hence any such check is somewhat questionable. Hopefully #1086 is something I'll find time for very soon... |
|
@tautschnig : Yes, I'll try to take versions of the corresponding commits from #982 and #731 (however, I'll keep fixes (CPPLINT/clang-formater) I made). So, it means, that I'll perform merge of the related commits instead of replacement. Regarding the long-on-Windows-is-32bits issue: If I understood correctly #1086 should solve (avoid) the issue (those assumptions won't be needed anymore). However, this PR cannot be merged without the issue is solved (one way of the other). The question is whether we want to wait with merge of this PR till #1086 is merged. |
634bed1 to
fe90cb8
Compare
Let's try to avoid dependencies wherever possible, so: don't wait. A hack-fix should do for the moment. |
fe90cb8 to
f3c6be2
Compare
|
Note that I have rebased #982 to make picking a bit easier. |
|
I fixed the issue long-on-Windows-is-32bits. |
|
@tautschnig : Thanks for the rebase. It will certainly help. However, I see there are still CPPLINT/clang-formater issues. I'll fixed them during the merge of corresponding commits. |
2c16e06 to
b8314de
Compare
|
This PR now comprises #982 and #731. Also the assumptions (those with the long-on-Windows-is-32bits issue) were moved into the SV-COMP specific branch: I'll investigate that (but this is irrelevant to this PR). |
3debb60 to
72ae60c
Compare
|
!!! To all reviewers: This PR is ready for your reviews !!! |
72ae60c to
ca541fd
Compare
__CPROVER_allocate takes two arguments, where the second requests zero-initialization of the newly allocated object. Thus `calloc` can be implemented efficiently.
Just ignoring them would yield unsound results.
Also includes an incomplete implementation to introduce a new L1 name for each declaration. This works for all regression tests, but fails on some larger examples.
They are constructed in a consistent order anyway.
Check whether the object part of a pointer is greater or equal the total number of objects, or equals a dynamic object that has not actually been allocated on a given trace.
ca541fd to
eecaee0
Compare
@tautschnig , @peterschrammel @martin-cs : Please check the correctness of the rebase. Thank you.
!!! IMPORTANT: I ask other reviewers to postpone their reviews till the PR is fixed (NOTE: I had to create the PR in order to fix issues in Travis and mainly AppVeyor). Once the PR is ready for reviews I'll post an explicit message to this PR. Thank you for understanding. !!!
This is the rebased PR: #363