Leo Alt
daea5f886d
Fix CHCSmtLib2Interface
2021-05-26 22:12:49 +02:00
Leonardo Alt
4b2ccf2f37
Abstract function smtchecker natspec
2021-05-11 15:30:19 +02:00
Leonardo Alt
dd1865873e
Choose contracts to be analyzed by the SMTChecker
2021-04-21 10:34:14 +02:00
Leonardo Alt
095d337140
Basic support to free constants
2021-04-19 19:23:18 +02:00
Leonardo Alt
4e34359063
Basic support to free functions
2021-04-19 19:23:18 +02:00
Leonardo Alt
b753cb6120
Deprecate pragma experimental SMTChecker
2021-04-08 21:03:38 +02:00
anurag4u80
bbcdddeed9
Replaced keys, values and reverse with ranges
2021-03-31 23:33:04 +05:30
Leonardo Alt
ba97d6ac4e
Add local vars to cex
2021-03-30 17:55:21 +02:00
Leonardo Alt
dbd067d6db
Report out of bounds index access
2021-03-30 10:28:48 +02:00
Leonardo Alt
d1db41a5c8
Fix target warning order nondeterminism
2021-03-26 12:13:52 +01:00
Martin Blicha
85358dfe30
[SMTChecker] Do not create targets for contracts that cannot be deployed
2021-03-25 15:38:37 +01:00
Mathias Baumann
e197ebbdd1
Replace TypePointer
with Type const*
2021-03-23 11:47:19 +01:00
Leonardo Alt
998346e599
Fix bug in virtual functions called by constructor.
2021-03-12 16:42:28 +01:00
Leonardo Alt
6fd76e830d
Fix CHC cex order
2021-03-11 10:36:40 +01:00
Martin Blicha
4285c2803b
[SMTChecker] Fix ICE on array.pop nested inside 1-tuple
2021-03-09 20:00:51 +01:00
Leonardo
7405dc5b7f
Merge pull request #10836 from ethereum/smt_fix_cex_inheritance
...
Fix inheritance bug in CHC cex
2021-02-03 18:49:25 +01:00
Martin Blicha
d99256aae7
[SMTChecker] refactoring of resetting storage variables
2021-02-03 15:53:58 +01:00
Martin Blicha
f1013427a7
[SMTChecker] refactoring the accessing the encoding state
2021-02-03 15:53:58 +01:00
Leonardo Alt
665ce27c18
Fix inheritance bug in CHC cex
2021-02-02 18:06:32 +01:00
Martin Blicha
a49950cdf3
[SMTChecker] Added transaction constraints also for contract deployment
2021-02-01 16:46:34 +01:00
Leonardo Alt
545305a31f
[SMTChecker] Fix super and virtual
2021-01-28 18:51:29 +01:00
Leonardo Alt
3b23cadbdc
Add CLI and JSON option to select SMTChecker targets
2021-01-20 17:35:37 +01:00
Leonardo Alt
007d39871b
[SMTChecker] Synthesize untrusted functions called externally
2021-01-15 11:56:26 +01:00
Martin Blicha
7c6340fe4f
[SMTChecker] Refactoring expression to tuple assignment
2021-01-12 17:15:14 +01:00
Leonardo Alt
b3c3836388
Output internal calls
2021-01-12 14:57:04 +01:00
Leonardo Alt
f1ae24abc7
Remove extra line breaks
2021-01-12 14:00:07 +01:00
Martin Blicha
ff76c989ac
addressing review comments
2021-01-11 14:19:06 +01:00
Martin Blicha
dd43ce1578
fixing try/catch encoding for BMC, refactoring
2021-01-11 13:36:03 +01:00
Martin Blicha
0f3924186e
[SMTChecker] Support try-catch in CHC engine
2021-01-11 13:36:02 +01:00
Leonardo Alt
11f56861c3
Refactor cex loop
2021-01-07 23:13:02 +01:00
Leonardo Alt
78d55e6b4a
[SMTChecker] Support check/unchecked
2020-12-30 12:14:30 +01:00
Leonardo Alt
9482e7de23
[SMTChecker] Fix calls to virtual/overriden functions
2020-12-29 11:25:20 +01:00
Martin Blicha
bb0003f5ea
removed extra parameter from PredicateInstance::nondetInterface
2020-12-28 19:48:48 +01:00
Martin Blicha
f76ff35225
[SMTChecker] Detect errors caused by reentrancy
2020-12-28 14:32:53 +01:00
Martin Blicha
d90b9da4f0
[SMTChecker] Refactoring
2020-12-22 13:10:48 +01:00
Martin Blicha
7078e8f8f8
[SMTChecker] Fix analysis of overriding modifiers
2020-12-17 17:05:54 +01:00
Leonardo Alt
2cbf33ca1c
SMTChecker support ABI functions as UFs
2020-12-17 14:03:17 +01:00
Daniel Kirchner
c400c61fc3
Fix incorrect behaviour on clang 6.
2020-12-10 17:20:30 +01:00
Daniel Kirchner
7308abc084
Allow loading Z3 dynamically at runtime.
2020-12-10 16:47:47 +01:00
Leonardo Alt
3c142e0e94
Move CHC counterexamples to primary location
2020-12-09 19:55:18 +01:00
Leonardo Alt
a961a76263
Do not run SMTChecker when file level functions/constants are present.
2020-12-09 12:18:55 +01:00
Leonardo Alt
b7ac207391
[SMTChecker] Support return in CHC
2020-12-07 18:17:33 +01:00
Leonardo Alt
7490ffbe13
Use nonlinear clauses instead of inlining for base constructors
2020-12-04 13:25:56 +01:00
Martin Blicha
5ca7a24896
[SMTChecker] Added support for precise modeling of external calls to this
.
...
Modeling external calls to this, since we can trust these calls.
fixed problem with transaction data not being restored after trusted external call
update to the tests
additional tests
changelog entry
added tests for external getters of this
2020-11-13 11:49:09 +01:00
Leonardo
25b2a38d8b
Merge pull request #10202 from ethereum/smt_fix_modifiers_branches
...
[SMTChecker] Fix CHC false positives when using branches inside modifiers
2020-11-09 16:42:30 +00:00
Leonardo Alt
646be53f2f
Sort variables and expressions by AST id
2020-11-06 11:50:43 +00:00
Leonardo Alt
1dbd8f8d67
Fix CHC false positives when using branches inside modifiers
2020-11-04 21:47:07 +00:00
Leonardo
62535c2fd4
Merge pull request #10181 from ethereum/smt_user_timeout
...
[SMTChecker] User timeout option
2020-11-04 10:55:28 +00:00
Leonardo Alt
daf859c15b
[SMTChecker] report SMTEncoder warnings also via CHC
2020-11-03 16:06:17 +00:00
Leonardo Alt
d03ddeb0fa
[SMTChecker] User timeout option
2020-11-03 10:46:11 +00:00