-
Notifications
You must be signed in to change notification settings - Fork 3
Realtime Coverage #195
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
base: main
Are you sure you want to change the base?
Realtime Coverage #195
Conversation
|
This is the error log: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please request review again once you have rebased the branch.
45bf034 to
2fcaade
Compare
wsodsong
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please add a short description to this PR explaining how coverage works? It would help greatly.
It snapshots runtime coverage every N operations. We read Go’s runtime coverage counters in-process, filter to Carmen packages, and track new coverage lines discovered since the previous snapshot. This is then used to boost the Markov chain weights of states so more weights is given towards unexplored code. This feedback loop makes the stochastic runner a coverage-guided fuzzer which is faster at surfacing untested paths instead of blindly following recorded frequencies. The previous replay sampled transitions purely from the Markov model. It could loop in frequent paths, miss rarer branches, and provided no coverage metrics or progress signal. |
matejmode
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good. Thanks
Description
Realtime Coverage
Type of change