-
Notifications
You must be signed in to change notification settings - Fork 388
feat(fuzz): AST fuzzing with SSA interpreter #8436
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
ac0bf6e
Skeleton of an SSA interpreter based fuzz target
aakoshh 828ff75
Make SSA interpreter parts public
aakoshh f8e2a26
Make results generic. Add interpreted results
aakoshh 5b2b12f
Map ABI input to SSA
aakoshh 3b730c6
Add cargo fuzz target
aakoshh 3879323
Build the inputs from the SSA
aakoshh 9e588d8
Remove println
aakoshh ec4b77e
Print SSA inputs
aakoshh 97e446d
Fix negative int handling in the interpreter
aakoshh 38e18b7
Map ABI types into specific numeric value
aakoshh d81213d
Merge remote-tracking branch 'origin/master' into af/8413-ast-fuzz-pr…
aakoshh 3b96985
Ignore value IDs in error comparison
aakoshh 43e91b6
Fix SSA input formatting
aakoshh c233781
Pass tuples as separate values
aakoshh 1e08d6d
Fix negative int conversion to Field in the interpreter
aakoshh a8a3801
Flatten tuples wherever they are
aakoshh 44c403f
Use Comparable::equivalent for results as well as error
aakoshh 3608983
Allow shifting u1
aakoshh 4b66ef3
Comparable to recurse into the element
aakoshh b219fc0
Merge remote-tracking branch 'origin/master' into af/8413-ast-fuzz-pr…
aakoshh b354cea
Avoid call_data parameters for now
aakoshh c0013f2
Allow arithmetic operations on u1 in the interpreter
aakoshh 5a1fbfd
Add u1 ops to interpreter
jfecher 7464b68
Merge remote-tracking branch 'origin/master' into af/8413-ast-fuzz-pr…
aakoshh a152bd1
Revert "Avoid call_data parameters for now"
aakoshh 8ae03c7
Fix clippy
aakoshh 5074639
Add ticket number to TODO
aakoshh 77d3d39
Use IntegerConstant
jfecher 0e932a4
Merge remote-tracking branch 'origin/jf/interpreter-additions' into a…
aakoshh 09e8403
Add test that shows the SSA failure on casting
aakoshh b26ac04
Merge remote-tracking branch 'origin/master' into jf/interpreter-addi…
aakoshh 309075b
Fix odd cast semantics
jfecher 51f928f
Merge branch 'jf/interpreter-additions' of https://github.com/noir-la…
jfecher 3d9fedd
Merge remote-tracking branch 'origin/jf/interpreter-additions' into a…
aakoshh a943b98
Fix cast behavior... again
jfecher b4dede8
Remove accidental printlns
jfecher d78a113
Merge remote-tracking branch 'origin/jf/interpreter-additions' into a…
aakoshh fc98481
Add test that shows wrong value returned by the SSA interpreter
aakoshh 2b1b9e9
Use log::debug! for printing stuff up front
aakoshh 02e4f4d
Compare the details in Overflows
aakoshh caead66
Merge remote-tracking branch 'origin/master' into af/8413-ast-fuzz-pr…
aakoshh 6c76d5c
'fix' casting and truncate
jfecher 25ee60e
Merge branch 'master' into jf/interpreter-additions
jfecher fdbeed9
New test on master needed to be updated
jfecher 5c573bd
Merge remote-tracking branch 'origin/jf/interpreter-additions' into a…
aakoshh 14b4487
Fix clippy
aakoshh 5441875
Merge remote-tracking branch 'origin/master' into af/8413-ast-fuzz-pr…
aakoshh eddf15e
Fix merge
aakoshh bb532cc
Enable fuzzing morphs and the SSA interpreter on CI
aakoshh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| //! ```text | ||
| //! cargo +nightly fuzz run pass_vs_prev -- -runs=10000 -max_len=1048576 -len_control=0 | ||
| //! ``` | ||
| #![no_main] | ||
|
|
||
| use libfuzzer_sys::arbitrary::Unstructured; | ||
| use libfuzzer_sys::fuzz_target; | ||
| use noir_ast_fuzzer_fuzz::targets::pass_vs_prev; | ||
|
|
||
| fuzz_target!(|data: &[u8]| { | ||
| pass_vs_prev::fuzz(&mut Unstructured::new(data)).unwrap(); | ||
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.