Rothalyx ships corpus runners for its two most exposed parsers. rothalyx_loader_corpus_runner exercises binary loading, section mapping, symbol population, and rebasing against valid and malformed binaries. rothalyx_trace_corpus_runner exercises trace parsing against valid, truncated, oversized, and malformed traces. Both build under the asan-fuzz CMake preset.
The workflow is scripted: prepare_corpus.sh builds loader/ and trace/ corpora including seeds, malformed inputs, truncations, mutations, malformed-address cases, and oversized labels; quick passes run each runner with a --repeat count; and run_sustained_campaign.sh prepares a corpus, runs both replay runners, and writes timestamped logs, with repeat counts overridable via ROTHALYX_FUZZ_REPEAT_LOADER and ROTHALYX_FUZZ_REPEAT_TRACE.
The pass criterion is strict: malformed inputs must be rejected cleanly, and a crash, sanitizer finding, or unexpected termination is a failure. Sanitizer findings are release blockers until triaged, adversarial corpora are kept separate from benchmarks, and the sanitizer preset is meant to run after any parser or trace-ingestion change. A documented operational detail: under a tracer or restricted sandbox, LeakSanitizer may refuse to start, so the guidance is to disable leak detection for that session (ASAN_OPTIONS=detect_leaks=0) while keeping ASan and UBSan enabled. Published campaign results, crash counts, and coverage figures are Additional validation required.
REGAAN R