Commit Graph
449 Commits
Author SHA1 Message Date
Đ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 adccc0608d Merge pull request #9736 from ethereum/yul_smt
Reasoning based optimizer using integers only
2020-09-15 18:45:55 +02:00
Leonardo Alt d87e15e2cd Refactor CHC sorts 2020-09-15 16:45:50 +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 00f6b303b1 [SMTChecker] Change warning message 2020-09-09 16:14:21 +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 a3b6019131 Move post input and post output filtering from CHC to Predicate 2020-09-01 16:10:12 +02:00
Leonardo Alt 2e2e96cc93 Move state model filtering from CHC to Predicate 2020-09-01 16:10:12 +02:00
Leonardo Alt e3a8c94ace Move formatFunctionCallCounterexample from CHC to Predicate 2020-09-01 16:10:11 +02:00
Leonardo Alt 5bbb20d3cb Move stateVariablesIncludingInheritedAndPrivate from CHC to SMTEncoder 2020-09-01 16:09:57 +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
Đ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 ec31d971e6 [SMTChecker] Fix tuple name for arrays 2020-08-07 12:28:10 +02:00
Leonardo Alt 8df8c6e14f [SMTChecker] Fix ICE in BMC function inlining 2020-08-05 11:47:25 +02:00
Leonardo Alt ad1798b000 [SMTChecker] Fix ICE on fixed bytes access 2020-07-28 17:59:42 +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 d5f00842d9 cex2dot debug 2020-07-23 18:49:03 +02:00
Leonardo Alt 5bb4e73693 Review 1 2020-07-23 18:49:03 +02:00
Leonardo Alt 51721c3080 Double SAT run for cex 2020-07-23 18:49:03 +02:00
Leonardo Alt 694ec92688 Generate counterexample message based on cex graph 2020-07-23 18:49:03 +02:00
Leonardo Alt 744905525f Convert z3 cex graph into STL 2020-07-23 18:49:03 +02:00
Leonardo Alt a7a069c74a Refactor constructor exit 2020-07-23 18:49:03 +02:00
Leonardo Alt 9d2a0947e9 Fix 1-tuple chain 2020-07-23 13:46:41 +02:00