Martin Blicha
7c6340fe4f
[SMTChecker] Refactoring expression to tuple assignment
2021-01-12 17:15:14 +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
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
d90b9da4f0
[SMTChecker] Refactoring
2020-12-22 13:10:48 +01:00
Martin Blicha
87ef0e16f5
[SMTChecker] Fix virtual modifier called statically
2020-12-21 13:52:28 +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
Leonardo Alt
f5c96ea6da
Fix constant evaluation build
2020-12-16 17:59:00 +01:00
Leonardo Alt
80e85b772b
[SMTChecker] Apply const eval to arithmetic binary expressions
2020-12-16 14:58:00 +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
2ee633f404
[SMTChecker] Added support for public getters through this.
2020-12-02 16:06:48 +01:00
Martin Blicha
cd06d68cbe
[SMTChecker] Keeping better track of path condition through branches with return statement in the BMC engine.
2020-11-30 11:47:49 +01:00
Martin Blicha
80d743426f
[SMTChecker] Added support for struct constructor.
2020-11-23 13:45:17 +01:00
Martin Blicha
fbcb572d69
[SMTChecker] Small refactoring of assignments to provide a common low-level point for model checker engines to hook into.
2020-11-19 22:03:08 +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 Alt
1dbd8f8d67
Fix CHC false positives when using branches inside modifiers
2020-11-04 21:47:07 +00:00
Leonardo Alt
e38d0db683
[SMTChecker] Fix internal error when array.push() is used as LHS of assignment
2020-11-02 13:32:53 +00:00
Leonardo Alt
4755cfe157
Fix assignment to contract member access
2020-10-26 14:39:02 +00:00
Leonardo Alt
b087fa9750
[SMTChecker] Fix ICE implicit conversion string literal -> byte
2020-10-21 22:03:01 +01:00
Leonardo
a097f9f124
Merge pull request #10025 from ethereum/smt_crypto_functions
...
[SMTChecker] Support crypto functions in CHC
2020-10-16 16:40:29 +01:00
Martin Blicha
78c8fbc7ce
[SMTChecker] encoding division and modulo operations using slack variables
2020-10-16 16:06:31 +02:00
Leonardo Alt
54f76e081a
[SMTChecker] Support crypto functions in CHC
2020-10-16 14:57:13 +01:00
Djordje Mijovic
e23d8f5593
[SMTChecker] Supporting inline arrays.
2020-10-12 16:59:14 +02:00
Leonardo Alt
352cce5fc8
[SMTChecker] Support addmod and mulmod.
2020-09-29 12:45:19 +02:00
Alex Beregszaszi
9f3d5d3e2f
[SMTChecker] Implement support for memory allocation
2020-09-25 15:56:24 +01:00
Djordje Mijovic
773e000227
[SMTChecker] Implementing compound bitwise And/Or/Xor operators
2020-09-23 11:31:37 +02:00
Leonardo Alt
23ee011c56
[SMTChecker] Fix imports
2020-09-11 13:34:46 +02:00
Leonardo Alt
bd0c46abf5
Remove unreachable/redundant error messages
2020-09-03 15:19:03 +02:00
Leonardo Alt
e61b731647
[SMTChecker] Support structs
2020-09-03 15:19:03 +02:00
Leonardo Alt
5bbb20d3cb
Move stateVariablesIncludingInheritedAndPrivate from CHC to SMTEncoder
2020-09-01 16:09:57 +02:00
Leonardo Alt
50e0ada77d
[SMTChecker] Fix unary operator on lvalue tuple
2020-09-01 08:25:06 +02:00
Djordje Mijovic
11a7763f49
[SMTChecker] Support bitwise or, xor and not.
2020-08-26 11:06:56 +02:00
Djordje Mijovic
3f97a1012a
[SMTChecker] Supporting conditional operator
2020-08-20 21:39:35 +02:00
Leonardo Alt
9d2a0947e9
Fix 1-tuple chain
2020-07-23 13:46:41 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
Djordje Mijovic
c6e4943089
Adding fixes for signedness warnings in libsolidity
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-10 10:41:55 +02:00
Leonardo Alt
f49e2424b2
[SMTChecker] Erase knowledge when array variable is pushed
2020-06-08 10:23:06 +02:00
Leonardo Alt
87ceb72b82
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 12:20:47 +02:00
Leonardo Alt
10162016ae
[SMTChecker] Fix internal error on try/catch
2020-06-02 16:51:53 +02:00
Leonardo Alt
9e9f0c52e1
[SMTChecker] Support to bitwise
2020-05-27 20:59:00 +02:00
Leonardo Alt
45eba27424
Rename namespace
2020-05-20 12:55:18 +02:00
Leonardo Alt
2435ab938c
Add verification target for empty pop
2020-05-18 16:35:56 +02:00
Leonardo Alt
82db35e563
[SMTChecker] Support array push/pop
2020-05-18 16:33:34 +02:00
Leonardo Alt
d31a2a8d21
CHC clears indices so that initial is 0 and current is 1
2020-02-12 11:47:58 -03:00
Leonardo Alt
34d64761d9
Extract symbolicArguments function
2020-02-12 11:47:58 -03:00
Leonardo Alt
6451a4d2a0
Move VerificationTarget and add BMCVerificationTarget
2020-02-12 11:47:58 -03:00