Skip to content

Conversation

r0qs
Copy link
Member

@r0qs r0qs commented Oct 9, 2025

This PR introduces a new differential fuzzer for the new codegen pipeline. It compares the bytecode generated by the Via-IR and SSA CFG pipelines using HEVM. Still working in progress though. There may be better ways that we can accomplish that.

Additionally, the PR includes several minor fixes on top of the ssaCfgCodegen branch, which can be cherry-picked while this still a drafft. Please, take a look at them @clonker. Note that this PR is on top of that branch though ;)

Please note that the changes to the OSS-Fuzz image will need to be mirrored in the Google OSS-Fuzz Dockerfile in order to successfully run the fuzzers on the Google OSS-Fuzz platform.

To test it locally, run:

docker build --force-rm -t solidity-ossfuzz-local -f scripts/docker/buildpack-deps/Dockerfile.ubuntu.clang.ossfuzz .
docker run -v `pwd`:/src/solidity -ti solidity-ossfuzz-local /src/solidity/scripts/ci/build_ossfuzz.sh
docker run -v `pwd`:/src/solidity -ti solidity-ossfuzz-local /src/solidity/build_ossfuzz/test/tools/ossfuzz/yul_proto_diff_ssa_cfg_ossfuzz

Note: I didn't bump the ossfuzz image version on the dockerfile yet, because I still have some issues building the most recent version of the ssaCfgCodegen branch locally.

@r0qs r0qs force-pushed the ssaCfgCodegen-ossfuzz branch from 932b788 to 88fdb19 Compare October 9, 2025 15:55
@clonker clonker force-pushed the ssaCfgCodegen-ossfuzz branch 2 times, most recently from 70eb4f2 to 2efebd0 Compare October 16, 2025 15:34
@r0qs r0qs marked this pull request as ready for review October 17, 2025 07:33
@r0qs r0qs force-pushed the ssaCfgCodegen-ossfuzz branch 2 times, most recently from 57dcb80 to 567d0a7 Compare October 18, 2025 15:19
@r0qs r0qs force-pushed the ssaCfgCodegen-ossfuzz branch from 567d0a7 to b674581 Compare October 22, 2025 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants