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
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
chriseth
96d777d7f1
Merge commit 'a7d481fb9' into develop_060
2019-12-03 20:47:30 +01:00
Leonardo Alt
a352abe00d
[SMTChecker] Add support to constructors
2019-11-28 14:43:23 +01:00
chriseth
f7fc42d8c3
Merge pull request #7826 from ethereum/develop
...
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
Leonardo Alt
240ff30878
[SMTChecker] Do not visit the name of a modifier invocation
2019-11-27 22:34:33 +01:00
Erik K
94272d44aa
Merge pull request #7745 from ethereum/develop
...
Merge develop into develop_060
2019-11-19 15:30:31 +01:00
Leonardo Alt
d818746e0c
[SMTChecker] Fix ICE in abi.decode
2019-11-18 13:15:10 +01:00
chriseth
21e65076b3
Merge pull request #7650 from ethereum/develop
...
Merge develop into develop_060
2019-11-06 21:56:55 +01:00
Leonardo Alt
10e70b8603
[SMTChecker] Support inheritance and resolve overrides
2019-11-06 11:00:06 +01:00
chriseth
5b3efee93b
Merge pull request #7442 from ethereum/develop
...
Merge develop into develop_060
2019-09-17 12:16:27 +02:00
Leonardo Alt
e1c238e25f
[SMTChecker] Add loop support
2019-09-13 12:40:53 +02:00
Daniel Kirchner
4782c800ec
Initial introduction of array slices with partial implementation for dynamic calldata arrays.
2019-09-13 10:57:53 +02:00