Martin Blicha
|
330fb8f4d0
|
[SMTChecker] Assignment refactoring
|
2021-03-31 13:36:50 +02:00 |
|
Leonardo
|
78d94737a4
|
Merge pull request #11188 from blishko/issue-11181
[SMTChecker] Fix crash when analysing try-catch clauses with function call.
|
2021-03-31 11:24:36 +02:00 |
|
chriseth
|
b04b189959
|
Syntax for custom errors.
|
2021-03-30 21:15:18 +02:00 |
|
Martin Blicha
|
2d231f1859
|
[SMTChecker] Changed SMTEncoder::mergeVariables to work regardless which branch has been visited first
|
2021-03-30 20:35:44 +02:00 |
|
Leonardo Alt
|
ba97d6ac4e
|
Add local vars to cex
|
2021-03-30 17:55:21 +02:00 |
|
Leonardo Alt
|
dbd067d6db
|
Report out of bounds index access
|
2021-03-30 10:28:48 +02:00 |
|
Leonardo Alt
|
d1db41a5c8
|
Fix target warning order nondeterminism
|
2021-03-26 12:13:52 +01:00 |
|
Martin Blicha
|
85358dfe30
|
[SMTChecker] Do not create targets for contracts that cannot be deployed
|
2021-03-25 15:38:37 +01:00 |
|
Martin Blicha
|
5293f05ee3
|
[SMTChecker] Fix ICE on ABI functions with no arguments
|
2021-03-25 13:28:29 +01:00 |
|
Martin Blicha
|
98446782e2
|
[SMTChecker] Fix compound assignment to push
|
2021-03-24 14:54:13 +01:00 |
|
Martin Blicha
|
852e877ae7
|
[SMTChecker] Handle InaccessibleDynamicType
|
2021-03-24 11:53:06 +01:00 |
|
Mathias Baumann
|
e197ebbdd1
|
Replace TypePointer with Type const*
|
2021-03-23 11:47:19 +01:00 |
|
Leonardo
|
25b31111df
|
Merge pull request #11040 from ethereum/smt_fix_virtual_one_more_time
[SMTChecker] Fix bug in virtual functions called by constructor
|
2021-03-17 16:54:36 +01:00 |
|
Martin Blicha
|
432944d0b4
|
[SMTChecker] Small refactoring of defining SMT expressions for structs/tuples
|
2021-03-16 15:34:43 +01:00 |
|
Martin Blicha
|
2f52affcc2
|
[SMTChecker] Correctly resolve current scope contract in VariableUsage.
|
2021-03-15 13:55:14 +01:00 |
|
Martin Blicha
|
6aa6c5f5f9
|
[SMTChecker] Reset reference variables on assignment to a variable of reference type
|
2021-03-12 19:51:31 +01:00 |
|
Leonardo Alt
|
998346e599
|
Fix bug in virtual functions called by constructor.
|
2021-03-12 16:42:28 +01:00 |
|
Martin Blicha
|
0cb75293f9
|
[SMTChecker] fix handling of assignments of array/mapping state variable accessed using contract name
|
2021-03-12 14:01:07 +01:00 |
|
Leonardo Alt
|
6fd76e830d
|
Fix CHC cex order
|
2021-03-11 10:36:40 +01:00 |
|
Martin Blicha
|
4285c2803b
|
[SMTChecker] Fix ICE on array.pop nested inside 1-tuple
|
2021-03-09 20:00:51 +01:00 |
|
Martin Blicha
|
5af01f6896
|
[SMTChecker] Use same sort name for array slice as for the underlying array.
|
2021-03-09 11:06:22 +01:00 |
|
Martin Blicha
|
385a664f3c
|
[SMTChecker] Fix public getter for array of structs.
|
2021-03-08 17:34:20 +01:00 |
|
Martin Blicha
|
0340510c53
|
[SMTChecker] correct handling of FixedBytes constants initialized with string literal
|
2021-03-04 15:14:47 +01:00 |
|
Martin Blicha
|
41fc59f00f
|
[SMTChecker] Ensure that push to a string casted to bytes is registered in the original string
|
2021-03-03 17:11:42 +01:00 |
|
Martin Blicha
|
41a01de664
|
[SMTChecker] fix crash on push to string casted to bytes
|
2021-03-03 15:25:32 +01:00 |
|
Alexander Arlt
|
ae6996efc1
|
Fix issue with pop on storage array.
|
2021-02-23 14:26:55 +01:00 |
|
Leonardo
|
7405dc5b7f
|
Merge pull request #10836 from ethereum/smt_fix_cex_inheritance
Fix inheritance bug in CHC cex
|
2021-02-03 18:49:25 +01:00 |
|
Martin Blicha
|
d99256aae7
|
[SMTChecker] refactoring of resetting storage variables
|
2021-02-03 15:53:58 +01:00 |
|
Martin Blicha
|
f1013427a7
|
[SMTChecker] refactoring the accessing the encoding state
|
2021-02-03 15:53:58 +01:00 |
|
Leonardo Alt
|
665ce27c18
|
Fix inheritance bug in CHC cex
|
2021-02-02 18:06:32 +01:00 |
|
Martin Blicha
|
a49950cdf3
|
[SMTChecker] Added transaction constraints also for contract deployment
|
2021-02-01 16:46:34 +01:00 |
|
Leonardo Alt
|
545305a31f
|
[SMTChecker] Fix super and virtual
|
2021-01-28 18:51:29 +01:00 |
|
Martin Blicha
|
deb90d84a6
|
[SMTChecker] added missing type constraints for Address
|
2021-01-27 20:39:24 +01:00 |
|
Martin Blicha
|
484e67815a
|
[SMTChecker] Basic support for inline assembly using over-approximating analysis
|
2021-01-26 16:20:50 +01:00 |
|
Leonardo Alt
|
a612daa783
|
Add msgvalue to cex
|
2021-01-21 19:05:44 +01:00 |
|
Leonardo Alt
|
3b23cadbdc
|
Add CLI and JSON option to select SMTChecker targets
|
2021-01-20 17:35:37 +01:00 |
|
Martin Blicha
|
35d228d9b6
|
[SMTChecker] Gather local variables also from nested try/catch clauses
|
2021-01-18 18:30:18 +01:00 |
|
Leonardo Alt
|
c7ca87c012
|
Fix static virtual resolution
|
2021-01-18 16:23:38 +01:00 |
|
Martin Blicha
|
18214d1ccc
|
[SMTChecker] Reset checked/unchecked flag to the default value when inlining function in BMC
|
2021-01-15 15:36:26 +01:00 |
|
Leonardo Alt
|
007d39871b
|
[SMTChecker] Synthesize untrusted functions called externally
|
2021-01-15 11:56:26 +01:00 |
|
Martin Blicha
|
504e4c22b2
|
[SMTChecker] Fix in abi handling - tuple expression of size 1 has the type of the member and not TupleType
|
2021-01-14 14:53:56 +01:00 |
|
Martin Blicha
|
b4d2a71eec
|
[SMTChecker] Fix in abi handling - fixed missing type conversion
|
2021-01-14 14:53:44 +01:00 |
|
Martin Blicha
|
32a923c7ef
|
[SMTChecker] Fix in abi handling - abstracting expressions of type Function inside ABI functions when translating to SMT
|
2021-01-14 14:53:22 +01:00 |
|
Martin Blicha
|
5e13744423
|
[SMTChecker] Fixed pushing string literal to bytes array
|
2021-01-13 16:30:50 +01:00 |
|
Martin Blicha
|
7c6340fe4f
|
[SMTChecker] Refactoring expression to tuple assignment
|
2021-01-12 17:15:14 +01:00 |
|
Leonardo Alt
|
b3c3836388
|
Output internal calls
|
2021-01-12 14:57:04 +01:00 |
|
Leonardo Alt
|
f1ae24abc7
|
Remove extra line breaks
|
2021-01-12 14:00:07 +01:00 |
|
Martin Blicha
|
ff76c989ac
|
addressing review comments
|
2021-01-11 14:19:06 +01:00 |
|
Martin Blicha
|
dd43ce1578
|
fixing try/catch encoding for BMC, refactoring
|
2021-01-11 13:36:03 +01:00 |
|
Martin Blicha
|
55589a9eec
|
[SMTChecker] Basic support for try-catch in BMC
|
2021-01-11 13:36:02 +01:00 |
|
Martin Blicha
|
0f3924186e
|
[SMTChecker] Support try-catch in CHC engine
|
2021-01-11 13:36:02 +01:00 |
|
Leonardo Alt
|
11f56861c3
|
Refactor cex loop
|
2021-01-07 23:13:02 +01:00 |
|
Leonardo Alt
|
b02722ebda
|
Add contract name to called function in cex
|
2021-01-04 10:03:16 +01:00 |
|
Leonardo Alt
|
78d55e6b4a
|
[SMTChecker] Support check/unchecked
|
2020-12-30 12:14:30 +01:00 |
|
Martin Blicha
|
be0a0f4d90
|
[SMTChecker] Added constraints for block properties
|
2020-12-29 22:17:44 +01:00 |
|
Leonardo Alt
|
9482e7de23
|
[SMTChecker] Fix calls to virtual/overriden functions
|
2020-12-29 11:25:20 +01:00 |
|
Martin Blicha
|
bb0003f5ea
|
removed extra parameter from PredicateInstance::nondetInterface
|
2020-12-28 19:48:48 +01:00 |
|
Martin Blicha
|
f76ff35225
|
[SMTChecker] Detect errors caused by reentrancy
|
2020-12-28 14:32:53 +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 |
|
Leonardo Alt
|
034d1ab90f
|
[SMTChecker] Replace constants by their value in-place
|
2020-12-18 14:22: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 |
|
chriseth
|
3a23df6717
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-16 16:56:45 +01:00 |
|
Leonardo Alt
|
80e85b772b
|
[SMTChecker] Apply const eval to arithmetic binary expressions
|
2020-12-16 14:58:00 +01:00 |
|
chriseth
|
ffaf40950a
|
Merge pull request #10605 from ethereum/develop
Merge develop into breaking.
|
2020-12-15 14:01:01 +01:00 |
|
Martin Blicha
|
e2c27b8ea4
|
[SMTChecker] Fix internal error on constructor of a recursive struct
|
2020-12-15 09:53:52 +01:00 |
|
Martin Blicha
|
71f835b71b
|
[SMTChecker] Fixed internal error when increment/decrement is applied on a result of push().
|
2020-12-14 22:52:44 +01:00 |
|
Martin Blicha
|
103fa3b7eb
|
[SMTChecker] Fix internal error on abstract modifier
|
2020-12-14 18:23:25 +01:00 |
|
Martin Blicha
|
27402781c4
|
[SMTChecker] Fixed crash on push to bytes on lhs of an assignment
|
2020-12-14 17:40:45 +01:00 |
|
Martin Blicha
|
0be325dc0d
|
[SMTChecker] Fix handling of function calls where the function identifier is nested in a tuple.
|
2020-12-14 16:19:24 +01:00 |
|
chriseth
|
561280a5cc
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-14 11:33:40 +01:00 |
|
Martin Blicha
|
8927015e5a
|
[SMTChecker] Adding unary increment and decrement as under/overflow verification targets for the CHC engine
|
2020-12-11 17:41:50 +01:00 |
|
Alex Beregszaszi
|
bd641a5206
|
Enable more C++ compiler warnings
|
2020-12-10 21:03:58 +00:00 |
|
Daniel Kirchner
|
c400c61fc3
|
Fix incorrect behaviour on clang 6.
|
2020-12-10 17:20:30 +01:00 |
|
chriseth
|
d0551b67d7
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-10 17:07:56 +01:00 |
|
Daniel Kirchner
|
7308abc084
|
Allow loading Z3 dynamically at runtime.
|
2020-12-10 16:47:47 +01:00 |
|
chriseth
|
482bda6887
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-10 12:15:52 +01:00 |
|
Leonardo Alt
|
3c142e0e94
|
Move CHC counterexamples to primary location
|
2020-12-09 19:55:18 +01:00 |
|
Leonardo Alt
|
a961a76263
|
Do not run SMTChecker when file level functions/constants are present.
|
2020-12-09 12:18:55 +01:00 |
|
chriseth
|
806453aca9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-08 21:00:09 +01:00 |
|
chriseth
|
b045195c1e
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-08 17:42:31 +01:00 |
|
Martin Blicha
|
eb356735f6
|
[SMTChecker] Adding support for reporting values of structs in CEX in CHC engine.
|
2020-12-08 16:40:28 +01:00 |
|
Martin Blicha
|
0ebab439be
|
removing assert that is not always true
|
2020-12-08 12:27:59 +01:00 |
|
Martin Blicha
|
ff0c794674
|
[SMTChecker] Fixing conversion from StringLiteral to FixedBytes
|
2020-12-07 19:30:51 +01:00 |
|
Leonardo Alt
|
b7ac207391
|
[SMTChecker] Support return in CHC
|
2020-12-07 18:17:33 +01:00 |
|
chriseth
|
bff7254d9e
|
Fix merge conflict.
|
2020-12-07 13:30:09 +01:00 |
|
chriseth
|
329b8f2a60
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-07 13:04:14 +01:00 |
|
Leonardo Alt
|
7490ffbe13
|
Use nonlinear clauses instead of inlining for base constructors
|
2020-12-04 13:25:56 +01:00 |
|
chriseth
|
d56a7bb89e
|
Merge pull request #10489 from ethereum/develop
Merge develop into breaking.
|
2020-12-03 18:11:12 +01:00 |
|
Leonardo
|
088b694f0b
|
Merge pull request #10207 from ethereum/smt_tests_asserts
[SMTChecker] Add uncovered test and replace uncovered tests by asserts
|
2020-12-03 08:59:48 +01:00 |
|
Martin Blicha
|
2ee633f404
|
[SMTChecker] Added support for public getters through this.
|
2020-12-02 16:06:48 +01:00 |
|
chriseth
|
6de7eaba95
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-01 10:50:13 +01:00 |
|
Leonardo Alt
|
fa561dbd0e
|
Add uncovered test and replace uncovered tests by asserts
|
2020-11-30 18:46:47 +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 |
|
chriseth
|
18de8a56c9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-26 11:48:53 +01:00 |
|
Djordje Mijovic
|
26c43cfc66
|
[SMTChecker] Fix SMT logic error when doing compound assignment with string literlas.
|
2020-11-24 19:14:15 +01:00 |
|
chriseth
|
253889cbf1
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-24 16:22:03 +01:00 |
|
Leonardo Alt
|
68cfa0a901
|
Fix spelling in SMTChecker comment
|
2020-11-23 19:40:29 +01:00 |
|