Daniel Kirchner
f3707f2ab0
Control flow graph for Yul.
2021-07-15 15:24:12 +02:00
chriseth
f75b55071e
Remove CharStream from SourceLocation.
2021-07-14 15:12:07 +02:00
chriseth
09578e7e22
Merge pull request #11550 from ethereum/runs-constant
...
Constant for default --runs
2021-07-06 10:44:07 +02:00
Kamil Śliwak
a72857df03
CommonIO: Replace readStandardInput() with readUntilEnd() with a configurable stream
2021-07-02 14:58:30 +02:00
Kamil Śliwak
6ad6fa2382
Do not hard-code the default 'runs' value as 200 in code that fills out optimizer settings
2021-06-28 14:12:28 +02:00
Kamil Śliwak
65e23ff171
CommonIO: Make readFile() check if the file is not a directory and if not fail with a sensible exception rather than std::length_error
2021-06-25 16:04:58 +02:00
Daniel Kirchner
06a9199967
Change loading of VMs and error messages during test.
2021-05-12 14:48:37 +02:00
Daniel Kirchner
6104ac1cdf
Remove more imports of ranges namespace.
2021-05-07 15:42:17 +02:00
Djordje Mijovic
e404b6e7a6
Refactoring yul source locations.
2021-05-04 16:05:23 +02:00
chriseth
3548049c61
Merge pull request #10356 from ethereum/isoltest-add-enforce-ewasm
...
[test] Add support for --enforce-compile-to-ewasm.
2021-04-27 17:51:33 +02:00
Alexander Arlt
da38149f57
[test] Add support for --enforce-compile-to-ewasm.
2021-04-26 20:31:03 -05:00
Alexander Arlt
481971cbcf
[isoltest] Add support for external sources.
2021-04-26 08:27:30 -05:00
chriseth
2969bc0f3e
Merge pull request #11302 from ethereum/drop-u160
...
Drop the util::u160 type
2021-04-26 15:12:20 +02:00
anurag4u80
c4cf412fed
Replaced boost remove_erase and remove_erase_if
2021-04-24 08:10:41 +05:30
Alex Beregszaszi
37be1b3ed9
Remove dependency on util::160 in yulInterpreter
...
Instead apply explicit truncation or masking for readability.
2021-04-23 14:35:05 +01:00
hrkrshnn
1f5b874eaf
Optimizer context has parameter expectedExecutionsPerDeployment
2021-04-22 17:27:57 +02:00
Alex Beregszaszi
8fb7a18800
Small refactorings for isoltest
2021-04-22 01:04:34 +01:00
Leonardo
7bbf3a694b
Merge pull request #11261 from ethereum/smt_choose_target
...
[SMTChecker] Add option to choose contracts to be analyzed
2021-04-21 13:11:33 +02:00
Leonardo Alt
dd1865873e
Choose contracts to be analyzed by the SMTChecker
2021-04-21 10:34:14 +02:00
Bhargava Shastry
69dd1771b7
Remove as many boost usages as possible in protoToYul.cpp
2021-04-20 18:46:19 +02:00
Bhargava Shastry
14d2170b46
Merge pull request #11238 from ethereum/yul-interpreter-storage-state
...
Permit Yul interpreter vs Evmone storage comparison.
2021-04-19 12:22:59 +02:00
Bhargava Shastry
6941143613
Merge pull request #11216 from ethereum/fix-abiv2-fuzzer-bug
...
Fix use of const ref in Abiv2 and other proto fuzzers.
2021-04-14 15:03:57 +02:00
Bhargava Shastry
15bf6af77a
Remove output parameters from function call since they are generated on the fly in the converter.
2021-04-14 13:53:37 +02:00
Bhargava Shastry
7c806217fb
Changes to yul proto mutator.
2021-04-14 13:53:37 +02:00
Bhargava Shastry
cf08c9b255
Correct use of emplace_back
2021-04-14 13:53:37 +02:00
Bhargava Shastry
1709b2924b
Changes to how function calls are generated.
2021-04-14 13:53:37 +02:00
Bhargava Shastry
b1392ac988
Fix use of const ref in Abiv2 and other proto fuzzers.
2021-04-13 19:38:43 +02:00
Bhargava Shastry
033ee0e2bc
Permit Yul interpreter vs Evmone storage comparison.
2021-04-12 10:39:23 +02:00
Bhargava Shastry
6f3095a199
Merge pull request #11141 from ethereum/compilation-framework-fuzzer
...
Enable multi-source fuzzing.
2021-04-06 14:00:11 +02:00
anurag4u80
bbcdddeed9
Replaced keys, values and reverse with ranges
2021-03-31 23:33:04 +05:30
Bhargava Shastry
f3f1ccc34f
Fix false positive caused by early termination due to nested expressions.
2021-03-26 13:35:57 +01:00
Bhargava Shastry
f9182e9f88
Minor changes to Solidity compilation framework fuzzer.
2021-03-23 13:17:41 +01:00
Alex Beregszaszi
1c176cc1ee
isoltest: add --accept-updates option
2021-03-15 14:31:01 +00:00
Bhargava Shastry
8023fdb537
Extract state printing to a separate class.
2021-03-10 17:41:03 +01:00
Bhargava Shastry
24f42c5541
Filter false positives due to EVM errors.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-03-10 17:41:03 +01:00
Bhargava Shastry
34c08ea2c6
EVMHost: Add tracing features needed for fuzzing.
2021-03-10 17:41:03 +01:00
Djordje Mijovic
aed3832b27
Implementing enforcing gas expectations in isoltest.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-03-09 21:26:45 +01:00
Daniel Kirchner
a75424eec4
Drop support for evm15 and eip-615.
2021-03-09 15:56:03 +01:00
Daniel Kirchner
e99da7e015
Extract StackReuseCodegen tests.
2021-03-09 15:47:24 +01:00
Daniel Kirchner
acd3084076
Fuzzer for stack optimiser/code generator.
2021-03-04 17:35:56 +01:00
Bhargava Shastry
a34308e4cb
Proto yul converter: Provide a flag to filter stateful instructions.
2021-03-04 15:20:19 +01:00
Bhargava Shastry
069ac9c9a9
Merge pull request #10878 from ethereum/refactor-solProtoFuzzer
...
Fuzzer: Refactor utility methods shared by proto fuzzers.
2021-03-01 19:56:10 +01:00
Bhargava Shastry
c9f1b55073
Merge pull request #10967 from ethereum/proto-mutator
...
Proto mutator: Add control flow to basic blocks
2021-02-23 12:03:52 +01:00
Bhargava Shastry
758d159d87
yul proto mutator: Add control flow to block statements.
2021-02-22 15:10:41 +01:00
Alexander Arlt
c44bb7e7ef
Replace raw throw with BOOST_THROW_EXCEPTION.
2021-02-18 20:23:59 -05:00
Bhargava Shastry
febccdd96a
Fuzzer: Refactor utility methods shared by proto fuzzers.
...
Co-authored-by: Leonardo <leo@ethereum.org>
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-02-10 11:43:57 +01:00
Bhargava Shastry
75e7e1bee7
Consistent use of returns documentation tag.
2021-02-09 12:51:36 +01:00
Bhargava Shastry
896de75bcb
Solidity fuzzer: Add test state.
2021-02-09 12:49:35 +01:00
Bhargava Shastry
7e343987fc
Update solidity dictionary with TestReader syntax.
2021-02-08 11:16:11 +01:00
Bhargava Shastry
2f001bb91c
Unify solc fuzzers.
2021-02-08 11:14:38 +01:00
Bhargava Shastry
c7ee2c1f39
Clang tidy fixes in protoToYul.cpp.
2021-02-07 23:27:11 +01:00
Bhargava Shastry
0a59bd825b
Solidity fuzzer: Add simple import statements.
...
Co-authored-by: Leonardo <leo@ethereum.org>
2021-02-03 17:03:57 +01:00
Bhargava Shastry
8e691293e4
ossfuzz: Clang tidy suggested fixes in Solidity generator
2021-01-27 14:55:49 +01:00
Bhargava Shastry
be733d5f61
Reorganized code for better readability.
2021-01-26 16:16:03 +01:00
Bhargava Shastry
f5e0faaa37
Add documentation and/or comments.
...
Co-authored-by: Leonardo <leo@ethereum.org>
2021-01-26 15:48:42 +01:00
Bhargava Shastry
d7e3d3f75f
Add visitors for automatic test case generation.
2021-01-26 15:48:42 +01:00
Leonardo
a75b87c80e
Merge pull request #10813 from ethereum/smt_targets_option
...
Add CLI and JSON option to select SMTChecker targets
2021-01-20 18:37:08 +01:00
Leonardo Alt
3b23cadbdc
Add CLI and JSON option to select SMTChecker targets
2021-01-20 17:35:37 +01:00
Bhargava Shastry
b3dd83a20b
Enable fine grained yul optimizer fuzzing
2021-01-19 18:22:59 +01:00
chriseth
359c70649d
Merge pull request #10752 from ethereum/yulopti-option-order
...
[yulopti] Options ordered by name and in columns rather than rows
2021-01-18 15:59:58 +01:00
Bhargava Shastry
42c05df0a9
Yul optimizer test: Separate test parsing and optimisation
2021-01-18 10:27:58 +01:00
Kamil Śliwak
0f75582e12
[yulopti] Rewrite the check against overlapping abbreviations using ranges-v3
2021-01-16 01:10:55 +01:00
Kamil Śliwak
88a7dddfbd
[yulopti] Sort options by step name, with special options on top of the list
2021-01-16 01:10:55 +01:00
Kamil Śliwak
18c0e70ccf
[yulopti] Print options in column-wise rather than row-wise
2021-01-16 01:10:55 +01:00
Bhargava Shastry
a6a2b58e57
ossfuzz: Add option to force SMT pragma and set it in solc fuzzers
...
Co-authored-by: Leonardo <leo@ethereum.org>
2020-12-21 11:55:58 +01:00
chriseth
3c270ca7f7
Merge pull request #10608 from ethereum/develop
...
Merge develop into breaking.
2020-12-15 15:24:53 +01:00
Bhargava Shastry
b273e52628
Abiv2 fuzzer: Enable differential fuzzing and remove support for string coding
...
co-authored-by: Leonardo <leo@ethereum.org>
2020-12-15 11:13:10 +01:00
Bhargava Shastry
39f1893956
Fix integer overflow due to large unsigned cpp_int
2020-12-15 11:12:51 +01:00
chriseth
561280a5cc
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-14 11:33:40 +01:00
Leonardo
adead3072d
Merge pull request #10570 from ethereum/abiv2-isabelle-test-values-fix-bugs
...
Ensure empty arrays are not visited and fix formatting issues
2020-12-11 17:38:15 +01:00
Bhargava Shastry
9bd4a1095e
Ensure empty arrays are not visited and fix formatting issues
2020-12-10 22:43:45 +01:00
Alex Beregszaszi
bd641a5206
Enable more C++ compiler warnings
2020-12-10 21:03:58 +00:00
chriseth
d0551b67d7
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-10 17:07:56 +01:00
Bhargava Shastry
dc1c0e9d4e
Abiv2 fuzzer: Retrieve values to be encoded from the fuzzer
2020-12-10 16:33:14 +01:00
Bhargava Shastry
3c8caabf2e
Remove unused code
2020-12-10 12:56:04 +01:00
Bhargava Shastry
693548b787
Abiv2 fuzzer: Make integer value generation consistent with range for that integer type
2020-12-10 12:34:14 +01:00
chriseth
482bda6887
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-10 12:15:52 +01:00
Bhargava Shastry
2e3cba996a
Isabelle abiv2 fuzzer: Add type string
2020-12-09 18:10:10 +01:00
chriseth
806453aca9
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 21:00:09 +01:00
Alex Beregszaszi
7e88ba8da0
Enable the -Wconversion warning
2020-12-08 16:45:24 +00:00
chriseth
b045195c1e
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 17:42:31 +01:00
Bhargava Shastry
fe6543a7c8
Abiv2 isabelle: Add fuzzer test harness skeleton and update CMake
2020-12-08 13:05:23 +01:00
chriseth
329b8f2a60
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 13:04:14 +01:00
Bhargava Shastry
32fd692c51
Yul interpreter: Introduce expression evaluation maximum nesting depth
2020-12-04 17:27:03 +01:00
Bhargava Shastry
0d6cae304b
abiv2 proto fuzzer: Move anon namespace utility functions to common source
2020-12-04 15:33:41 +01:00
chriseth
d56a7bb89e
Merge pull request #10489 from ethereum/develop
...
Merge develop into breaking.
2020-12-03 18:11:12 +01:00
Bhargava Shastry
e1b44500dd
Yul interpreter: Smaller execution timeout for tests and additional test cases
2020-12-03 10:08:41 +01:00
chriseth
9a5902f9d7
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-02 12:28:02 +01:00
chriseth
c193ce6c07
Rename SourceReferenceFormatterHuman.
2020-12-01 16:09:46 +01:00
Alex Beregszaszi
1dedba8538
Only use SourceReferenceFormatterHuman
2020-12-01 16:09:46 +01:00
chriseth
8279d90ba2
Merge pull request #10403 from ethereum/rename-asmdata
...
Rename AsmData* to AST*
2020-12-01 14:33:11 +01:00
chriseth
1944d5ce44
Merge pull request #9722 from ethereum/fix-9676
...
Add Solidity test case generator framework
2020-12-01 14:26:12 +01:00
Alex Beregszaszi
9640cfd77e
[ewasm] Add i32.select/i64.select
2020-11-30 11:58:33 +00:00
Alex Beregszaszi
a22077f736
Rename AsmData -> AST
...
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Bhargava Shastry
864458922a
Add solidity generator
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-11-23 22:27:40 +01:00
Alex Beregszaszi
3c7f642227
Change readFile/readFileAsString to throw FileNotFound exception
2020-11-04 16:35:19 +00:00
Alex Beregszaszi
bcd31daf94
[ewasm] Terminate on out-of-bounds access in EwasmInterpreter
2020-10-29 10:26:41 +00:00
Alex Beregszaszi
6b2942e7f0
[ewasm] Properly touch memory in EwasmInterpreter
2020-10-28 11:57:18 +00:00
Alex Beregszaszi
9dc5ceae94
[ewasm] Implement "create" properly in EwasmInterpreter
2020-10-28 11:57:18 +00:00
Alex Beregszaszi
62028c90f0
[ewasm] Overhaul memory handling in EwasmInterpreter
...
Introduce writeMemory and read/writeBytes32/Address helpers.
Fix read/writeU128/U256 to be little-endian.
Update each instruction to follow the specification.
2020-10-28 11:57:18 +00:00