Skip to content

Merge CBMC master with testgen-support branch #664

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

Closed

Conversation

allredj
Copy link
Contributor

@allredj allredj commented Mar 21, 2017

No description provided.

smowton and others added 30 commits February 18, 2017 15:38
This code was duplicated in quite a few places.
It seems that there is a spurious loop over all instructions.
I suspect this is a copy and paste error from location sensitive code.
This variable is not used anywhere, it is not clear what it's purpose is and in profiling it was shown to be expensive.
This adds a remove_instanceof call wherever there was an existing remove_virtual_functions call.
…rep ids for Java exception handling

These are used to recreate Java try-catch contructs from bytecode.
    - Adjust the working set conversion algorithm from bytecode to codet to also handler exception handlers.
    - Use CATCH-PUSH and CATCH-POP expressions to recreate the try-catch blocks.
For each function f we record its exceptional return value as variable f#exception_value and each throw/function call is instrumented with assignments involving these variables.
Then, the dynamic dispatch of exception handlers is done by using instanceof over such variables.
These tests are now under cbmc-java.
The exception handling instrumentation introduces new labels and thus the target of the gotos in the goto-program needs to be incremented.
…instructions

This needs to be done because the exception handling instrumentation introduces GOTOs which modify the existent live ranges.
This was required in order for variables local to the try-catch to be declared at the right location. This way, after adding
the exception instrumentation in remove_exceptions, we will be able to correctly re-compute live ranges for these variables.
The checkcast instruction should always return the pointer it
checked, even when we're not generating an assert in the case that
it failed.
set EXIT to 10 in the test description of each string-solver test
case that is supposed to fail
@allredj
Copy link
Contributor Author

allredj commented Mar 21, 2017

This merge seems to have issues. In particular, there are 2 failing tests:

Running opaque_returns_null_object/test.desc  [FAILED]
...
Running param_side_effects2/test.desc  [FAILED]

@allredj allredj force-pushed the testgen-support-merge branch from f11d71c to 81d9fba Compare March 21, 2017 13:49
@allredj
Copy link
Contributor Author

allredj commented Mar 21, 2017

I'll withdraw my last comment. The problem lies within the tests themselves.

@allredj allredj closed this Mar 21, 2017
@allredj allredj deleted the testgen-support-merge branch April 12, 2017 09:11
owen-mc-diffblue pushed a commit to owen-mc-diffblue/cbmc that referenced this pull request Jul 3, 2017
Create regression tests for parseInt with radix and add failing
regression tests for parseInt and parseInt with radix marked KNOWNBUG
(see issue diffblue#664 which is about making them parse).
tautschnig pushed a commit that referenced this pull request Jul 14, 2017
Create regression tests for parseInt with radix and add failing
regression tests for parseInt and parseInt with radix marked KNOWNBUG
(see issue #664 which is about making them parse).
tautschnig pushed a commit that referenced this pull request Jul 17, 2017
Create regression tests for parseInt with radix and add failing
regression tests for parseInt and parseInt with radix marked KNOWNBUG
(see issue #664 which is about making them parse).
tautschnig pushed a commit that referenced this pull request Aug 7, 2017
Create regression tests for parseInt with radix and add failing
regression tests for parseInt and parseInt with radix marked KNOWNBUG
(see issue #664 which is about making them parse).
tautschnig pushed a commit that referenced this pull request Aug 23, 2017
Create regression tests for parseInt with radix and add failing
regression tests for parseInt and parseInt with radix marked KNOWNBUG
(see issue #664 which is about making them parse).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants