Skip to content
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

numeric metric for calltree bitmap? #406

Closed
oliverchang opened this issue Jul 20, 2022 · 9 comments · Fixed by #420
Closed

numeric metric for calltree bitmap? #406

oliverchang opened this issue Jul 20, 2022 · 9 comments · Fixed by #420

Comments

@oliverchang
Copy link
Contributor

It may be useful for devs to compare the improvements they made wrt calltree bitmap. Right now the only way to do this is to eyeball the colouring on the report.

Would it make sense to add a percentage value here?

@Navidem
Copy link
Contributor

Navidem commented Jul 21, 2022

Good point to have a machine readable metric here. To be more precise, you are referring to this color map for extracting a numerical digest, right?

image

@oliverchang
Copy link
Contributor Author

yep!

@DavidKorczynski
Copy link
Contributor

DavidKorczynski commented Jul 21, 2022

The Runtime coverage analysis shown for each fuzzer gives a percentage of what is covered at runtime wrt to the statically reachable code for the given fuzzer, which is a numeric metric representation of the data shown in the calltree.
Screenshot from 2022-07-21 11-41-06

Does this capture what you're looking for? if so, perhaps the UX around the data presentation should be improved?

@DavidKorczynski
Copy link
Contributor

Related to this, it might be nice to include some form of historical data in fuzz introspector (i.e. data from many coverage analysis runs and/or static analysis runs) so that we can do data analysis on progress/deterioration.

@oliverchang
Copy link
Contributor Author

Thanks, it wasn't clear to me that this was the same metric -- i.e. is that number talking about functions or call sites?

@oliverchang
Copy link
Contributor Author

@DavidKorczynski would it make sense to clarify this part in the UI? Is this measuring covered functions / reachable functions or covered callsites / reachable callsites? Or am I horribly misunderstanding something here?

@DavidKorczynski
Copy link
Contributor

@DavidKorczynski would it make sense to clarify this part in the UI?

It would. I'm working on improving doc and user experience these days. Will try to make this more intuitive.

Is this measuring covered functions / reachable functions or covered callsites / reachable callsites? Or am I horribly misunderstanding something here?

The representation I showed is missing functions and not callsites which is what the calltree represents, which is what the bitmap shows. On that note I agree we should get a numeric representation of the callsites. Good catch.

DavidKorczynski added a commit to DavidKorczynski/fuzz-introspector-2 that referenced this issue Jul 29, 2022
@DavidKorczynski
Copy link
Contributor

#420 fixes this in the following way:
Screenshot from 2022-07-29 16-21-53
The border around the colored text is needed as otherwise the yellow can be difficult to see -- the design may need some improvements later. However, it adds numeric metric for the calltree.

@DavidKorczynski
Copy link
Contributor

Minor update, to also show the percentage:

Screenshot from 2022-07-29 16-41-48

AdamKorcz pushed a commit that referenced this issue Jul 29, 2022
* report: add numeric represntation of calltree

Fixes: #406

* remove f strings when not needed

* Add percentage data

* rephrase
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants