A two-part blog series posted on secret.club.
Part 1 concerns the regex crate from Rust, investigating how limitations of original harnesses prevented the discovery of bugs which were shallow under grammar testing. We then discuss how the replacement was also limited, and introduce the concept of the data reinterpretation problem.
Part 2 concerns PCRE2, likely the most widely-used regex library. This overviews the limitations and issues associated with OSS-Fuzz and how learned helplessness and simple oversights contributed to missing dozens of bugs in the JIT compiler of PCRE2.