2022-10-26 10:13:47 +00:00
|
|
|
{
|
|
|
|
"errors":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"component": "general",
|
|
|
|
"errorCode": "4281",
|
|
|
|
"formattedMessage": "Warning: CHC: Division by zero happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
a = 0x0
|
2021-01-19 11:56:22 +00:00
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
test.f(0x0, 1)
|
2021-01-19 11:56:22 +00:00
|
|
|
--> A:10:7:
|
|
|
|
|
|
|
|
|
10 | \t\t\t\t\t\t2 / x;
|
|
|
|
| \t\t\t\t\t\t^^^^^
|
|
|
|
|
2022-10-26 10:13:47 +00:00
|
|
|
",
|
|
|
|
"message": "CHC: Division by zero happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
a = 0x0
|
2021-01-19 11:56:22 +00:00
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2022-10-26 10:13:47 +00:00
|
|
|
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.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
a = 0x0
|
2021-01-19 11:56:22 +00:00
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
test.f(0x0, 1)
|
2021-01-19 11:56:22 +00:00
|
|
|
--> A:12:7:
|
|
|
|
|
|
|
|
|
12 | \t\t\t\t\t\tassert(x > 0);
|
|
|
|
| \t\t\t\t\t\t^^^^^^^^^^^^^
|
|
|
|
|
2022-10-26 10:13:47 +00:00
|
|
|
",
|
|
|
|
"message": "CHC: Assertion violation happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
a = 0x0
|
2021-01-19 11:56:22 +00:00
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2022-10-26 10:13:47 +00:00
|
|
|
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.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
a = 0x0
|
2021-01-19 11:56:22 +00:00
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
test.f(0x0, 1)
|
2021-01-19 11:56:22 +00:00
|
|
|
--> A:13:7:
|
|
|
|
|
|
|
|
|
13 | \t\t\t\t\t\tarr.pop();
|
|
|
|
| \t\t\t\t\t\t^^^^^^^^^
|
|
|
|
|
2022-10-26 10:13:47 +00:00
|
|
|
",
|
|
|
|
"message": "CHC: Empty array \"pop\" happens here.
|
2021-01-19 11:56:22 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
a = 0x0
|
2021-01-19 11:56:22 +00:00
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2022-10-26 10:13:47 +00:00
|
|
|
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.
|
2021-03-23 18:15:14 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
a = 0x0
|
2021-03-23 18:15:14 +00:00
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
test.f(0x0, 1)
|
2021-03-23 18:15:14 +00:00
|
|
|
--> A:14:7:
|
|
|
|
|
|
|
|
|
14 | \t\t\t\t\t\tarr[x];
|
|
|
|
| \t\t\t\t\t\t^^^^^^
|
|
|
|
|
2022-10-26 10:13:47 +00:00
|
|
|
",
|
|
|
|
"message": "CHC: Out of bounds access happens here.
|
2021-03-23 18:15:14 +00:00
|
|
|
Counterexample:
|
|
|
|
arr = []
|
2021-09-16 17:18:26 +00:00
|
|
|
a = 0x0
|
2021-03-23 18:15:14 +00:00
|
|
|
x = 0
|
|
|
|
|
|
|
|
Transaction trace:
|
|
|
|
test.constructor()
|
|
|
|
State: arr = []
|
2022-10-26 10:13:47 +00:00
|
|
|
test.f(0x0, 1)",
|
|
|
|
"severity": "warning",
|
|
|
|
"sourceLocation":
|
|
|
|
{
|
|
|
|
"end": 289,
|
|
|
|
"file": "A",
|
|
|
|
"start": 283
|
|
|
|
},
|
|
|
|
"type": "Warning"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"sources":
|
|
|
|
{
|
|
|
|
"A":
|
|
|
|
{
|
|
|
|
"id": 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|