solidity/test/libsolidity/smtCheckerTests
Martin Blicha b0419da654 [SMTChecker] Remember verification targets from trusted external calls
Previously, we did not remember trusted external calls for later phase
when we compute possible verification targets for each function.
This led to false negative in cases where verification target can be
violated, but not by calling a public function directly, but only when
it is called as an external function from other function.

The added test cases witnesses this behaviour. The underflow in
`dec` cannot happen in any other way except what the `dec` is called
from `f`.

The same problem did not occur when the functions are called internally,
because for such cases, we have already been remembering these calls in
the callgraph in the CHC engine.
2023-05-26 13:03:44 +02:00
..
abi Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
array_members Remove EWASM backend. 2023-05-11 10:56:55 -05:00
blockchain_state Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
bmc_coverage Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
complex Remove EWASM backend. 2023-05-11 10:56:55 -05:00
control_flow Fix encoding of side-effects inside if and conditional statements in the BMC engine 2023-05-11 16:44:09 +02:00
crypto Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
deployment [SMTChecker] Remember verification targets from trusted external calls 2023-05-26 13:03:44 +02:00
external_calls [SMTChecker] Remember verification targets from trusted external calls 2023-05-26 13:03:44 +02:00
file_level Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
function_selector Remove EWASM backend. 2023-05-11 10:56:55 -05:00
functions Remove EWASM backend. 2023-05-11 10:56:55 -05:00
imports Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
inheritance Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
inline_assembly Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
invariants Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
loops Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
math Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
modifiers Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
natspec Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
operators Remove EWASM backend. 2023-05-11 10:56:55 -05:00
options Add new tests 2021-04-08 21:03:38 +02:00
out_of_bounds Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
overflow Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
simple Trivial isoltest updates: missing // ---- at the end 2021-04-20 17:38:29 +02:00
special Remove EWASM backend. 2023-05-11 10:56:55 -05:00
try_catch Remove EWASM backend. 2023-05-11 10:56:55 -05:00
typecast group unsupported warnings 2023-03-15 17:06:06 +01:00
types Remove EWASM backend. 2023-05-11 10:56:55 -05:00
unchecked Remove EWASM backend. 2023-05-11 10:56:55 -05:00
unsupported group unsupported warnings 2023-03-15 17:06:06 +01:00
userTypes Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
verification_target Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00