-
Notifications
You must be signed in to change notification settings - Fork 161
runtime: Improve Map
instrumentation
#845
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
Conversation
Stacked on #843, otherwise ready for review. |
Map
instrumentationMap
instrumentation
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.
Nice addition!
As we're at it, should we also hook remove
and replace
to potentially mutate maps in another interesting ways?
src/main/java/com/code_intelligence/jazzer/runtime/TraceCmpHooks.java
Outdated
Show resolved
Hide resolved
99840fd
to
5c10d89
Compare
I thought about that but couldn't come up with common cases in which this would meaningfully influence control flow. For example, most of the time the return value of |
5c10d89
to
8f0a4f8
Compare
Then let's think about this a little longer. Perhaps we find a proper use-case. |
8f0a4f8
to
7f6663c
Compare
Just to understand your point better: Would you prefer to think about this more after or before we consider merging this PR? I'm fine with both :-) |
Ah, afterwards! Let's get this merged and perhaps our subconscious comes up with a valid use-case 😄 |
*hits auto-merge* :-) |
90baa56
to
a569c8a
Compare
The fuzzer still finds the issue in ~2-3 minutes as verified manually.
With a dynamic map, this very quickly overflows the feature table and stalls fuzzer progress due to the rapidly increasing feature count for distinct keys. In the future, we may be able to detect static keys and reenable this more fine-grained tracking.
7df641f
to
9f156e8
Compare
9f156e8
to
84671c9
Compare
84671c9
to
9940157
Compare
No description provided.