Leonardo Alt
a8209e9899
[SMTChecker] Shortcut RationalNumber expressions
2019-03-11 12:53:49 +01:00
Leonardo Alt
02d0e609b9
[SMTChecker] Support enums
2019-03-07 15:15:12 +01:00
Leonardo Alt
29b2ab6f66
Handle aliasing
2019-03-06 11:29:54 +01:00
Leonardo Alt
467c34999f
Do not throw on string literals
2019-03-06 11:29:26 +01:00
Leonardo Alt
e74f58130e
Add SMT type support to Solidity arrays
2019-03-06 11:29:26 +01:00
Mathias Baumann
f782125463
Fix SMT Checker crash due to missing type information
2019-02-28 11:55:45 +01:00
Leonardo Alt
bbd2c91e19
[SMTChecker] Replace dynamic_cast by category check
2019-02-26 00:47:59 +01:00
Leonardo Alt
34470f3549
[SMTChecker] Only check for overflow/underflow in the end of the function
2019-02-18 23:55:58 +01:00
chriseth
cb0ad2266c
Merge pull request #6008 from ethereum/smt_fix_abstract_assignment
...
[SMTChecker] Assert type is not function when assigning
2019-02-18 14:54:20 +01:00
Leonardo Alt
22cdfb18d4
[SMTChecker] Assert type is not function when assigning
2019-02-14 13:32:56 +01:00
Daniel Kirchner
8ca6715e18
More style checks.
2019-02-14 11:41:20 +01:00
Leonardo Alt
637546850f
[SMTChecker] Add mod operator
2019-02-07 14:24:40 +01:00
Leonardo Alt
9a33367bc6
[SMTChecker] Warn when no solver was found and there are unhandled queries.
2019-01-29 14:29:07 +01:00
Leonardo Alt
7f8ceaadab
[SMTChecker] Clear state knowledge after external function calls
2019-01-21 12:58:40 +01:00
Leonardo Alt
a10db051de
[SMTChecker] Support basic typecast
2019-01-16 13:00:54 +01:00
Leonardo Alt
cce377833a
Sort includes in libsolidity/formal
2018-12-17 18:26:10 +01:00
Leonardo Alt
9199718ec0
Clear all mapping knowledge after array variable assignment
2018-12-14 12:21:53 +01:00
Leonardo Alt
6a2809a582
[SMTChecker] Support to mapping
2018-12-14 12:21:53 +01:00
Leonardo Alt
08737e43dc
[SMTChecker] Use SymbolicFunctionVariable for uninterpreted functions
2018-12-11 11:28:25 +01:00
Leonardo Alt
de46bb2c42
[SMTChecker] Introduce SymbolicFunctionVariable
2018-12-10 11:34:29 +01:00
Kevin Kelley
fb6fd1b3c2
add a 'readable' format for large hex values
2018-12-05 22:15:02 +01:00
Leonardo Alt
b9f424e373
[SMTChecker] Simplify symbolic variables
2018-12-05 09:56:52 +01:00
Leonardo Alt
8069bb61da
[SMTChecker] Loops are unrolled once
2018-12-04 12:35:19 +01:00
Leonardo Alt
6d41ffb4a5
[SMTChecker] Remove unary plus operator
2018-12-03 10:35:38 +01:00
Leonardo Alt
2f6de12e8c
[SMTChecker] Make smt::Sort::operator== virtual
2018-11-30 10:41:15 +01:00
chriseth
9e9250c961
Fix move bug.
2018-11-29 15:32:38 +01:00
Leonardo Alt
aaaa92012c
[SMTChecker] Unknown answer for constant condition check should not do anything
2018-11-26 12:54:02 +01:00
Leonardo Alt
6251a289dd
Testing with smtlib2 interface always there
2018-11-23 09:43:49 +01:00
Leonardo Alt
dee0c4ded8
Error message stays in the SMTChecker
2018-11-23 09:43:49 +01:00
Leonardo Alt
f3c2309c73
Display better error message in SMTLib2
2018-11-23 09:43:49 +01:00
chriseth
54bed454f6
Rename function and warn if responses are supplied for Z3.
2018-11-23 09:43:49 +01:00
chriseth
bb10be789c
Inject SMTLIB2 queries and responses via standard-json-io.
2018-11-23 09:43:49 +01:00
chriseth
d686807153
Style
2018-11-22 21:13:02 +01:00
Leonardo Alt
ec84a7dc9b
[SMTChecker] Refactor setZeroValue and setUnknownValue
2018-11-22 16:42:51 +01:00
Leonardo Alt
20accf1a90
[SMTChecker] Add ArraySort and array operations
2018-11-22 14:04:20 +01:00
Leonardo Alt
13a142b039
[SMTChecker] Add FunctionSort and refactors the solver interface to create variables
2018-11-22 10:04:04 +01:00
Christian Parpart
d67322a186
Introduce namespace langutil
in liblangutil directory.
...
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart
87821c53c3
Isolating files shared between Yul- and Solidity language frontend.
2018-11-21 18:58:12 +00:00
Alex Beregszaszi
2c6e1888eb
Merge pull request #5466 from ethereum/smt_refactor_sort_patch1
...
[SMTChecker] Refactor smt::Sort and its usage
2018-11-21 15:17:58 +00:00
Leonardo Alt
01ce43e51b
[SMTChecker] Refactor smt::Sort and its usage
2018-11-21 15:46:47 +01:00
mordax
ea8b7d803e
Removing redundant virtual from override function declaration
...
Remove trailing whitespace
Remove changelog change
2018-11-21 14:37:32 +00:00
Leonardo Alt
06c3f0953a
[SMTChecker] Support bound function calls
2018-11-19 15:29:00 +01:00
Leonardo Alt
70bb0eaf95
[SMTChecker] Implement uninterpreted functions and use it for blockhash()
2018-11-15 09:12:42 +01:00
Leonardo Alt
9a4fd946c3
Add Scanner function that prints source based on SourceLocation
2018-11-13 13:49:29 +01:00
Leonardo Alt
d8cbf321da
Grouping of symbolic variables in the same file and support to FixedBytes
2018-10-25 09:30:48 +02:00
chriseth
01566c2e1a
Merge pull request #5272 from ethereum/smt_special_vars
...
[SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash
2018-10-24 14:34:17 +02:00
Leonardo Alt
e2cf5f6ed9
Add gasleft constraint and use full member access name
2018-10-22 18:19:11 +02:00
Christian Parpart
f112377dd4
Refactor solidity::Token
into an enum class
with TokenTraits
helper namespace
2018-10-22 17:00:51 +02:00
Leonardo Alt
b46b827c30
[SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash
2018-10-19 15:52:16 +02:00
Leonardo Alt
070471d8d4
Fix possibly effectless map emplace
2018-10-17 19:00:38 +02:00