-
Notifications
You must be signed in to change notification settings - Fork 578
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SQL Smith: Measure Coverage #7825
Comments
We want to implement coverage-guided fuzzing? 😲 |
@xxchan not sure. The first step is to measure how good our coverage is before determining if we need to improve the fuzz test generation. The automatic improvement (coverage-guided) part is optional, tuning it manually is also an option @kwannoel The measurement part is definitely the first step to implement coverage-guided fuzzing, and we can define more useful metrics as we go along, especially if it helps us catch actual bugs in the e2e setting as a result. |
A simple thing to do is enable |
How do we measure the coverage in general now? We used to have similar discussions and the final conclusion was that the coverage is hard to be calculated if taking e2e tests into account. E2e is not covered by general Rust coverage tools. |
AFAIK, for unit tests we use I don't think there are currently other things measuring coverage apart from unit test. |
I think we can still get coverage via deterministic test. Secondly, we can use LLVM to instrument the deterministic test all in one binary to get a better coverage. |
#32 I didn't find any conclusion. It seems that there are just no follow-ups. 🤪 |
Shall we close this? |
Still needed eventually I think. Can just remove from milestone but leave open to track. |
Is your feature request related to a problem? Please describe.
I noticed that the plans generated often evaluate to very idiosyncratic queries. Hence, I am worried about the actual coverage. I believe the coverage for frontend/optimizer side may be ok, but am more worried about the e2e testing (batch and stream part).
As an anecdote, a bunch of errors were caught in the frontend due to const eval but were not caught in the batch/stream executors.
Describe the solution you'd like
I am suggested several ideas to get a better understanding of the e2e coverage:
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: