oxc-project / oxc-project/backlog
AST Fuzzer
Open
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 7
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Researched a bit more into fuzzing:
- Evan Wallace wrote a fuzzer for object spread: https://github.com/evanw/js-destructuring-fuzzer
- The shift fuzzer https://github.com/shapesecurity/shift-fuzzer-js
- uglify js https://github.com/mishoo/UglifyJS/tree/master/test/ufuzz
Shift fuzzer
- constructs a valid AST https://github.com/shapesecurity/shift-fuzzer-js/blob/es2019/src/index.js
- What I don't understand yet, how to shrink the ast: https://github.com/shapesecurity/shift-shrink-js
- development is stagnant, stopped at es2019
- we use it in https://github.com/oxc-project/oxc-fuzz-parser
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the referenced Shift fuzzer at src/index.js and comparing it with oxc-fuzz-parser. Review shift-shrink-js and the other linked fuzzers to understand AST construction and shrinking. The issue does not define a target entry point or completion criteria, so the intended scope needs clarification before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- compilers, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100