chriseth
|
289fc7a9d0
|
Merge pull request #9371 from ethereum/refactorInterpreter
Refactor yul interpreter.
|
2020-07-13 18:27:47 +02:00 |
|
Daniel Kirchner
|
38c6ecbbe2
|
Remove finney and szabo denominations.
|
2020-07-13 18:07:10 +02:00 |
|
chriseth
|
8eee3ed3a2
|
Merge pull request #9388 from ethereum/develop
Merge develop into breaking.
|
2020-07-13 14:55:21 +02:00 |
|
Djordje Mijovic
|
a72b0deea6
|
Disabling -Wsign-conversion for yul_proto_diff_custom_mutate_ossfuzz target
|
2020-07-13 14:01:53 +02:00 |
|
chriseth
|
b3566ad0d5
|
Merge pull request #9082 from ethereum/conversionWarnings
Adding `-Wsign-conversion` flag and fixing errors
|
2020-07-13 11:28:09 +02:00 |
|
Djordje Mijovic
|
3781ee6349
|
Removing -Wsign-conversion flag for ossfuzz targets
|
2020-07-09 17:22:52 +02:00 |
|
Djordje Mijovic
|
547590b972
|
Fixing additional signedness errors after adding -Wsign-conversion flag
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2020-07-09 17:22:45 +02:00 |
|
chriseth
|
9ef050af9a
|
Merge pull request #9373 from ethereum/develop
Merge develop into breaking.
|
2020-07-09 16:15:43 +02:00 |
|
chriseth
|
2b94ced65f
|
Merge pull request #8305 from ethereum/fix-7947
yul proto fuzzer: Use custom mutation routines
|
2020-07-09 15:40:16 +02:00 |
|
chriseth
|
ec2393d3b6
|
Refactor interpreter.
|
2020-07-09 15:00:13 +02:00 |
|
Bhargava Shastry
|
7272129354
|
yul fuzzer: Add framework for yul optimizer custom mutation routines
Co-authored-by: Leonardo <leo@ethereum.org>
|
2020-07-09 13:32:07 +02:00 |
|
Bhargava Shastry
|
48ac4b2954
|
Disable more than one reference to a variable on the LHS of a tuple assignment
|
2020-07-08 13:16:07 +02:00 |
|
chriseth
|
ab68406006
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-07-06 15:25:25 +02:00 |
|
Bhargava Shastry
|
b82590322c
|
yul proto fuzzer: Remove assertion that no errors/warnings while parsing yul code
|
2020-06-30 21:46:38 +02:00 |
|
chriseth
|
3e3f9a472f
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-06-30 18:56:51 +02:00 |
|
Mathias Baumann
|
02328f3bbb
|
Add unit denomination `gwei `
|
2020-06-24 18:24:56 +02:00 |
|
Bhargava Shastry
|
61431d2c59
|
ossfuzz: Remove PC from yul proto specification
|
2020-05-28 10:09:38 +02:00 |
|
Bhargava Shastry
|
596ac018f5
|
Fuzzer: Add test harness for solidity inheritance protobuf fuzzer
Co-Authored-By: Leonardo <leo@ethereum.org>
|
2020-05-11 23:56:27 +02:00 |
|
Bhargava Shastry
|
00946f3ea0
|
ossfuzz: Add sol proto fuzzer skeleton
Co-Authored-By: Leonardo <leo@ethereum.org>
|
2020-05-11 23:56:27 +02:00 |
|
Bhargava Shastry
|
5113af1df0
|
Update test/tools/ossfuzz/protoToYul.h
Co-Authored-By: Leonardo <leo@ethereum.org>
|
2020-04-27 14:01:11 +02:00 |
|
Bhargava Shastry
|
62e5ccec90
|
Minor code factoring to clarify for init scope extension
|
2020-04-27 14:01:11 +02:00 |
|
Bhargava Shastry
|
7280ed716a
|
Yul proto spec: Add multiple variable declaration statement
|
2020-04-27 14:01:11 +02:00 |
|
Bhargava Shastry
|
f78414b333
|
Disallow statements containing empty blocks e.g., empty if, for, function definition
|
2020-04-23 10:07:36 +02:00 |
|
Bhargava Shastry
|
ea5b64ca9e
|
Fuzzer: Permit linking of libraries in compilation framework
|
2020-04-20 14:28:38 +02:00 |
|
Bhargava Shastry
|
9544df34d7
|
solc fuzzers: Use compiler stack for fuzzing
|
2020-03-20 10:50:26 +01:00 |
|
Leonardo
|
3896aa75cc
|
Merge pull request #8426 from ethereum/fix-7948
ossfuzz: Update README.md with steps to build fuzzers via docker
|
2020-03-09 16:41:10 +01:00 |
|
Bhargava Shastry
|
2153a1ef1d
|
Update test/tools/ossfuzz/README.md
Address review comments
|
2020-03-09 10:38:19 +01:00 |
|
Bhargava Shastry
|
7483c6f13e
|
ossfuzz: Update README.md with steps to build fuzzers via docker
|
2020-03-05 10:43:31 +01:00 |
|
Bhargava Shastry
|
ed02aae1d9
|
Update solidity fuzzing dictionary with >0.6.0 keywords
|
2020-02-28 15:46:21 +01:00 |
|
Bhargava Shastry
|
79f1917422
|
yul proto fuzzer: Refactor dataoffset/size specification
|
2020-02-11 13:58:36 +05:30 |
|
Bhargava Shastry
|
59e7206c8f
|
yul proto fuzzer: Support boolean literal generation
|
2020-02-10 20:48:29 +05:30 |
|
Bhargava Shastry
|
8cbe1d4b1d
|
yul proto fuzzer: Make function call generation optional
|
2020-01-24 12:31:43 +05:30 |
|
Bhargava Shastry
|
a335fed189
|
yul proto fuzzer: Add EVM version field
|
2020-01-24 12:31:20 +05:30 |
|
Bhargava Shastry
|
9befb4bdf0
|
yul proto fuzzer: Do not generate infinite for loops and limit total
number of for loops per test program to two
|
2020-01-20 16:27:01 +05:30 |
|
Bhargava Shastry
|
49a05b5935
|
Permit variable declarations inside for init block
|
2020-01-13 16:17:33 +05:30 |
|
Daniel Kirchner
|
be0775da49
|
Merge pull request #8075 from ethereum/refactor-namespaces
Refactor namespaces
|
2020-01-07 16:52:20 +01:00 |
|
Mathias L. Baumann
|
a2141d3be2
|
Merge pull request #7869 from fulldecent/fix-kill
Reduce usage of word kill
|
2020-01-07 16:01:04 +01:00 |
|
Christian Parpart
|
345f9928ab
|
Library libdevcore renamed to libsolutil.
|
2020-01-07 15:51:50 +01:00 |
|
Christian Parpart
|
ed45b000d1
|
Adapt tests directory to C++ namespace changes.
|
2020-01-07 15:51:50 +01:00 |
|
Christian Parpart
|
6b23412fae
|
C++ namespace cleanup (except tests).
|
2020-01-07 15:51:50 +01:00 |
|
William Entriken
|
6d068b6331
|
Reduce usage of the word "kill"
|
2020-01-07 11:18:10 +01:00 |
|
Bhargava Shastry
|
49aec64caf
|
abiv2 proto converter: Do not resize dynamic storage arrays by writing to the length field as it is now read only
|
2020-01-06 17:44:42 +01:00 |
|
Bhargava Shastry
|
f5bd483dfa
|
yul proto fuzzer: Target default evm version
|
2019-12-11 16:52:00 +01:00 |
|
chriseth
|
1ebcc757e1
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-27 19:14:08 +01:00 |
|
Paweł Bylica
|
38a20190f4
|
test: Use evmc::VM directly
The evmc::VM works as a RAII wrapper similarly to unique_ptr, so there is no point in using additional unique_ptr.
|
2019-11-27 18:53:02 +01:00 |
|
Bhargava Shastry
|
ea9e849ee4
|
Use pointer to string for efficiency
|
2019-11-26 17:12:56 +01:00 |
|
Bhargava Shastry
|
41bdc9b673
|
yul proto fuzzer: Generalize variable references
|
2019-11-26 17:12:56 +01:00 |
|
Erik K
|
94272d44aa
|
Merge pull request #7745 from ethereum/develop
Merge develop into develop_060
|
2019-11-19 15:30:31 +01:00 |
|
Alex Beregszaszi
|
1432f0ad28
|
Adapt EVMHost for EVMC7
|
2019-11-19 12:21:03 +01:00 |
|
Bhargava Shastry
|
62ae015552
|
docker: Add versioning and edit naming scheme
|
2019-11-18 15:16:53 +01:00 |
|
Bhargava Shastry
|
a8a50c4e0e
|
Upgrade evmone to v0.2.0 and adapt fuzzer build
|
2019-11-18 15:16:53 +01:00 |
|
Bhargava Shastry
|
505b5deaf9
|
Add chainid and selfbalance opcodes to yul proto converter and enable it
in the yul proto differential fuzzer.
|
2019-11-18 09:26:00 +01:00 |
|
chriseth
|
2e5a42836c
|
Merge pull request #7681 from ethereum/develop
Merge develop into develop_060
|
2019-11-11 16:42:03 +01:00 |
|
Bhargava Shastry
|
9772cc44a0
|
abiv2 proto fuzzer: Fuzz return data coding
|
2019-11-06 23:42:10 +01:00 |
|
chriseth
|
46ac16d25c
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-04 19:09:11 +01:00 |
|
Bhargava Shastry
|
6a55949c04
|
yul proto fuzzer: Increase step limit upper bound for optimized code
|
2019-11-04 18:38:56 +01:00 |
|
Bhargava Shastry
|
04becb9458
|
Minor refactoring
|
2019-11-04 15:47:04 +01:00 |
|
Bhargava Shastry
|
12ed08eddb
|
Place upper bound number on number of array dimensions
|
2019-11-04 15:47:04 +01:00 |
|
Bhargava Shastry
|
3cfeca33c1
|
Abiv2 proto fuzzer: Refactor and add support for structs
|
2019-11-04 15:47:04 +01:00 |
|
Bhargava Shastry
|
e4ba1c02e8
|
yul proto fuzzer: Catch exception early and propagate termination reason to harness
|
2019-11-01 12:26:35 +01:00 |
|
Bhargava Shastry
|
edc5059208
|
yul proto: Add leave statement
|
2019-11-01 11:18:05 +01:00 |
|
Bhargava Shastry
|
128c3c7cf6
|
yul interpreter: Initialize calldata with random data
|
2019-10-21 10:37:35 +02:00 |
|
chriseth
|
5a950908b6
|
Merge pull request #7432 from ethereum/fix-ossfuzz-build
ossfuzz: Create a separate cmake toolchain file for ossfuzz
|
2019-09-17 15:24:50 +02:00 |
|
Bhargava Shastry
|
48da5f07a5
|
ossfuzz: Create a separate cmake toolchain file for ossfuzz so that multiple fuzzing backends may be used
|
2019-09-16 18:35:15 +02:00 |
|
Bhargava Shastry
|
403fb7d88c
|
Update logic to track dynamically encoded parameters
|
2019-09-16 14:25:37 +02:00 |
|
chriseth
|
192946c1ba
|
Merge pull request #7413 from ethereum/ossfuzz-link-correctly
Link ossfuzz targets with -fsanitize=fuzzer instead of libFuzzingEngine
|
2019-09-12 20:22:53 +02:00 |
|
Bhargava Shastry
|
a7c987d931
|
Link ossfuzz targets with -fsanitize=fuzzer instead of libFuzzingEngine supplied by docker image
|
2019-09-12 11:26:05 +02:00 |
|
Bhargava Shastry
|
34022a2c8c
|
Pseudo-randomly choose object/data identifier that is in scope
|
2019-09-11 10:57:54 +02:00 |
|
Bhargava Shastry
|
d677a15507
|
Add object access builtin functions
|
2019-09-11 10:57:54 +02:00 |
|
Bhargava Shastry
|
e349fb1ce1
|
Abiv2 proto fuzzer: Crop at least 32 bytes if last dynamically encoded parameter is right padded
|
2019-09-09 10:07:30 +02:00 |
|
Bhargava Shastry
|
137a898eca
|
Yul proto fuzzer: Fix typo in low level call
|
2019-09-04 21:14:26 +02:00 |
|
Bhargava Shastry
|
c889e6e015
|
Yul proto fuzzer: Add create and call opcodes
|
2019-09-04 19:13:40 +02:00 |
|
Bhargava Shastry
|
6b27ef8fcb
|
Yul proto fuzzer: Additional blockchain opcodes
|
2019-09-04 19:13:40 +02:00 |
|
Bhargava Shastry
|
fce65ec811
|
Randomize calldataload and storage slots and use dictionary tokens as function argument
|
2019-09-04 09:54:57 +02:00 |
|
Bhargava Shastry
|
d066ba71a4
|
Force call of every valid func declaration
|
2019-09-04 09:54:57 +02:00 |
|
Bhargava Shastry
|
4837ef4ada
|
Yul proto fuzzer: Make function definition a statement
|
2019-09-04 09:54:36 +02:00 |
|
Bhargava Shastry
|
bcf0c1810c
|
Yul proto fuzzer: Do not reuse variable names
|
2019-09-02 15:23:10 +02:00 |
|
chriseth
|
9a6357ab09
|
Merge pull request #7188 from ethereum/abiv2-use-bytes-string-longer-than-32-bytes
Abiv2 use bytes string longer than 32 bytes
|
2019-09-02 15:05:43 +02:00 |
|
chriseth
|
bdf29277a2
|
Change interpreter memory to be non-contiguous.
|
2019-09-02 13:51:47 +02:00 |
|
Bhargava Shastry
|
46a133e848
|
Generate bytes and string literals that are longer than 32 bytes
|
2019-09-02 12:43:47 +02:00 |
|
Bhargava Shastry
|
3963d0ca02
|
Create bytes/string values of shorter than 32 bytes and adjust invalid encoding length accordingly
|
2019-09-02 11:30:38 +02:00 |
|
Bhargava Shastry
|
922790730c
|
Do not create duplicate case statements
|
2019-08-26 12:44:06 +02:00 |
|
Bhargava Shastry
|
86c981d9fa
|
proto fuzzer: Use a yul optimizer dictionary
|
2019-08-26 12:44:06 +02:00 |
|
chriseth
|
f3f3cac864
|
Fix for ossfuzz.
|
2019-08-08 17:35:46 +02:00 |
|
chriseth
|
3dec3af638
|
Use evmone for testing.
|
2019-08-08 17:35:44 +02:00 |
|
Bhargava Shastry
|
2f815c5c35
|
While compiling abiv2 proto generated solidity test program, silently ignore stack too deep errors (exception), throw exception otherwise.
|
2019-08-06 11:06:09 +02:00 |
|
Bhargava Shastry
|
bf16f2f75e
|
Test low level calls with correct and incorrect encodings
|
2019-08-06 09:43:55 +02:00 |
|
Bhargava Shastry
|
e018d62a67
|
Dynamically sized array dimensions can be zero sized
|
2019-08-01 16:33:57 +02:00 |
|
Bhargava Shastry
|
90d421352a
|
Add bool type and array of bool and dynamic byte types
|
2019-07-17 14:24:43 +02:00 |
|
Bhargava Shastry
|
00bca77cca
|
Updated evmc to version tracked by evmone v0.1.0
|
2019-07-17 14:24:27 +02:00 |
|
Christian Parpart
|
810a0de1aa
|
Add evmc and host interface implementation. Modify fuzzer harness to make use of evmc host/vm.
|
2019-07-17 10:55:33 +02:00 |
|
Bhargava Shastry
|
5aa571e56f
|
Update fuzzing deps in docker image and ossfuzz CMakeLists.txt
|
2019-07-16 09:10:02 +02:00 |
|
Bhargava Shastry
|
3b33ff1454
|
Adjust call to suffixedVariableNameList post refactoring in ABIv2 proto fuzzer and slim down dependencies.
|
2019-07-09 18:18:40 +02:00 |
|
chriseth
|
859dbaa2a3
|
Merge pull request #7053 from djudjuu/moveSuffixHelper
move SuffixHelper to StringUtils
|
2019-07-09 14:32:05 +02:00 |
|
djudjuu
|
cafa01cbf6
|
moved SuffixHelper to StringUtils
|
2019-07-09 13:50:07 +02:00 |
|
Bhargava Shastry
|
5bc1a68b40
|
ABIv2 proto fuzzer implementation for a limited set of value and non-value types (arrays included).
|
2019-07-09 10:50:43 +02:00 |
|
Bhargava Shastry
|
b5cbb1a3e9
|
For loop with custom init and post blocks and potentially unbounded conditional expression
|
2019-06-14 08:46:28 +02:00 |
|
Bhargava Shastry
|
f57439035a
|
Do not enclose string literal within double quotes before conversion to u256
|
2019-05-29 15:52:31 +02:00 |
|
Bhargava Shastry
|
dbae0fa939
|
Reset Yul string repository before each compilation.
|
2019-05-28 13:12:39 +02:00 |
|
chriseth
|
91312e657b
|
Skip empty entries in memory and storage dump.
|
2019-05-23 12:27:56 +02:00 |
|
Bhargava Shastry
|
804368bb51
|
First commit
|
2019-05-22 10:15:28 +02:00 |
|
chriseth
|
4bdb981224
|
Make dialect const& and allocate single instances statically.
|
2019-05-17 12:54:24 +02:00 |
|
Bhargava Shastry
|
495f7f9013
|
[Proto fuzzer] Add function calls, and multi variable declaration/assignment statements
|
2019-05-09 16:00:29 +02:00 |
|
chriseth
|
f113f8e4a0
|
Implement datasize, dataoffset and datacopy for yul interpreter.
|
2019-05-06 16:59:47 +02:00 |
|
Bhargava Shastry
|
a5524983f9
|
[Proto fuzzer]: Add terminating opcodes
|
2019-05-02 15:34:26 +02:00 |
|
Bhargava Shastry
|
ac7bfec2c0
|
Support generation of calldata, code, extcode and returndata opcodes
|
2019-05-02 10:14:25 +02:00 |
|
Bhargava Shastry
|
d894ffad16
|
Proto fuzzer: Add missing memory and log opcodes and fix visitation bug
for ternary ops
|
2019-04-30 14:18:00 +02:00 |
|
chriseth
|
1d5559c350
|
Merge pull request #6554 from ethereum/add-ternary-ops
ossfuzz: Generate addmod and mulmod builtin functions
|
2019-04-19 00:41:57 +02:00 |
|
Bhargava Shastry
|
836c466f09
|
ossfuzz: Generate addmod and mulmod builtin functions
|
2019-04-18 14:21:02 +02:00 |
|
Bhargava Shastry
|
68b7f40184
|
ossfuzz: Fixes buggy generation of duplicate case literals
|
2019-04-18 14:12:23 +02:00 |
|
Bhargava Shastry
|
6f673f5e81
|
Generate break and continue statements inside for loop body.
|
2019-04-17 13:02:47 +02:00 |
|
Bhargava Shastry
|
484c14af81
|
Increase upper bound for number of interpreted steps for optimized code
|
2019-04-10 12:57:54 +02:00 |
|
Bhargava Shastry
|
762dd24784
|
Reference only those variables that are in scope.
|
2019-04-04 13:28:56 +02:00 |
|
Bhargava Shastry
|
f15cedad7a
|
yulInterpreter: More fine-grained exception handling
|
2019-04-04 13:02:55 +02:00 |
|
Bhargava Shastry
|
0cc6e1cb08
|
Use default EVMVersion instead of a hard coded one
|
2019-04-02 11:40:59 +02:00 |
|
chriseth
|
3264e9abf0
|
Make optimiser settings available to assembly stack.
|
2019-03-28 18:24:13 +01:00 |
|
Bhargava Shastry
|
10c3b31fa4
|
yulInterpreter: Add timeout based on the number of interpreted statements.
|
2019-03-27 12:06:02 +01:00 |
|
Bhargava Shastry
|
b3c3a1f9cd
|
Use visitor pattern for proto converter.
|
2019-03-26 16:39:44 +01:00 |
|
Bhargava Shastry
|
ef94d6d645
|
yul Interpreter: Move memory size limit to interpreter state.
|
2019-03-26 14:42:25 +01:00 |
|
Bhargava Shastry
|
a895ccba39
|
ossfuzz: Enable optimization in Assembly stack assembler call.
|
2019-03-26 13:42:51 +01:00 |
|
Bhargava Shastry
|
d1d3dd8571
|
yul proto: Add support for generating string and hex literals.
|
2019-03-21 12:25:52 +01:00 |
|
Bhargava Shastry
|
22f5a82edc
|
yul proto: Add support for generating for and switch statements.
|
2019-03-20 18:50:27 +00:00 |
|
Bhargava Shastry
|
6c1d0b62b5
|
Adds oss-fuzz harnesses to fuzz AssemblyStack API calls for parsing/optimizing StrictAssembly and generating EVM bytecode.
|
2019-03-20 16:06:45 +01:00 |
|
chriseth
|
834c23fc38
|
Merge pull request #6289 from ethereum/strictasm_fuzzer_ascii_only
Discard fuzz input containing non ASCII character(s).
|
2019-03-18 11:44:06 +01:00 |
|
Bhargava Shastry
|
725fc898fd
|
Discard fuzz input containing at least one character not in the following set: "isprint"able, newline, and horizontal
Co-Authored-By: bshastry <bshastry@ethereum.org>
|
2019-03-18 10:36:43 +01:00 |
|
Bhargava Shastry
|
5e8ed426df
|
Add more binary operations to the yul proto spec.
|
2019-03-14 22:26:25 +01:00 |
|
Bhargava Shastry
|
5681086d2c
|
Proto spec and translator bug fixes.
|
2019-03-14 15:40:54 +01:00 |
|
Bhargava Shastry
|
54d0d153fa
|
Reduce input file size for solc and constant optimizer fuzzers.
|
2019-03-06 11:35:22 +01:00 |
|
Bhargava Shastry
|
a370551ea2
|
ossfuzz: Reduce test input size to less than equal to 600 bytes.
|
2019-03-05 16:55:55 +01:00 |
|
Bhargava Shastry
|
d9bcbe6ad5
|
LibProtobuf Mutator (LPM) based fuzzer for yul subset
|
2019-03-05 12:32:55 +01:00 |
|
chriseth
|
bbda89c428
|
Create a differential fuzzer using tracing facility from the yul interpreter.
|
2019-03-04 20:44:17 +01:00 |
|
Bhargava Shastry
|
4cac45dc4a
|
Add fuzzer config files for oss-fuzz and a solidity fuzzing dictionary.
Update ossfuzz README.md.
|
2019-02-04 15:58:41 +01:00 |
|
Bhargava Shastry
|
24b1de7df0
|
This PR refactors and shares oss-fuzz specific test harness code with the afl fuzzer harness. ChangeLog updated.
|
2019-01-23 11:06:25 +01:00 |
|