Bitvector and array literal support for Theta backend#39
Bitvector and array literal support for Theta backend#39
Conversation
…error field variable
|
ftsrg/theta#77 was merged |
|
As far as I know, ftsrg/theta#77 only added syntactical support for bitvectors, besides |
|
PR ftsrg/theta#82 was merged, so Theta v2.4 has advanced refinement algorithms that support bitvectors. If #41 also gets merged here, functional tests could use these new algorithms. |
|
Don't forget to enable testing theta with flat memory model: Build result: The change would be deleting this file: https://github.com/ftsrg/gazer/blob/master/test/theta/verif/memory/lit.local.cfg (I think there was a change in these files in the PR) |
sallaigy
left a comment
There was a problem hiding this comment.
Left some minor comments, but overall very nice work! Could you please take care of the following major things?
- Reformat the code so it follows our existing convention:
if (c) { // Note that there is a whitespace between the keyword and the condition
} else if (d) {
} else {
}
- Update the lit tests so that they will run the memory model tests with Theta (by removing the local
litconfiguration and theREQUIRESdirectives in the tests). - Update the existing unit tests for the new Theta expressions.
| @@ -1,5 +1,5 @@ | |||
| // REQUIRES: memory.burstall | |||
There was a problem hiding this comment.
Is Theta able to handle this testcase with the flat memory model now? If so, this line should be remove (in all the other tests as well).
Co-authored-by: Gyula Sallai <salla016@gmail.com>
Co-authored-by: Gyula Sallai <salla016@gmail.com>
# Conflicts: # include/gazer/Core/Expr/ExprBuilder.h # test/theta/verif/memory/arrays1.c # test/theta/verif/memory/passbyref5.c # tools/gazer-theta/CMakeLists.txt # tools/gazer-theta/lib/ThetaCfaGenerator.cpp # tools/gazer-theta/lib/ThetaExpr.cpp # tools/gazer-theta/lib/ThetaType.h # tools/gazer-theta/lib/ThetaVerifier.cpp # unittest/tools/gazer-theta/ThetaExprPrinterTest.cpp
This pull request adds support for bitvector expressions and array literals in the Theta backend. Also as a minor improvement closes #37 .