Commit Graph

205 Commits

Author SHA1 Message Date
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
Bhargava Shastry
864458922a Add solidity generator
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-11-23 22:27:40 +01:00
Bhargava Shastry
5023d3decb ossfuzz: Remove antlr4 build deps 2020-10-15 12:59:18 +02:00
Bhargava Shastry
6101590d93 ossfuzz: Generate antlr4 runtime deps 2020-08-27 17:33:29 +02:00
chriseth
845c1ae91f
Merge pull request #9469 from ethereum/fix-9468
Yul fuzzer: Enable nested object references
2020-07-23 13:26:42 +02:00
chriseth
6bb6783d39 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-22 15:26:44 +02:00
Bhargava Shastry
115380ca76 Yul fuzzer: Enable nested object references
Co-authored-by: Đorđe Mijović <djordje.mijovic@gmail.com>
2020-07-22 14:02:41 +02:00
Bhargava Shastry
18fbbfa5ca Fuzzer: Count step by number of interpreted statements
Co-authored-by: chriseth <chris@ethereum.org>
2020-07-21 15:38:02 +02:00
Bhargava Shastry
4067bab7dd Add corpus based multi source fuzzer
Co-authored-by: Leonardo <leo@ethereum.org>
2020-07-21 13:43:29 +02:00
chriseth
9be5ed1220 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-21 11:35:28 +02:00
Sachin Grover
b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
chriseth
f945163909
Merge pull request #9432 from ethereum/develop
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
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