Add differential fuzzing between different regex engines
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4k
- Forks
- 534
- PR merge metrics
- No merged PRs in 30d
Description
We observed some success with differential fuzzing between the regex 1.8 and 1.9 in #848. The 1.9 release promises to have many different engines with different optimisation strategies; it would be good to take advantage of this to verify the engines with each other, which may identify subtle bugs with the compilation or execution of regexes.
This is discussed in some detail (with a proof of concept) in #978 but requires quite a bit more engineering, and can only really be written by someone intimately familiar with the 1.9 release as it would need to account for all potential use cases of the crate.
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 proof of concept and discussion in issue #978, then review the earlier differential-fuzzing work in #848. Understand the regex 1.9 engine implementations and their potential use cases before designing the comparison approach. Done means differential fuzzing can verify the engines against one another and expose compilation or execution bugs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100