Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [SMTChecker] Add ArraySort and array operations | Leonardo Alt | 2018-11-22 | 5 | -2/+76 |
| | |||||
* | [SMTChecker] Add FunctionSort and refactors the solver interface to create ↵ | Leonardo Alt | 2018-11-22 | 14 | -128/+134 |
| | | | | variables | ||||
* | Introduce namespace `langutil` in liblangutil directory. | Christian Parpart | 2018-11-22 | 2 | -9/+15 |
| | | | | | | | 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 | ||||
* | Isolating files shared between Yul- and Solidity language frontend. | Christian Parpart | 2018-11-22 | 7 | -7/+7 |
| | |||||
* | Merge pull request #5466 from ethereum/smt_refactor_sort_patch1 | Alex Beregszaszi | 2018-11-21 | 13 | -100/+102 |
|\ | | | | | [SMTChecker] Refactor smt::Sort and its usage | ||||
| * | [SMTChecker] Refactor smt::Sort and its usage | Leonardo Alt | 2018-11-21 | 13 | -100/+102 |
| | | |||||
* | | Removing redundant virtual from override function declaration | mordax | 2018-11-21 | 1 | -18/+18 |
|/ | | | | | | Remove trailing whitespace Remove changelog change | ||||
* | [SMTChecker] Support bound function calls | Leonardo Alt | 2018-11-19 | 1 | -0/+12 |
| | |||||
* | [SMTChecker] Implement uninterpreted functions and use it for blockhash() | Leonardo Alt | 2018-11-15 | 15 | -25/+102 |
| | |||||
* | Add Scanner function that prints source based on SourceLocation | Leonardo Alt | 2018-11-13 | 2 | -2/+7 |
| | |||||
* | Grouping of symbolic variables in the same file and support to FixedBytes | Leonardo Alt | 2018-10-25 | 12 | -280/+144 |
| | |||||
* | Merge pull request #5272 from ethereum/smt_special_vars | chriseth | 2018-10-24 | 13 | -61/+144 |
|\ | | | | | [SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash | ||||
| * | Add gasleft constraint and use full member access name | Leonardo Alt | 2018-10-23 | 5 | -16/+31 |
| | | |||||
| * | [SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash | Leonardo Alt | 2018-10-19 | 11 | -51/+119 |
| | | |||||
* | | Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper ↵ | Christian Parpart | 2018-10-22 | 1 | -6/+6 |
|/ | | | | namespace | ||||
* | Fix possibly effectless map emplace | Leonardo Alt | 2018-10-18 | 1 | -7/+10 |
| | |||||
* | [SMTChecker] Refactor expressions such that they also use SymbolicVariable | Leonardo Alt | 2018-10-18 | 4 | -77/+57 |
| | |||||
* | Merge pull request #5235 from ethereum/smt_refactor_types | Leonardo | 2018-10-18 | 14 | -218/+378 |
|\ | | | | | [SMTChecker] Refactoring types | ||||
| * | Refactor SymbolicAddressVariable and SymbolicVariable allocation | Leonardo Alt | 2018-10-17 | 8 | -51/+159 |
| | | |||||
| * | Consistent renaming of 'counters' and 'sequence' to 'index' | Leonardo Alt | 2018-10-17 | 10 | -71/+71 |
| | | |||||
| * | [SMTChecker] Refactoring types | Leonardo Alt | 2018-10-17 | 12 | -150/+202 |
| | | |||||
* | | Retained move/copy semantics; removed const qualifier from Expression's ↵ | Bhargava Shastry | 2018-10-17 | 1 | -2/+4 |
| | | | | | | | | members name (of type std::string) and arguments (of type std::vector<Expression>) | ||||
* | | Fix compiler warning: clang-8 warns of explicitly-defined op implicitly ↵ | Bhargava Shastry | 2018-10-17 | 1 | -2/+0 |
|/ | | | | deleted for Expression object's copy and move constructors | ||||
* | Merge pull request #5209 from ethereum/smt_ssa_refactor | chriseth | 2018-10-15 | 9 | -37/+48 |
|\ | | | | | [SMTChecker] Refactor SSAVariable such that it only uses Type and not Declaration | ||||
| * | Refactor SSAVariable such that it only uses Type and not Declaration | Leonardo Alt | 2018-10-15 | 9 | -37/+48 |
| | | |||||
* | | [SMTChecker] Inline calls to internal functions | Leonardo Alt | 2018-10-15 | 2 | -68/+243 |
|/ | |||||
* | Use empty() instead of size() == 0 | Alex Beregszaszi | 2018-10-09 | 1 | -1/+1 |
| | |||||
* | Removing extra default cases to force compile time error, instead of runtime. | Anurag Dashputre | 2018-09-30 | 2 | -4/+0 |
| | |||||
* | Split IntegerType into IntegerType and AddressType. | Daniel Kirchner | 2018-09-05 | 3 | -6/+15 |
| | |||||
* | Add workarounds for building against CVC4 on ArchLinux. | Daniel Kirchner | 2018-08-09 | 1 | -0/+11 |
| | |||||
* | SMT: do not crash on referencing MagicVariableDeclaration | Alex Beregszaszi | 2018-08-08 | 1 | -2/+8 |
| | |||||
* | Merge pull request #4603 from ethereum/smtlib2 | Alex Beregszaszi | 2018-08-02 | 4 | -18/+44 |
|\ | | | | | [SMTLib2] Fix repeated declarations | ||||
| * | Remove repeated declarations in Z3 and CVC4 as well | Leonardo Alt | 2018-08-01 | 2 | -7/+15 |
| | | |||||
| * | [SMTLib2] Fix repeated declarations | Leonardo Alt | 2018-07-28 | 2 | -11/+29 |
| | | |||||
* | | SMT model variables are sorted and printed as secondary source location | Leonardo Alt | 2018-08-02 | 1 | -3/+11 |
| | | |||||
* | | Replace "value" by "<result>" in the SMT model | Leonardo Alt | 2018-08-02 | 1 | -3/+3 |
| | | |||||
* | | Import dev::solidity namespace in SMTPortfolio | Alex Beregszaszi | 2018-07-28 | 1 | -0/+1 |
|/ | |||||
* | Fix unterminated parentheses typo in SMTLib2 | Alex Beregszaszi | 2018-07-28 | 1 | -1/+1 |
| | | | | Found by @leonardoalt | ||||
* | [SMTChecker] Add CheckResult::CONFLICTING | Leonardo Alt | 2018-07-27 | 3 | -4/+10 |
| | |||||
* | [SMTChecker] SMTPortfolio: use all SMT solvers available | Leonardo Alt | 2018-07-27 | 10 | -45/+246 |
| | |||||
* | Setting timeout to Z3 and CVC4 | Leonardo Alt | 2018-07-27 | 3 | -1/+8 |
| | |||||
* | Only ask for a model if it's SAT | Leonardo Alt | 2018-07-27 | 3 | -3/+3 |
| | |||||
* | Merge pull request #4565 from ethereum/smt-stringutils-crash | Alex Beregszaszi | 2018-07-25 | 1 | -1/+9 |
|\ | | | | | Add assert for both branches in mergeVariables in SMTChecker | ||||
| * | Add better warning on binary operation on non-integer types in SMT Checker | Alex Beregszaszi | 2018-07-25 | 1 | -1/+8 |
| | | |||||
| * | Add assert for both branches in mergeVariables in SMTChecker | Alex Beregszaszi | 2018-07-25 | 1 | -0/+1 |
| | | |||||
* | | More consistent catch statements | Alex Beregszaszi | 2018-07-25 | 1 | -1/+1 |
|/ | | | | Also take const& in all cases. | ||||
* | Code, Changelog, ReleaseChecklist: Fix typos. | Cryptomental | 2018-07-11 | 1 | -1/+1 |
| | | | | Refs: #4442 | ||||
* | Refactoring Declaration -> VariableDeclaration (more precise) | Leonardo Alt | 2018-06-12 | 4 | -43/+42 |
| | |||||
* | Review comments | Leonardo Alt | 2018-06-12 | 2 | -10/+8 |
| | |||||
* | Refactoring how storage and local variables are managed. | Leonardo Alt | 2018-06-12 | 2 | -29/+29 |
| | |||||
* | Bool variables should not allow arithmetic comparison | Leonardo Alt | 2018-05-17 | 1 | -5/+1 |
| | |||||
* | [SMTChecker] Declaring all state vars before any function is visited | Leonardo Alt | 2018-05-15 | 2 | -2/+15 |
| | |||||
* | [SMTChecker] Support to integer and Bool storage vars | Leonardo Alt | 2018-05-15 | 3 | -5/+31 |
| | |||||
* | Revert "BREAKING: Bool variables should not allow arithmetic comparison" | chriseth | 2018-05-02 | 1 | -1/+5 |
| | |||||
* | Merge pull request #4003 from ethereum/bool_vars_comparison | chriseth | 2018-05-02 | 1 | -5/+1 |
|\ | | | | | BREAKING: Bool variables should not allow arithmetic comparison | ||||
| * | Bool variables should not allow arithmetic comparison | Leonardo Alt | 2018-04-27 | 1 | -5/+1 |
| | | |||||
* | | Add virtual destructors on base classes. | Alexander Arlt | 2018-05-02 | 2 | -0/+2 |
|/ | |||||
* | [SMTChecker] Remove 'information is erase' message for if-else | Leonardo Alt | 2018-04-19 | 2 | -10/+10 |
| | |||||
* | [SMTChecker] Using solUnimplementedAssert instead of solAssert when applicable | Leonardo Alt | 2018-04-18 | 1 | -2/+2 |
| | |||||
* | [SMTChecker] Integration with CVC4 | Leonardo Alt | 2018-04-17 | 6 | -19/+287 |
| | |||||
* | [SMTChecker] Removing usage of UFs to access SSA indices | Leonardo Alt | 2018-04-05 | 6 | -10/+20 |
| | |||||
* | [SMTChecker_Bool] Fix PR review comments: method renaming and solAssert | Leonardo Alt | 2018-03-13 | 3 | -16/+17 |
| | |||||
* | [SMTChecker_Bool] Fix PR comments; Add support to gt, ge, lt, le. and tests. | Leonardo Alt | 2018-03-13 | 10 | -41/+85 |
| | |||||
* | [SMTChecker] Support to Bool variables | Leonardo Alt | 2018-03-13 | 6 | -8/+107 |
| | |||||
* | This z3 option is necessary for good solving performance | Leonardo Alt | 2018-03-04 | 1 | -0/+1 |
| | |||||
* | Fix PR comments | Leonardo Alt | 2018-03-01 | 3 | -12/+0 |
| | |||||
* | Fix PR comments | Leonardo Alt | 2018-03-01 | 6 | -23/+37 |
| | |||||
* | Supported types listed in SSAVariable | Leonardo Alt | 2018-03-01 | 4 | -3/+20 |
| | |||||
* | Integer min and max values placed under SymbolicIntVar instead of SMTChecker | Leonardo Alt | 2018-03-01 | 4 | -19/+9 |
| | |||||
* | [SMTChecker] A little refactoring on SSA vars | Leonardo Alt | 2018-03-01 | 8 | -54/+395 |
| | |||||
* | [SMTChecker] Variables are merged after branches (ite variables) | Leonardo Alt | 2018-01-05 | 2 | -13/+37 |
| | |||||
* | [SMTChecker] Fix typo in the code (satisifable->satisfiable) | Leonardo Alt | 2017-12-19 | 2 | -8/+8 |
| | |||||
* | [SMTChecker] Helper functions to add an expression to the solver conjoined ↵ | Leonardo Alt | 2017-12-14 | 2 | -5/+19 |
| | | | | with or implied by the current path conditions | ||||
* | [SMTChecker] Keep track of current path conditions | Leonardo Alt | 2017-12-14 | 3 | -8/+41 |
| | |||||
* | Fix expression creation problems. | chriseth | 2017-11-30 | 1 | -19/+30 |
| | |||||
* | Fix signed division. | chriseth | 2017-11-30 | 2 | -2/+20 |
| | |||||
* | Unary operators and division. | chriseth | 2017-11-30 | 4 | -60/+154 |
| | |||||
* | Explain IntIntFun and merge assertion. | chriseth | 2017-11-24 | 1 | -3/+7 |
| | |||||
* | Introduce sorts for smt expressions. | chriseth | 2017-11-22 | 3 | -48/+37 |
| | |||||
* | Fix problem with non-value-typed variables. | chriseth | 2017-11-22 | 2 | -14/+16 |
| | |||||
* | For loop. | chriseth | 2017-11-22 | 2 | -0/+43 |
| | |||||
* | Fix boolean constants. | chriseth | 2017-11-22 | 1 | -2/+7 |
| | |||||
* | Check for conditions being constant. | chriseth | 2017-11-22 | 4 | -27/+102 |
| | |||||
* | Tests. | chriseth | 2017-11-22 | 1 | -5/+0 |
| | |||||
* | Track usage of variables. | chriseth | 2017-11-22 | 4 | -70/+215 |
| | |||||
* | Handle branches. | chriseth | 2017-11-22 | 2 | -54/+88 |
| | |||||
* | Merge pull request #3030 from ethereum/smt-variable-types | chriseth | 2017-10-20 | 2 | -1/+16 |
|\ | | | | | SMT enforce variable types | ||||
| * | SMT enforce variable types | Alex Beregszaszi | 2017-10-05 | 2 | -1/+16 |
| | | |||||
* | | Remove unused variable in Z3 | Alex Beregszaszi | 2017-10-19 | 1 | -1/+1 |
| | | |||||
* | | Catch exception in Z3. | chriseth | 2017-10-18 | 1 | -18/+27 |
| | | | | | | | | | | Note: This exception might not be the result of resource limitation, it might also hint towards usage error. | ||||
* | | Remove duplicate >= in Z3 | Alex Beregszaszi | 2017-10-18 | 1 | -2/+1 |
| | | |||||
* | | Rename variables in SMT checker. | chriseth | 2017-10-18 | 2 | -11/+11 |
| | | |||||
* | | SMT should not crash on typecast/structs | Alex Beregszaszi | 2017-10-05 | 1 | -0/+10 |
|/ | |||||
* | Merge pull request #3022 from ethereum/assert | Alex Beregszaszi | 2017-10-04 | 1 | -1/+1 |
|\ | | | | | Use solAssert and not assert | ||||
| * | Use solAssert and not assert | Alex Beregszaszi | 2017-10-04 | 1 | -1/+1 |
| | | |||||
* | | Remove leftover couts. | chriseth | 2017-09-29 | 1 | -7/+0 |
|/ | |||||
* | Mark constructors explicit | Alex Beregszaszi | 2017-09-20 | 1 | -1/+1 |
| | |||||
* | Remove parameter names for defaulted functions. | chriseth | 2017-08-31 | 1 | -4/+4 |
| | |||||
* | Review changes. | chriseth | 2017-08-23 | 5 | -24/+24 |
| | |||||
* | Use experimental feature pragma for SMT checker. | chriseth | 2017-08-23 | 1 | -6/+1 |
| | |||||
* | Partial support for if statements. | chriseth | 2017-08-23 | 4 | -16/+128 |
| | |||||
* | Format numbers more nicely. | chriseth | 2017-08-23 | 1 | -11/+25 |
| | |||||
* | Refactor Z3 read callback. | chriseth | 2017-08-23 | 6 | -133/+46 |
| | |||||
* | Rename read file callback. | chriseth | 2017-08-23 | 3 | -4/+6 |
| | |||||
* | Introduce native Z3 support. | chriseth | 2017-08-23 | 2 | -0/+244 |
| | |||||
* | Insert abstraction layer. | chriseth | 2017-08-23 | 5 | -148/+225 |
| | |||||
* | Prepare build system for Z3. | chriseth | 2017-08-23 | 1 | -0/+3 |
| | |||||
* | Cleanup. | chriseth | 2017-08-23 | 8 | -715/+685 |
| | |||||
* | Use file to communicate with z3. | chriseth | 2017-08-23 | 3 | -14/+274 |
| | |||||
* | Rewrite using SMTLIB2 interface. | chriseth | 2017-08-23 | 4 | -63/+233 |
| | |||||
* | z3 conditions | chriseth | 2017-08-23 | 4 | -0/+636 |
| | |||||
* | Remove Why3 generator | Alex Beregszaszi | 2017-06-25 | 2 | -1045/+0 |
| | |||||
* | Refactor error reporting | Rhett Aultman | 2017-05-30 | 2 | -26/+20 |
| | | | | | | | | | This commit introduces ErrorReporter, a utility class which consolidates all of the error logging functionality into a common set of functions. It also replaces all direct interactions with an ErrorList with calls to an ErrorReporter. This commit resolves issue #2209 | ||||
* | refactoring functionCallAnnotation | djudjuu | 2017-05-19 | 1 | -1/+1 |
| | |||||
* | Change references to FunctionType::Location | Alex Beregszaszi | 2017-03-16 | 1 | -7/+7 |
| | |||||
* | Fix licensing headers | VoR0220 | 2016-11-23 | 2 | -8/+8 |
| | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | Add support for do/while loops | Rhett Aultman | 2016-11-10 | 1 | -0/+10 |
| | | | | | | | This commit adds support for a standard do <statement> while <expr>; form of statement. While loops were already being supported; supporting a do/while loop mostly involves reusing code from while loops but putting the conditional checking last. | ||||
* | Chack for non-version pragmas | Yoichi Hirai | 2016-10-11 | 1 | -1/+10 |
| | |||||
* | formal: ignore pragmas during Why3 code generation | Yoichi Hirai | 2016-10-11 | 2 | -0/+6 |
| | | | | Fixes #1177 | ||||
* | Prepare for leaky exceptions | Yoichi Hirai | 2016-09-10 | 1 | -0/+4 |
| | | | | | Now toFormalType() reports errors by exceptions, they will be sometimes leaked to the wider context. This commits adds a catch. | ||||
* | toFormalType reports errors by an exception | Yoichi Hirai | 2016-09-10 | 2 | -21/+71 |
| | | | | This allows error reporting without passing `ASTNode` to `toFormalType()` | ||||
* | Translate mapping types into Why3 arrays when keys are integers | Yoichi Hirai | 2016-09-10 | 1 | -0/+14 |
| | | | | | Even when the keys are signed the translation is supposed to work because Why3 arrays allow negative indices. | ||||
* | Add Address module in the WhyML prelude | Yoichi Hirai | 2016-09-08 | 1 | -0/+9 |
| | | | | | | In the `--formal` output, this commit adds a module called `Address`, which defines the address type as unsigned integer type bounded at 2^160-1. | ||||
* | Merge pull request #1041 from pirapira/typo_and_whitespace | chriseth | 2016-09-08 | 2 | -2/+2 |
|\ | | | | | Fix a typo and a whitespace inconsistency | ||||
| * | Fix a typo and whitespaces | Yoichi Hirai | 2016-09-07 | 2 | -2/+2 |
| | | |||||
* | | Append an issue id #1043 to a @todo comment about it | Yoichi Hirai | 2016-09-07 | 1 | -1/+1 |
|/ | |||||
* | Fix crash when using json compiler with exponentiation. | chriseth | 2016-08-20 | 1 | -2/+7 |
| | |||||
* | Handle external effects. | chriseth | 2016-07-13 | 2 | -48/+169 |
| | |||||
* | Simplify interface of RationalNumber. | chriseth | 2016-05-11 | 1 | -2/+2 |
| | |||||
* | changed names for Rational Constants and categories | VoR0220 | 2016-05-10 | 1 | -4/+4 |
| | |||||
* | initial work for fixed types...potentially needing a constant literal type ↵ | RJ Catalano | 2016-05-10 | 1 | -2/+10 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for this notation Rational implemented...trying to figure out exponential fix for token bug, also quick fix for the wei and seconds fixed problem with var...probably a conversion problem for fixed in size capabilities adding fixed type tests Removing bitshift and regrouping fixed type tests together size capabilities functioning properly for fixed types got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be slight changes to how to flip the rational negative around...still trying to figure it out tests added updated tests odd differences in trying soltest from solc binary, let me know if you can replicate test not working for odd reason fixed test problem with fixed literals...still need a way to log this error broken up the tests, added some, changed some things in types and began compiler work moar tests and prepping for rebuilding much of the types.cpp file further fixing initial work for fixed types...potentially needing a constant literal type for this | ||||
* | Fixed Windows warnings | Bob Summerwill | 2016-03-18 | 1 | -1/+1 |
| | |||||
* | - inline and assembly keywords added | LianaHus | 2016-03-12 | 1 | -1/+1 |
| | | | | - some style fixes | ||||
* | Do not store elements of a contract by AST node type. | chriseth | 2015-11-26 | 2 | -11/+6 |
| | |||||
* | Fix MSVC errors and warnings. | chriseth | 2015-11-26 | 1 | -1/+1 |
| | |||||
* | Style. | chriseth | 2015-11-25 | 1 | -1/+2 |
| | |||||
* | Again some why3 fixes with regards to separators in blocks. | chriseth | 2015-11-25 | 2 | -26/+34 |
| | |||||
* | Style. | chriseth | 2015-11-23 | 1 | -2/+5 |
| | |||||
* | addmod and mulmod for why3. | chriseth | 2015-11-23 | 1 | -17/+36 |
| | |||||
* | Why3: Direct references to variables using `#`. | chriseth | 2015-11-23 | 2 | -1/+75 |
| | |||||
* | Formal Verification: State variables. | chriseth | 2015-11-19 | 2 | -20/+70 |
| | |||||
* | Fix problems with statement blocks. | chriseth | 2015-11-11 | 2 | -21/+46 |
| | |||||
* | Rename error type. | chriseth | 2015-10-28 | 1 | -1/+1 |
| | |||||
* | Preliminary why3 code output. | chriseth | 2015-10-27 | 2 | -0/+640 |