Developer ports 30M-download cron library to Go, uncovers bug fuzzing could never catch
A developer ported cron-parser, a TypeScript library with roughly 30 million npm downloads per month, to Go over a weekend, producing 2,234 lines of code with zero external dependencies. To verify correctness across two incompatible runtimes, they ran over 36,000 differential tests by treating the original TypeScript test suite as an oracle rather than translating it. Despite thorough fuzzing, a critical bug went undetected: the Go port defaulted to UTC while the TypeScript version inherited the system timezone via Luxon, causing 91 of 130 recorded test cases to silently return wrong results. The fuzzer had missed this entirely because every generated test explicitly supplied a timezone, bypassing the default-timezone code path altogether. The case highlights a structural limitation of differential fuzzing — generated test corpora can only probe assumptions the test author thought to encode, not implicit runtime behaviors.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in