Leonardo Alt
|
4755cfe157
|
Fix assignment to contract member access
|
2020-10-26 14:39:02 +00:00 |
|
Leonardo Alt
|
d3d77e482c
|
Fix ICE on conditions with tuples of rationals
|
2020-10-23 14:47:53 +01:00 |
|
chriseth
|
20f39ab6e9
|
Merge pull request #10097 from ethereum/develop
Merge develop into breaking.
|
2020-10-23 10:30:24 +02:00 |
|
chriseth
|
bfc8e26007
|
Remove low-level log functions.
|
2020-10-22 17:50:14 +02:00 |
|
Martin Blicha
|
ade3b9951c
|
[SMTChecker] Added support for selector when expression's value is known at compile time
|
2020-10-22 14:18:52 +02:00 |
|
Leonardo Alt
|
b087fa9750
|
[SMTChecker] Fix ICE implicit conversion string literal -> byte
|
2020-10-21 22:03:01 +01:00 |
|
Martin Blicha
|
f0d81601db
|
[SMTChecker] Adding division by zero checks in the CHC engine
|
2020-10-21 14:48:33 +02:00 |
|
chriseth
|
6979952995
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-10-19 18:02:50 +02: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 |
|
Leonardo
|
8d7bdcaba7
|
Merge pull request #10036 from ethereum/smt_cli_option
Add CLI option to choose model checker engine
|
2020-10-16 16:37:33 +01:00 |
|
Martin Blicha
|
78c8fbc7ce
|
[SMTChecker] encoding division and modulo operations using slack variables
|
2020-10-16 16:06:31 +02:00 |
|
Leonardo Alt
|
4e49135318
|
Add CLI option to choose model checker engine
|
2020-10-16 15:01:47 +01:00 |
|
Leonardo Alt
|
54f76e081a
|
[SMTChecker] Support crypto functions in CHC
|
2020-10-16 14:57:13 +01:00 |
|
chriseth
|
979d3062bc
|
Merge pull request #10033 from ethereum/develop
Merge develop into breaking
|
2020-10-14 14:12:20 +02:00 |
|
Leonardo Alt
|
a2cdde1191
|
Add tx data to symbolic state
|
2020-10-13 17:49:04 +01:00 |
|
Mathias Baumann
|
006e5f2e1f
|
Allow path syntax for super constructor calls
|
2020-10-13 14:32:11 +02:00 |
|
Djordje Mijovic
|
e23d8f5593
|
[SMTChecker] Supporting inline arrays.
|
2020-10-12 16:59:14 +02:00 |
|
Leonardo Alt
|
18cf01c187
|
Add this and state to CHC
|
2020-10-12 11:11:52 +01:00 |
|
Alex Beregszaszi
|
fedbea46cd
|
[SMTChecker] Support type conversions
|
2020-10-02 10:26:02 +02:00 |
|
Leonardo Alt
|
c8cc73c80c
|
Support array slices
|
2020-10-01 11:52:02 +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 |
|
Alex Beregszaszi
|
9c1b041dcb
|
[SMTChecker] Keep constraints of string literals after assignment
|
2020-09-25 11:32:48 +01:00 |
|
Alex Beregszaszi
|
5090353a1a
|
[SMTChecker] Keep knowledge about string literals
|
2020-09-25 11:32:23 +01:00 |
|
Leonardo
|
57e1b2cb92
|
Merge pull request #9881 from ethereum/smt_fixed_bytes_index_access
[SMTChecker] Support fixed bytes index access
|
2020-09-25 11:32:56 +02:00 |
|
Leonardo Alt
|
df8c6d94e3
|
[SMTChecker] Support fixed bytes index access
|
2020-09-25 09:59:38 +02:00 |
|
Alex Beregszaszi
|
6edfdff187
|
[SMTChecker] Do not warn on "abi" as an identifer
There is an approprate warning for the function call.
|
2020-09-24 13:57:42 +01:00 |
|
Đorđe Mijović
|
858b4507e2
|
Merge pull request #9854 from ethereum/bitwiseSmt
[SMTChecker] Support compound shifts and bitwise and, or, and xor
|
2020-09-23 12:35:48 +02:00 |
|
Djordje Mijovic
|
79f550dba9
|
[SMTChecker] Supporting compound shift operators.
|
2020-09-23 11:31:37 +02:00 |
|
Djordje Mijovic
|
773e000227
|
[SMTChecker] Implementing compound bitwise And/Or/Xor operators
|
2020-09-23 11:31:37 +02:00 |
|
Alex Beregszaszi
|
709d25bd3d
|
[SMTChecker] Support address type conversion with literals
|
2020-09-22 18:49:11 +01:00 |
|
chriseth
|
6e2d2feb10
|
Small fixes wrt ReasoningBasedSimplifier.
|
2020-09-16 18:08:54 +02:00 |
|
Alex Beregszaszi
|
c8c17b693b
|
[SMTChecker] Support events and low-level logs
|
2020-09-16 11:50:39 +02:00 |
|
chriseth
|
f73fb726af
|
Reasoning based optimizer.
|
2020-09-15 15:57:58 +02:00 |
|
Alex Beregszaszi
|
783d66c1a4
|
[SMTChecker] Support revert()
|
2020-09-15 11:46:33 +01:00 |
|
Alex Beregszaszi
|
9aa9962f71
|
Add ContractDefinition::interfaceId() helper
|
2020-09-14 20:34:52 +01:00 |
|
Alex Beregszaszi
|
83934254ea
|
[SMTChecker] Support type(I).interfaceId
|
2020-09-14 20:34:52 +01:00 |
|
Leonardo
|
31b5102aa0
|
Merge pull request #9731 from ethereum/smt_import
[SMTChecker] Fix CHC encoding
|
2020-09-12 00:56:04 +02:00 |
|
Alex Beregszaszi
|
961a199cf5
|
[SMTChecker] Support type(T).min and type(T).max
|
2020-09-11 21:37:51 +01:00 |
|
Leonardo Alt
|
23ee011c56
|
[SMTChecker] Fix imports
|
2020-09-11 13:34:46 +02:00 |
|
Leonardo Alt
|
40197df104
|
[SMTChecker] Support shifts
|
2020-09-09 19:47:52 +02:00 |
|
Leonardo Alt
|
7b3cd019d4
|
Make recursive structs unsupported
|
2020-09-03 15:19:33 +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
|
0d83977d5a
|
Merge pull request #9648 from ethereum/smt_refactor_predicates
[SMTChecker] Refactor CHC predicates
|
2020-09-01 20:38:47 +02:00 |
|
Leonardo Alt
|
49d3804de4
|
[SMTChecker] Fix rational number short circuit
|
2020-09-01 17:21:13 +02:00 |
|
Leonardo Alt
|
5bbb20d3cb
|
Move stateVariablesIncludingInheritedAndPrivate from CHC to SMTEncoder
|
2020-09-01 16:09:57 +02:00 |
|
Leonardo Alt
|
238b8a929e
|
[SMTChecker] Fix ICE on tuples of one element that actually have tuple type
|
2020-09-01 08:31:57 +02:00 |
|
Leonardo Alt
|
5cafbeebec
|
[SMTChecker] Fix ICE on tuple assignment
|
2020-09-01 08:29:01 +02:00 |
|
Leonardo Alt
|
50e0ada77d
|
[SMTChecker] Fix unary operator on lvalue tuple
|
2020-09-01 08:25:06 +02:00 |
|
Leonardo Alt
|
8c05db88c0
|
[SMTChecker] Fix soundness of array pop
|
2020-08-31 12:11:33 +02:00 |
|
Djordje Mijovic
|
11a7763f49
|
[SMTChecker] Support bitwise or, xor and not.
|
2020-08-26 11:06:56 +02:00 |
|
Đorđe Mijović
|
4dd25f7302
|
Merge pull request #9639 from ethereum/smtConditionalSupport
[SMTChecker] Supporting conditional operator
|
2020-08-21 14:25:47 +02:00 |
|
Djordje Mijovic
|
3f97a1012a
|
[SMTChecker] Supporting conditional operator
|
2020-08-20 21:39:35 +02:00 |
|
chriseth
|
4dc63875f9
|
Merge pull request #9113 from ethereum/smt_chc_overflow
[SMTChecker] Add underflow/overflow target to CHC
|
2020-08-20 13:17:00 +02:00 |
|
Leonardo Alt
|
8a06041bbe
|
[SMTChecker] Add underflow/overflow target to CHC
|
2020-08-14 12:58:27 +02:00 |
|
Jason Cobb
|
888d7037cd
|
Make FunctionCallAnnotation::kind a SetOnce
|
2020-08-12 11:57:01 -04:00 |
|
Leonardo Alt
|
ad1798b000
|
[SMTChecker] Fix ICE on fixed bytes access
|
2020-07-28 17:59:42 +02:00 |
|
Leonardo Alt
|
b207222af7
|
Fix extra parens
|
2020-07-27 17:14:59 +02:00 |
|
Leonardo Alt
|
de4ae301c4
|
[SMTChecker] Fix ICE when tuples have extra effectless parens
|
2020-07-27 13:03:27 +02:00 |
|
Leonardo Alt
|
9d2a0947e9
|
Fix 1-tuple chain
|
2020-07-23 13:46:41 +02:00 |
|
Leonardo Alt
|
2c93278719
|
Fix push().push()
|
2020-07-20 17:17:35 +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 |
|
Leonardo Alt
|
672633af0a
|
[SMTChecker] Fix ICE on compound assignment to array index
|
2020-07-16 17:44:10 +02:00 |
|
Leonardo Alt
|
46653b2d43
|
Fix ICE when bitwise operator on fixed bytes
|
2020-07-15 19:32:15 +02:00 |
|
chriseth
|
b3566ad0d5
|
Merge pull request #9082 from ethereum/conversionWarnings
Adding `-Wsign-conversion` flag and fixing errors
|
2020-07-13 11:28:09 +02:00 |
|
Leonardo Alt
|
88030c6568
|
[SMTChecker] Refactor verification targets
|
2020-07-10 10:28:49 +02:00 |
|
Djordje Mijovic
|
547590b972
|
Fixing additional signedness errors after adding -Wsign-conversion flag
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2020-07-09 17:22:45 +02:00 |
|
Leonardo Alt
|
3c4e286390
|
[SMTChecker] Replace wrap mod by slack vars
|
2020-06-12 14:57:21 +02:00 |
|
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
|
d243f5baac
|
Merge pull request #9045 from ethereum/smt_fix_tuple
[SMTChecker] Fix internal error in tuples of tuples.
|
2020-06-05 14:21:32 +02:00 |
|
Leonardo
|
731e6466a0
|
Merge pull request #9067 from ethereum/smt_fix_fp_again
[SMTChecker] Fix BMC targets with FP
|
2020-06-05 12:39:28 +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
|
2128ff9f13
|
Fix ICE on push for member access
|
2020-05-29 19:13:27 +02:00 |
|
Leonardo Alt
|
e5d25692a5
|
[SMTChecker] Fix BMC targets with FP
|
2020-05-29 18:13:13 +02:00 |
|
Leonardo Alt
|
b90fb1cab6
|
[SMTChecker] Fix ICE on index access assignment inside single branches
|
2020-05-28 15:56:46 +02:00 |
|
Leonardo Alt
|
a73ec6a82f
|
[SMTChecker] Fix ICE in inlining function calls while short circuiting
|
2020-05-28 13:14:19 +02:00 |
|
Leonardo Alt
|
cb1cbbc1f1
|
[SMTChecker] Fix fixed point inc/dec
|
2020-05-28 10:56:06 +02:00 |
|
Leonardo Alt
|
9e9f0c52e1
|
[SMTChecker] Support to bitwise
|
2020-05-27 20:59:00 +02:00 |
|
chriseth
|
9604174151
|
Rename asCallableFunction.
|
2020-05-26 11:35:12 +02:00 |
|
Leonardo Alt
|
7a91c9b971
|
Remove Type from SolverInterface
|
2020-05-20 12:55:19 +02:00 |
|
Leonardo Alt
|
45eba27424
|
Rename namespace
|
2020-05-20 12:55:18 +02:00 |
|
Leonardo Alt
|
087605ea02
|
Create libsmtutil
|
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
|
d4d26c02e4
|
Assume that push will not overflow
|
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
|
a0c605aa85
|
[SMTChecker] Support array length
|
2020-05-14 23:32:29 +02:00 |
|
a3d4
|
8f68c04358
|
Add unique IDs to error reporting calls
|
2020-05-06 13:53:46 +02:00 |
|
hrkrshnn
|
e2e32d372f
|
virtual modifiers (in Abstract contracts) allow empty bodies
|
2020-04-23 17:26:59 +05:30 |
|
Leonardo Alt
|
83c9e82099
|
Fix ICE with fixed point
|
2020-04-22 19:57:00 +02:00 |
|
chriseth
|
41ef13129b
|
Merge pull request #8678 from ethereum/smt_remove_redundant_constraints
[SMTChecker] Remove redundant CHC constraints
|
2020-04-20 15:44:59 +02:00 |
|
hrkrshnn
|
4760b8589d
|
Replaced all instances of lValueRequested to willBeWrittenTo
|
2020-04-20 12:33:30 +05:30 |
|
Leonardo Alt
|
bca43586c6
|
[SMTChecker] Remove redundant CHC constraints
|
2020-04-15 18:11:39 +02:00 |
|
Leonardo Alt
|
5d9dd654cf
|
[SMTChecker] Add and use tuple sort
|
2020-04-08 18:26:03 +02:00 |
|
Leonardo Alt
|
05a85461fe
|
Symbolic state
|
2020-04-06 12:27:53 +02:00 |
|
Leonardo Alt
|
07368c2e1e
|
Add support to internal function calls
|
2020-03-11 16:29:07 +01:00 |
|
Leonardo Alt
|
96a230af50
|
[SMTChecker] Fix ICEs with tuples
|
2020-03-03 11:35:58 +01:00 |
|
Leonardo Alt
|
34d64761d9
|
Extract symbolicArguments function
|
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
|
2f11ac3590
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-12-03 21:17:15 +01:00 |
|
chriseth
|
96d777d7f1
|
Merge commit 'a7d481fb9' into develop_060
|
2019-12-03 20:47:30 +01:00 |
|
Leonardo Alt
|
b1577f5e46
|
[SMTChecker] Fix ICE in array of structs type
|
2019-12-03 01:12:30 +01:00 |
|
Leonardo Alt
|
9eda95caf9
|
[SMTChecker] Fix visit to IndexAccess that has type Type
|
2019-11-29 17:20:50 +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
|
216e1749f4
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-14 13:42:46 +01:00 |
|
Leonardo Alt
|
8efacfb545
|
[SMTChecker] Fix ICE in string literal to fixed bytes implicit conversion
|
2019-11-13 22:25:18 +01:00 |
|
Leonardo Alt
|
e3652627fd
|
[SMTChecker] Fix ICE in CHC when function used as argument
|
2019-11-13 15:11:30 +01:00 |
|
chriseth
|
2e5a42836c
|
Merge pull request #7681 from ethereum/develop
Merge develop into develop_060
|
2019-11-11 16:42:03 +01:00 |
|
Leonardo Alt
|
5dacaf57bc
|
Fix ICE in FixedBytes IndexAccess
|
2019-11-08 17:29:40 +01:00 |
|
Leonardo Alt
|
fc945880d1
|
[SMTChecker] Fix override tests
|
2019-11-07 11:49:32 +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
|
46ac16d25c
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-04 19:09:11 +01:00 |
|
Leonardo Alt
|
8a42e3f87a
|
[SMTChecker] Support assignments to m-d arrays and mappings
|
2019-10-28 17:27:39 +01:00 |
|
Leonardo
|
ca714a2d3d
|
Merge pull request #7485 from ethereum/develop
Merge develop into develop_060
|
2019-09-26 15:43:12 +02:00 |
|
Leonardo Alt
|
83ef34f41d
|
[SMTChecker] Fix SMT name for function identifiers
|
2019-09-24 11:23:10 +02: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 |
|
Leonardo Alt
|
214e5c6369
|
[SMTChecker] Fix index access type type error
|
2019-08-27 16:39:19 +02:00 |
|
Leonardo
|
cbac3a4208
|
Merge pull request #7107 from ethereum/smt_chc_constructor_interface
[SMTChecker] Add CHC constructor/interface/error blocks
|
2019-08-12 15:06:08 +02:00 |
|
Leonardo Alt
|
bef6228810
|
[SMTChecker] Create CHC constructor/interface/error blocks
|
2019-08-12 12:34:57 +02:00 |
|
Leonardo Alt
|
360f868836
|
[SMTChecker] Fix literal string type mismatch
|
2019-08-10 21:51:46 +02:00 |
|
Leonardo Alt
|
7b22496b1f
|
[SMTChecker] Fix ICE when inlining functions that use state vars and are in a different source
|
2019-08-09 17:50:52 +02:00 |
|
Leonardo Alt
|
369f8cd97f
|
[SMTChecker] CHC create function return variables
|
2019-08-05 12:36:51 +02:00 |
|
Leonardo
|
11632966c9
|
Merge pull request #7171 from ethereum/smt_fix_compound_bitwise
[SMTChecker] Fix ICE compound bitwise op inside branch
|
2019-08-05 12:15:01 +02:00 |
|
Leonardo Alt
|
d5fb8cf58a
|
[SMTChecker] Fix ICE compound bitwise op inside branch
|
2019-08-02 20:02:39 +02:00 |
|
Leonardo Alt
|
7b5863e583
|
Do not erase knowledge about storage pointers when another pointer is assigned
|
2019-08-02 13:09:06 +02:00 |
|
Leonardo Alt
|
44d7c6976a
|
Erase pointer knowledge properly inside loops
|
2019-07-30 12:47:50 +02:00 |
|
Leonardo Alt
|
847f574e22
|
[SMTChecker] Fix ICE when inlining function with tuple expression
|
2019-07-26 16:29:29 +02:00 |
|
Leonardo Alt
|
382df64899
|
[SMTChecker] Refactor function inlining
|
2019-07-18 13:56:48 +02:00 |
|
Leonardo Alt
|
934e00d235
|
[SMTChecker] SymbolicVariables use EncodingContext to declare SMT vars
|
2019-07-03 16:05:56 +02:00 |
|
chriseth
|
817852c650
|
Merge pull request #7030 from ethereum/smt_move_solver
[SMTChecker] Move solver from SMTEncoder to BMC
|
2019-07-02 14:08:55 +02:00 |
|
chriseth
|
e542e46163
|
Merge pull request #7022 from ethereum/smt_create_expr
[SMTChecker] Always create symbolic expression
|
2019-07-02 14:07:24 +02:00 |
|
chriseth
|
ca10b59b25
|
Merge pull request #7020 from ethereum/smt_fix_callstack_message
[SMTChecker] Fix wrong assertion in callstack message
|
2019-07-02 13:47:49 +02:00 |
|
Leonardo Alt
|
b0818bd002
|
[SMTChecker] Move solver pointer from SMTEncoder to BMC
|
2019-07-02 12:06:52 +02:00 |
|
Leonardo Alt
|
fb3c85633b
|
Always create symbolic expression
|
2019-07-01 16:25:33 +02:00 |
|
Leonardo Alt
|
75663dc91e
|
[SMTChecker] Fix require with message
|
2019-07-01 16:17:06 +02:00 |
|
Leonardo Alt
|
6606a13ed2
|
[SMTChecker] Remove unsound assertion (too strong)
|
2019-07-01 16:16:39 +02:00 |
|
Leonardo Alt
|
3cb4ed83c1
|
[SMTChecker] Split SMTChecker into SMTEncoder and BMC
|
2019-07-01 15:05:03 +02:00 |
|