2021-01-19 11:56:22 +00:00
|
|
|
Warning: CHC: Underflow (resulting value less than 0) happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 0)
|
2021-03-31 15:31:23 +00:00
|
|
|
--> model_checker_targets_all/input.sol:7:3:
|
2021-01-19 11:56:22 +00:00
|
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
7 | --x;
|
2021-01-19 11:56:22 +00:00
|
|
|
| ^^^
|
|
|
|
|
|
|
|
Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 1
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 2)
|
2021-03-31 15:31:23 +00:00
|
|
|
--> model_checker_targets_all/input.sol:8:3:
|
2021-01-19 11:56:22 +00:00
|
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
8 | x + type(uint).max;
|
2021-01-19 11:56:22 +00:00
|
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Warning: CHC: Division by zero happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 1)
|
2021-03-31 15:31:23 +00:00
|
|
|
--> model_checker_targets_all/input.sol:9:3:
|
|
|
|
|
|
|
|
|
9 | 2 / x;
|
|
|
|
| ^^^^^
|
2021-01-19 11:56:22 +00:00
|
|
|
|
|
|
|
Warning: CHC: Assertion violation happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 1)
|
2021-03-31 15:31:23 +00:00
|
|
|
--> model_checker_targets_all/input.sol:11:3:
|
2021-01-19 11:56:22 +00:00
|
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
11 | assert(x > 0);
|
2021-01-19 11:56:22 +00:00
|
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Warning: CHC: Empty array "pop" happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 1)
|
2021-03-31 15:31:23 +00:00
|
|
|
--> model_checker_targets_all/input.sol:12:3:
|
2021-01-19 11:56:22 +00:00
|
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
12 | arr.pop();
|
2021-01-19 11:56:22 +00:00
|
|
|
| ^^^^^^^^^
|
|
|
|
|
2021-03-23 18:15:14 +00:00
|
|
|
Warning: CHC: Out of bounds access happens here.
|
|
|
|
Counterexample:
|
|
|
|
arr = []
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
|
|
|
test.f(0, 1)
|
2021-03-31 15:31:23 +00:00
|
|
|
--> model_checker_targets_all/input.sol:13:3:
|
2021-03-23 18:15:14 +00:00
|
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
13 | arr[x];
|
2021-03-23 18:15:14 +00:00
|
|
|
| ^^^^^^
|
|
|
|
|
2021-01-19 11:56:22 +00:00
|
|
|
Warning: BMC: Condition is always true.
|
2021-03-31 15:31:23 +00:00
|
|
|
--> model_checker_targets_all/input.sol:6:11:
|
2021-01-19 11:56:22 +00:00
|
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
6 | require(x >= 0);
|
2021-01-19 11:56:22 +00:00
|
|
|
| ^^^^^^
|
|
|
|
Note: Callstack:
|
|
|
|
|
|
|
|
Warning: BMC: Insufficient funds happens here.
|
2021-03-31 15:31:23 +00:00
|
|
|
--> model_checker_targets_all/input.sol:10:3:
|
2021-01-19 11:56:22 +00:00
|
|
|
|
|
2021-03-31 15:31:23 +00:00
|
|
|
10 | a.transfer(x);
|
2021-01-19 11:56:22 +00:00
|
|
|
| ^^^^^^^^^^^^^
|
|
|
|
Note: Counterexample:
|
|
|
|
a = 0
|
|
|
|
x = 0
|
|
|
|
|
|
|
|
Note: Callstack:
|
|
|
|
Note:
|