Commit Graph

332 Commits

Author SHA1 Message Date
Alex Beregszaszi
c8c17b693b [SMTChecker] Support events and low-level logs 2020-09-16 11:50:39 +02:00
Alex Beregszaszi
783d66c1a4 [SMTChecker] Support revert() 2020-09-15 11:46:33 +01:00
Alex Beregszaszi
8f36408ef9 Add test case for revert() in SMTChecker 2020-09-15 11:46:16 +01:00
Daniel Kirchner
e93d74398b
Merge pull request #9807 from ethereum/smt_readd_tests
Readd SMTChecker tests
2020-09-15 02:57:42 +02:00
Leonardo Alt
28c8e01149 Readd SMTChecker tests 2020-09-14 23:44:13 +02:00
Alex Beregszaszi
83934254ea [SMTChecker] Support type(I).interfaceId 2020-09-14 20:34:52 +01:00
Leonardo Alt
fd6c665548 Update SMTChecker tests with z3 4.8.9 2020-09-14 19:04:13 +02: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
3fea11e1a9 Remove problematic test 2020-09-11 22:02:18 +02:00
Leonardo Alt
23ee011c56 [SMTChecker] Fix imports 2020-09-11 13:34:46 +02:00
Leonardo Alt
84c707cd2a Adjust problematic SMTChecker tests 2020-09-10 19:32:17 +02:00
Leonardo Alt
40197df104 [SMTChecker] Support shifts 2020-09-09 19:47:52 +02:00
Leonardo Alt
00f6b303b1 [SMTChecker] Change warning message 2020-09-09 16:14:21 +02:00
Leonardo Alt
69a7808838 Add new tests 2020-09-03 15:19:33 +02:00
Leonardo Alt
afcd44e77c Update current tests 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
e23d96464b Adjust test 2020-09-01 16:10:12 +02:00
Leonardo Alt
016b9b83a8 Refactor predicates 2020-09-01 16:09:56 +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
Djordje Mijovic
00e765f478 Fix tests for conditional operator on latest develop. 2020-08-22 07:52:55 +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
Leonardo Alt
5afd1219f5 Add test with unused error id 2020-08-14 12:58:27 +02:00
Leonardo Alt
0a160b1ba0 Update remaining tests 2020-08-14 12:58:27 +02:00
Leonardo Alt
80ab56dbc6 Update overflow tests 2020-08-14 12:58:27 +02:00
Leonardo Alt
8a06041bbe [SMTChecker] Add underflow/overflow target to CHC 2020-08-14 12:58:27 +02:00
Leonardo Alt
ec31d971e6 [SMTChecker] Fix tuple name for arrays 2020-08-07 12:28:10 +02:00
chriseth
3a409c39e4
Merge pull request #9518 from ethereum/smt_fix_bmc_function_inlining
[SMTChecker] Fix ICE in BMC function inlining
2020-08-06 00:50:04 +02:00
Leonardo Alt
8df8c6e14f [SMTChecker] Fix ICE in BMC function inlining 2020-08-05 11:47:25 +02:00
Leonardo Alt
55624d6416 Add test from Aon blog post 2020-08-04 09:31:48 +02:00
Leonardo Alt
ad1798b000 [SMTChecker] Fix ICE on fixed bytes access 2020-07-28 17:59:42 +02:00
Leonardo Alt
a6df232fa3 Fix SMT tests 2020-07-28 11:24:25 +02:00
chriseth
9605b85c21
Merge pull request #9352 from ethereum/smt_cex
[SMTChecker] CHC counterexamples
2020-07-27 19:21:04 +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
95484d9969 Fix tests after rebase 2020-07-23 18:49:03 +02:00
Leonardo Alt
d70ebbb62d Remove problematic test 2020-07-23 18:49:03 +02:00
Leonardo Alt
5bb4e73693 Review 1 2020-07-23 18:49:03 +02:00
Leonardo Alt
003c9b9a5b Update tests 2020-07-23 18:49:03 +02:00
Leonardo Alt
9d2a0947e9 Fix 1-tuple chain 2020-07-23 13:46:41 +02:00
chriseth
6bb6783d39 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-22 15:26:44 +02:00
chriseth
9be5ed1220 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-21 11:35:28 +02:00
Leonardo Alt
2c93278719 Fix push().push() 2020-07-20 17:17:35 +02:00
Leonardo Alt
2e1067a05a Set type properly for event parameters 2020-07-17 11:17:27 +02:00
Leonardo Alt
672633af0a [SMTChecker] Fix ICE on compound assignment to array index 2020-07-16 17:44:10 +02:00
chriseth
f945163909
Merge pull request #9432 from ethereum/develop
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
Leonardo Alt
46653b2d43 Fix ICE when bitwise operator on fixed bytes 2020-07-15 19:32:15 +02:00
chriseth
9743390a53 Update tests. 2020-07-07 12:16:18 +02:00
chriseth
ab68406006 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-06 15:25:25 +02:00
Leonardo Alt
5517e817d5 Do not trust code of external functions 2020-07-01 18:20:46 +02:00
Leonardo Alt
5160f89c1b [SMTChecker] Support to external calls to unknown code 2020-07-01 18:20:33 +02:00
chriseth
d67734df6f Fix error IDs. 2020-06-22 18:56:32 +02:00
chriseth
1441b97131 Merge remote-tracking branch 'origin/develop' into breaking 2020-06-22 18:40:20 +02:00
a3d4
e04cedafc5 Added error codes to SyntaxTest expectations (updated tests) 2020-06-22 16:51:47 +02:00
chriseth
8155ad2187 Merge remote-tracking branch 'origin/develop' into breaking 2020-06-15 17:11:41 +02:00
Leonardo Alt
3c4e286390 [SMTChecker] Replace wrap mod by slack vars 2020-06-12 14:57:21 +02:00
chriseth
6b3171c38b Merge remote-tracking branch 'origin/develop' into breaking 2020-06-10 11:30:50 +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
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
Leonardo Alt
10162016ae [SMTChecker] Fix internal error on try/catch 2020-06-02 16:51:53 +02:00
Leonardo
97cb091ada
Merge pull request #9068 from ethereum/smt_fix_state_var_init_call
[SMTChecker] Relax assertion about callstack
2020-06-02 15:53:14 +02:00
Leonardo Alt
ede39fc2da [SMTChecker] Relax assertion about callstack 2020-06-02 12:50:51 +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
chriseth
0b216f5771
Merge pull request #9050 from ethereum/smt_fix_nonvalue_asgn
[SMTChecker] Fix ICE on index access assignment inside single branches
2020-05-28 16:25:46 +02:00
Leonardo
1051cea91c
Merge pull request #9052 from ethereum/smt_add_test_delete_m_d_array
[SMTChecker] Add test that deletes arrays
2020-05-28 16:14:55 +02:00
Leonardo Alt
9b0146be42 Add test 2020-05-28 15:56:47 +02:00
Leonardo Alt
ec766958ea Add test 2020-05-28 13:14:21 +02:00
Leonardo Alt
13f32268da [SMTChecker] Add test that shows that deleting arrays takes the index into account 2020-05-28 13:08:16 +02:00
Leonardo Alt
9e9f0c52e1 [SMTChecker] Support to bitwise 2020-05-27 20:59:00 +02:00
chriseth
69a028b49c Merge remote-tracking branch 'origin/develop' into breaking 2020-05-26 10:11:23 +02:00
Leonardo Alt
0fda5fe077 [SMTChecker] Add test that has an unused mapping 2020-05-25 10:24:48 +02:00
chriseth
d422a406ba
Merge pull request #8983 from ethereum/develop
Merge develop into breaking.
2020-05-19 18:05:28 +02:00
Leonardo Alt
1ab6ad79d8 Update test expectation 2020-05-18 16:59:31 +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
07bb1952a7 Test updates 2020-05-14 23:32:30 +02:00
Leonardo Alt
a0c605aa85 [SMTChecker] Support array length 2020-05-14 23:32:29 +02:00
chriseth
993a7941b1 Merge remote-tracking branch 'origin/develop' into breaking 2020-05-14 17:24:40 +02:00
Daniel Kirchner
0303902173 Update smt test expectations. 2020-05-14 14:12:01 +02:00
Harikrishnan Mulackal
92cf61d4f9 fixed compilation tests and upgraded ext. tests branch 2020-05-05 21:11:15 +05:30
chriseth
1fe55370f4 Merge remote-tracking branch 'origin/develop' into HEAD 2020-04-28 13:02:06 +02:00
hrkrshnn
bd0b06e8db Tests, Docs and Changelog 2020-04-28 16:03:52 +05:30
Leonardo Alt
059d0bdebb Revert "Use Spacer option to improve performance of constant arrays"
This reverts commit 92059fa848.
2020-04-24 11:55:58 +02:00
Leonardo Alt
92059fa848 Use Spacer option to improve performance of constant arrays 2020-04-23 10:45:02 +02:00
Leonardo Alt
cfe3686116 Fix internal error when using array slices 2020-04-22 23:20:10 +02:00
Leonardo Alt
bca43586c6 [SMTChecker] Remove redundant CHC constraints 2020-04-15 18:11:39 +02:00
Leonardo Alt
e3ec22124e [SMTChecker] Fix ICE in CHC internal calls 2020-04-07 01:09:03 +02:00
Leonardo Alt
07368c2e1e Add support to internal function calls 2020-03-11 16:29:07 +01:00
Daniel Kirchner
b10f12a395
Merge pull request #8413 from mijovic/depratateValueCalls
Deprecated warning for .value() and .gas() on function and constructr…
2020-03-04 14:43:06 +01:00
Djordje Mijovic
58c6b90705 Deprecated warning for .value() and .gas() on function and constructror calls 2020-03-04 12:51:49 +01:00
Leonardo
32ca1a5e26
Merge pull request #8311 from ethereum/smt_split_2
[SMTChecker] Change CHC encoding from explicit CFG to function forests
2020-03-03 13:16:14 +01:00
Leonardo Alt
3bee348525 Change CHC encoding to functions forest instead of explicit CFG 2020-03-03 12:12:26 +01:00
Leonardo Alt
96a230af50 [SMTChecker] Fix ICEs with tuples 2020-03-03 11:35:58 +01:00
chriseth
f6916a637e Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-09 17:16:58 +01:00
Leonardo Alt
beed0f6a27 Set tests that CVC4 can't handle to Z3 only 2019-12-09 15:32:08 +01:00
Leonardo Alt
77b9416d3e Extract SMTChecker mod test 2019-12-09 15:32:08 +01:00
Leonardo Alt
02343208ad Extract SMTChecker compound assignment division tests 2019-12-09 15:32:08 +01:00
Leonardo Alt
ae6cdc3442 Extract more SMTChecker division tests 2019-12-09 15:32:08 +01:00
Leonardo Alt
b870e4ea31 Extract SMTChecker division tests 2019-12-09 15:32:08 +01:00
Leonardo Alt
d6e8ca4c54 Fix SMTChecker tests in 060 2019-12-03 21:44:10 +01:00
chriseth
f2790cc5e0
Merge pull request #7886 from ethereum/develop
Merge develop into develop_060
2019-12-03 21:41:49 +01:00
chriseth
2d42da3b7d
Merge pull request #7817 from ethereum/bail-on-shadowing-state-vars
Report error on shadowing state variables
2019-12-03 21:22:39 +01:00
Christian Parpart
7bbdfe070f Make shadowing of inherited state variables an error. 2019-12-03 21:20:03 +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
5337f58767 Update to Z3 4.8.7 2019-12-03 20:19:20 +01:00
Leonardo Alt
b1577f5e46 [SMTChecker] Fix ICE in array of structs type 2019-12-03 01:12:30 +01:00
Daniel Kirchner
05baa23e8a Require unimplemented functions to be virtual. 2019-12-02 21:59:00 +01:00
Leonardo
a7d481fb94
Merge pull request #7851 from ethereum/smt_fix_function_type
[SMTChecker] Fix ICE for arrays and mappings of functions.
2019-11-30 13:15:08 +01:00
Leonardo
767ce4417f
Merge pull request #7850 from ethereum/smt_fix_typetype
[SMTChecker] Fix visit to IndexAccess that has type Type
2019-11-29 18:18:26 +01:00
Leonardo Alt
5adc2a40b9 [SMTChecker] Fix ICE for arrays and mappings of functions. 2019-11-29 18:06:44 +01:00
Leonardo Alt
9eda95caf9 [SMTChecker] Fix visit to IndexAccess that has type Type 2019-11-29 17:20:50 +01:00
Leonardo Alt
c09da092d2 [SMTChecker] Fix constructors with local vars 2019-11-29 16:59:15 +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
chriseth
0973ae751a Do not warn about enabled ABIEncoderV2 anymore. 2019-11-26 15:49:42 +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
chriseth
6797879128
Merge pull request #7647 from ethereum/virtual-5424
Implement virtual keyword
2019-11-19 13:21:27 +01:00
Leonardo Alt
e500a262ea Fix SMTChecker tests for 060 2019-11-19 10:58:59 +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
Mathias Baumann
5b8ff78176 Implement virtual keyword 2019-11-14 11:49:39 +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
Leonardo
684ccea6f0
Merge pull request #7697 from ethereum/develop
Merge develop into develop_060
2019-11-12 15:30:34 +01:00
Leonardo Alt
dc2dff839c [SMTChecker] Remove flaky tests until we fix the SMTChecker tests 2019-11-12 12:58:42 +01:00
Daniel Kirchner
8148619d5b Merge branch 'develop' into develop_060 2019-11-12 10:32:41 +01:00
Leonardo Alt
b323134ef0 [SMTChecker] Update test expectations for z3 4.8.6 2019-11-11 18:43:59 +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
4d99bf68f4
Merge pull request #7638 from ethereum/develop
Merge develop into develop_060
2019-11-05 17:33:54 +01:00
chriseth
cac2e843e6
Merge pull request #7618 from ethereum/addMoreAbstractKeywordsInTests
Add some more abstract keywords in test to make sure the correct property is tested.
2019-11-05 13:38:21 +01:00
Leonardo Alt
c5e081dc8c [SMTChecker] Refactor CHC loops and add if blocks 2019-11-05 09:28:59 +01:00
chriseth
46ac16d25c Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-04 19:09:11 +01:00
chriseth
7c258873bd Add some more abstract keywords in test to make sure the correct property is tested. 2019-11-04 17:26:38 +01:00
Daniel Kirchner
3321fc56ea Split fallback function and introduce "fallback()" and "receive()" syntax. 2019-11-04 17:17:58 +01:00