Let me post a couple of links I've came across today (it comes out of this Twitter thread: https://twitter.com/backendsecret/status/1121290210464034816 ):
https://github.com/alexknvl/fuzzball -- it is a machine learning driven fuzzer for Scala which identifies quite a few bugs in Scala compiler. The beauty of ML is we don't need to somehow declare the grammar, but it can just learn from lots of samples. I've no idea if that would play well for SQL (we need to declare metadata somehow), however it might still work somehow. Then there's https://github.com/cretz/javan-warty-pig a fuzzer + bytecode agent to trace execution (it remembers the taken paths, so it distinguishes "different" executions. https://github.com/alexknvl/tracehash -- a library that produces short summaries for exception stacktraces. Those signatures might be a good aid for "stackoverflow-guided-development" (== we might want to print stacktrace signatures by default for Calcite exceptions). Vladimir
