mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[SMTChecker] Report values for block, msg and tx variables in counterexamples
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)
|
||||
test.f(0x0, 0)
|
||||
--> model_checker_targets_all_all_engines/input.sol:7:3:
|
||||
|
|
||||
7 | --x;
|
||||
@@ -16,13 +16,13 @@ test.f(0, 0)
|
||||
Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)
|
||||
test.f(0x0, 2)
|
||||
--> model_checker_targets_all_all_engines/input.sol:8:3:
|
||||
|
|
||||
8 | x + type(uint).max;
|
||||
@@ -31,13 +31,13 @@ test.f(0, 2)
|
||||
Warning: CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_all_all_engines/input.sol:9:3:
|
||||
|
|
||||
9 | 2 / x;
|
||||
@@ -46,13 +46,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_all_all_engines/input.sol:11:3:
|
||||
|
|
||||
11 | assert(x > 0);
|
||||
@@ -61,13 +61,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Empty array "pop" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_all_all_engines/input.sol:12:3:
|
||||
|
|
||||
12 | arr.pop();
|
||||
@@ -76,13 +76,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_all_all_engines/input.sol:13:3:
|
||||
|
|
||||
13 | arr[x];
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)
|
||||
test.f(0x0, 0)
|
||||
--> model_checker_targets_all_chc/input.sol:7:3:
|
||||
|
|
||||
7 | --x;
|
||||
@@ -16,13 +16,13 @@ test.f(0, 0)
|
||||
Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)
|
||||
test.f(0x0, 2)
|
||||
--> model_checker_targets_all_chc/input.sol:8:3:
|
||||
|
|
||||
8 | x + type(uint).max;
|
||||
@@ -31,13 +31,13 @@ test.f(0, 2)
|
||||
Warning: CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_all_chc/input.sol:9:3:
|
||||
|
|
||||
9 | 2 / x;
|
||||
@@ -46,13 +46,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_all_chc/input.sol:11:3:
|
||||
|
|
||||
11 | assert(x > 0);
|
||||
@@ -61,13 +61,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Empty array "pop" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_all_chc/input.sol:12:3:
|
||||
|
|
||||
12 | arr.pop();
|
||||
@@ -76,13 +76,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_all_chc/input.sol:13:3:
|
||||
|
|
||||
13 | arr[x];
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_assert_chc/input.sol:11:3:
|
||||
|
|
||||
11 | assert(x > 0);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_default_all_engines/input.sol:9:3:
|
||||
|
|
||||
9 | 2 / x;
|
||||
@@ -16,13 +16,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_default_all_engines/input.sol:11:3:
|
||||
|
|
||||
11 | assert(x > 0);
|
||||
@@ -31,13 +31,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Empty array "pop" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_default_all_engines/input.sol:12:3:
|
||||
|
|
||||
12 | arr.pop();
|
||||
@@ -46,13 +46,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_default_all_engines/input.sol:13:3:
|
||||
|
|
||||
13 | arr[x];
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_default_chc/input.sol:9:3:
|
||||
|
|
||||
9 | 2 / x;
|
||||
@@ -16,13 +16,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_default_chc/input.sol:11:3:
|
||||
|
|
||||
11 | assert(x > 0);
|
||||
@@ -31,13 +31,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Empty array "pop" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_default_chc/input.sol:12:3:
|
||||
|
|
||||
12 | arr.pop();
|
||||
@@ -46,13 +46,13 @@ test.f(0, 1)
|
||||
Warning: CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_default_chc/input.sol:13:3:
|
||||
|
|
||||
13 | arr[x];
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_div_by_zero_chc/input.sol:9:3:
|
||||
|
|
||||
9 | 2 / x;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_out_of_bounds_chc/input.sol:13:3:
|
||||
|
|
||||
13 | arr[x];
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)
|
||||
test.f(0x0, 2)
|
||||
--> model_checker_targets_overflow_chc/input.sol:8:3:
|
||||
|
|
||||
8 | x + type(uint).max;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Empty array "pop" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_pop_empty_chc/input.sol:12:3:
|
||||
|
|
||||
12 | arr.pop();
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)
|
||||
test.f(0x0, 0)
|
||||
--> model_checker_targets_underflow_chc/input.sol:7:3:
|
||||
|
|
||||
7 | --x;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)
|
||||
test.f(0x0, 0)
|
||||
--> model_checker_targets_underflow_overflow_assert_chc/input.sol:7:3:
|
||||
|
|
||||
7 | --x;
|
||||
@@ -16,13 +16,13 @@ test.f(0, 0)
|
||||
Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)
|
||||
test.f(0x0, 2)
|
||||
--> model_checker_targets_underflow_overflow_assert_chc/input.sol:8:3:
|
||||
|
|
||||
8 | x + type(uint).max;
|
||||
@@ -31,13 +31,13 @@ test.f(0, 2)
|
||||
Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> model_checker_targets_underflow_overflow_assert_chc/input.sol:11:3:
|
||||
|
|
||||
11 | assert(x > 0);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Warning: CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)
|
||||
test.f(0x0, 0)
|
||||
--> model_checker_targets_underflow_overflow_chc/input.sol:7:3:
|
||||
|
|
||||
7 | --x;
|
||||
@@ -16,13 +16,13 @@ test.f(0, 0)
|
||||
Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)
|
||||
test.f(0x0, 2)
|
||||
--> model_checker_targets_underflow_overflow_chc/input.sol:8:3:
|
||||
|
|
||||
8 | x + type(uint).max;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:12:7:
|
||||
|
|
||||
12 | \t\t\t\t\t\tassert(x > 0);
|
||||
@@ -16,10 +16,10 @@ test.f(0, 1)
|
||||
","message":"CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
@@ -126,13 +126,13 @@
|
||||
"}},"errors":[{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:10:7:
|
||||
|
|
||||
10 | \t\t\t\t\t\t2 / x;
|
||||
@@ -141,22 +141,22 @@ test.f(0, 1)
|
||||
","message":"CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here.
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:12:7:
|
||||
|
|
||||
12 | \t\t\t\t\t\tassert(x > 0);
|
||||
@@ -165,22 +165,22 @@ test.f(0, 1)
|
||||
","message":"CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here.
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:13:7:
|
||||
|
|
||||
13 | \t\t\t\t\t\tarr.pop();
|
||||
@@ -189,22 +189,22 @@ test.f(0, 1)
|
||||
","message":"CHC: Empty array \"pop\" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here.
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:14:7:
|
||||
|
|
||||
14 | \t\t\t\t\t\tarr[x];
|
||||
@@ -213,13 +213,13 @@ test.f(0, 1)
|
||||
","message":"CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"},{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true.
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"},{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true.
|
||||
--> A:7:15:
|
||||
|
|
||||
7 | \t\t\t\t\t\trequire(x >= 0);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:10:7:
|
||||
|
|
||||
10 | \t\t\t\t\t\t2 / x;
|
||||
@@ -16,22 +16,22 @@ test.f(0, 1)
|
||||
","message":"CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here.
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:12:7:
|
||||
|
|
||||
12 | \t\t\t\t\t\tassert(x > 0);
|
||||
@@ -40,22 +40,22 @@ test.f(0, 1)
|
||||
","message":"CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here.
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:13:7:
|
||||
|
|
||||
13 | \t\t\t\t\t\tarr.pop();
|
||||
@@ -64,22 +64,22 @@ test.f(0, 1)
|
||||
","message":"CHC: Empty array \"pop\" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here.
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:14:7:
|
||||
|
|
||||
14 | \t\t\t\t\t\tarr[x];
|
||||
@@ -88,10 +88,10 @@ test.f(0, 1)
|
||||
","message":"CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:10:7:
|
||||
|
|
||||
10 | \t\t\t\t\t\t2 / x;
|
||||
@@ -16,10 +16,10 @@ test.f(0, 1)
|
||||
","message":"CHC: Division by zero happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:14:7:
|
||||
|
|
||||
14 | \t\t\t\t\t\tarr[x];
|
||||
@@ -16,10 +16,10 @@ test.f(0, 1)
|
||||
","message":"CHC: Out of bounds access happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)
|
||||
test.f(0x0, 2)
|
||||
--> A:9:7:
|
||||
|
|
||||
9 | \t\t\t\t\t\tx + type(uint).max;
|
||||
@@ -16,10 +16,10 @@ test.f(0, 2)
|
||||
","message":"CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:13:7:
|
||||
|
|
||||
13 | \t\t\t\t\t\tarr.pop();
|
||||
@@ -16,10 +16,10 @@ test.f(0, 1)
|
||||
","message":"CHC: Empty array \"pop\" happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"3944","formattedMessage":"Warning: CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)
|
||||
test.f(0x0, 0)
|
||||
--> A:8:7:
|
||||
|
|
||||
8 | \t\t\t\t\t\t--x;
|
||||
@@ -16,10 +16,10 @@ test.f(0, 0)
|
||||
","message":"CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
+12
-12
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"3944","formattedMessage":"Warning: CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)
|
||||
test.f(0x0, 0)
|
||||
--> A:8:7:
|
||||
|
|
||||
8 | \t\t\t\t\t\t--x;
|
||||
@@ -16,22 +16,22 @@ test.f(0, 0)
|
||||
","message":"CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
test.f(0x0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)
|
||||
test.f(0x0, 2)
|
||||
--> A:9:7:
|
||||
|
|
||||
9 | \t\t\t\t\t\tx + type(uint).max;
|
||||
@@ -40,22 +40,22 @@ test.f(0, 2)
|
||||
","message":"CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here.
|
||||
test.f(0x0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)
|
||||
test.f(0x0, 1)
|
||||
--> A:12:7:
|
||||
|
|
||||
12 | \t\t\t\t\t\tassert(x > 0);
|
||||
@@ -64,10 +64,10 @@ test.f(0, 1)
|
||||
","message":"CHC: Assertion violation happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{"errors":[{"component":"general","errorCode":"3944","formattedMessage":"Warning: CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)
|
||||
test.f(0x0, 0)
|
||||
--> A:8:7:
|
||||
|
|
||||
8 | \t\t\t\t\t\t--x;
|
||||
@@ -16,22 +16,22 @@ test.f(0, 0)
|
||||
","message":"CHC: Underflow (resulting value less than 0) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 0
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
test.f(0x0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)
|
||||
test.f(0x0, 2)
|
||||
--> A:9:7:
|
||||
|
|
||||
9 | \t\t\t\t\t\tx + type(uint).max;
|
||||
@@ -40,10 +40,10 @@ test.f(0, 2)
|
||||
","message":"CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
Counterexample:
|
||||
arr = []
|
||||
a = 0
|
||||
a = 0x0
|
||||
x = 1
|
||||
|
||||
Transaction trace:
|
||||
test.constructor()
|
||||
State: arr = []
|
||||
test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
test.f(0x0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}}
|
||||
|
||||
Reference in New Issue
Block a user