Skip to content

Fuzz: Add curated seed corpus - #2530

Open
LucaCappelletti94 wants to merge 1 commit into
fuzz-roundtrip-harnessfrom
fuzz-seed-corpus
Open

LucaCappelletti94 wants to merge 1 commit into
fuzz-roundtrip-harnessfrom
fuzz-seed-corpus

Conversation

@LucaCappelletti94

@LucaCappelletti94 LucaCappelletti94 commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Step 4 of #2519, stacked on the roundtrip harness branch.

Adds 195 seed inputs in fuzz/fuzz_seeds/, with some from https://github.com/LucaCappelletti94/sql_ast_benchmark and others from the test suite.

build.sh now packages the directory as <target>_seed_corpus.zip next to each binary, which is the OSS-Fuzz and ClusterFuzzLite convention, so code-change and batch runs start from it instead of from random bytes. fuzz/fuzz_seeds/* is added to the RAT exclusions.

With this hot-start, the fuzz_parse_sql and fuzz_parse_roundtrip harnesses reach cov 10938 edges (previously 3238) and 12579 (previously 3360) respectively, in the same 30 seconds window.

The cluster CI job finally starts to actually mine bugs :)

54 hand-written seeds cover the statement grammar, comments, quoting and
dialect-specific syntax. 141 statements are sampled and deduplicated from the
dialect datasets of LucaCappelletti94/sql_ast_benchmark, re-licensed from MIT
to Apache-2.0 by the same sole author.

build.sh packages the seeds as <target>_seed_corpus.zip so ClusterFuzzLite
code-change and batch runs start from them. Every seed parses under at least
one of the 14 fuzzed dialects and round-trips cleanly through Display.
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.

1 participant