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

Get rid of coverage.py #32

Merged
merged 1 commit into from Feb 9, 2020
Merged

Get rid of coverage.py #32

merged 1 commit into from Feb 9, 2020

Conversation

@jvoisin
Copy link
Contributor

jvoisin commented Jan 13, 2020

Coverage.py does a lot of funky things that we don't
care about, and while its trace function is written in C
and is super-fast-fuck-yeah, since it's using a sqlite
database to store everything, gathering coverage is slow.

A simple'n'stupid pure-python implementation of
edges-coverage yields 4 times more exec/s on my laptop.

This will also allow in the future to use other
kind of metrics to guide the fuzzer, like
the depth of the calltrace for example,
or to have triples instead of pairs for the edges, …

pythonfuzz/tracer.py Outdated Show resolved Hide resolved
pythonfuzz/tracer.py Outdated Show resolved Hide resolved
requirements.txt Show resolved Hide resolved
@gerph
gerph approved these changes Jan 14, 2020
Copy link
Contributor

gerph left a comment

4x executions is pretty awesome.

@yevgenypats
Copy link
Contributor

yevgenypats commented Jan 18, 2020

4x sounds good indeed. which coverage exactly this support now? edge?branch? Does it support for example if we have if a == 1 and b == 2 will it instrument it with 2 coverage points?

@jvoisin
Copy link
Contributor Author

jvoisin commented Jan 18, 2020

Edges and branches, but only at a line granularity, as I wanted other people's opinion on it before investing more time.
It should be hard to make it have one point per condition, since python exposes everything needed.

@jvoisin
Copy link
Contributor Author

jvoisin commented Feb 5, 2020

Friendly ping: what should I do with this pull-request to get it merged? :P

@yevgenypats
Copy link
Contributor

yevgenypats commented Feb 7, 2020

Hey:) can you rebase please, fix the conflicts and re-run the unit-tests?

@jvoisin jvoisin force-pushed the jvoisin:tracer branch from d5e9a87 to 8e7785c Feb 8, 2020
@jvoisin jvoisin force-pushed the jvoisin:tracer branch from 8e7785c to f9eb3d5 Feb 8, 2020
@yevgenypats yevgenypats merged commit b479a4d into fuzzitdev:master Feb 9, 2020
@jvoisin jvoisin deleted the jvoisin:tracer branch Jun 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.