-
Notifications
You must be signed in to change notification settings - Fork 0
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
[WIP] Random weight and favored #6
base: master
Are you sure you want to change the base?
Conversation
Squashed commit of the following: commit e5c1aae Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 29 18:24:04 2021 +0700 fixed incorrect exec_per_sec formula commit 6c87212 Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 29 00:46:24 2021 +0700 implemented boost_fast_seqs commit 2bdcd30 Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 22 17:40:13 2021 +0700 address PR feedback commit f043b57 Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 22 13:56:29 2021 +0700 record the actual number of fuzz commit 50a865d Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 22 00:05:30 2021 +0700 enable boost and throuttle inputs commit 2ecdb45 Author: Jiradet Ounjai <[email protected]> Date: Thu Jun 17 18:06:22 2021 +0700 assign weighed random to each seed commit c757066 Author: Jiradet Ounjai <[email protected]> Date: Thu Jun 17 16:45:37 2021 +0700 random double in interval 0.0-1.0 commit 0069e15 Author: Jiradet Ounjai <[email protected]> Date: Thu Jun 17 14:16:30 2021 +0700 new way to initialize minimum rand commit 454f30d Author: Jiradet Ounjai <[email protected]> Date: Thu Jun 10 15:51:26 2021 +0700 add missing header commit 1ec660d Author: Jiradet Ounjai <[email protected]> Date: Wed Jun 9 22:55:57 2021 +0700 random uniformly the favored seeds
Squashed commit of the following: commit e5c1aae Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 29 18:24:04 2021 +0700 fixed incorrect exec_per_sec formula commit 6c87212 Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 29 00:46:24 2021 +0700 implemented boost_fast_seqs commit 2bdcd30 Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 22 17:40:13 2021 +0700 address PR feedback commit f043b57 Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 22 13:56:29 2021 +0700 record the actual number of fuzz commit 50a865d Author: Jiradet Ounjai <[email protected]> Date: Tue Jun 22 00:05:30 2021 +0700 enable boost and throuttle inputs commit 2ecdb45 Author: Jiradet Ounjai <[email protected]> Date: Thu Jun 17 18:06:22 2021 +0700 assign weighed random to each seed commit c757066 Author: Jiradet Ounjai <[email protected]> Date: Thu Jun 17 16:45:37 2021 +0700 random double in interval 0.0-1.0 commit 0069e15 Author: Jiradet Ounjai <[email protected]> Date: Thu Jun 17 14:16:30 2021 +0700 new way to initialize minimum rand commit 454f30d Author: Jiradet Ounjai <[email protected]> Date: Thu Jun 10 15:51:26 2021 +0700 add missing header commit 1ec660d Author: Jiradet Ounjai <[email protected]> Date: Wed Jun 9 22:55:57 2021 +0700 random uniformly the favored seeds
I am setting up the fuzzbench experiment with the following fuzzers.
@wuestholz, could you please help to confirm that I have correct fuzzers for the evaluation? |
@jiradeto Thanks! This will be a local experiment, right? Did you already run an experiment to compare increase_boost_inputs with new_increase_boost_fast_seqs (from #4 (comment))? If not we should also include just the increase_boost_inputs configuration. |
@wuestholz, yes I mean the local experiment. So, based on your your comment in another PR (#4 (comment)), I assume the current setting means the default value of
If this is the case, I will run local fuzzbench with the following fuzzers:
Could you please tell me if I am missing something? |
@jiradeto Great! Thanks! I think we don't need the fourth configuration. Could you please also update this PR to make 15.0 the default value? |
Let's add the following flags:
|
- add flag to toggle weighted rando selection
@wuestholz, does this mean that we disable both |
|
@wuestholz OK, that makes sense. But I am unsure when to use |
@jiradeto I see. I suggest we replace We can probably remove the |
@jiradeto Great! Thanks for the latest changes. There's only a small typo I noticed. I think we could try to set up a fuzzbench experiment with the following fuzzers:
Can you think of another setup that would be interesting? |
@wuestholz. Thanks for your recommendation! May be we could also try with the following setting:
BTW, you mean the local fuzzbench experiment or the public one? |
@jiradeto Sure, why not. :) Thanks! I was thinking a public one. |
@wuestholz, I feel that I'd rather at least have a local experiment result before I can go with the public one. Maybe we should start with the local experiment to see whether the above configurations behave properly? |
@jiradeto Sure, that's also fine with me. 👍 |
@jiradeto As discussed, I would first do the following:
Afterwards, it would be great if you could run a local experiment that compares the following:
The changes for the last configuration are: if (!enable_uniformly_random_favorites) {
// enable_boost_inputs
double base_weight_fac_boost_inputs = 1.0;
double max_weight_fac_incr = 7.0;
double scale_fac_boost_inputs = 0.001;
double num_selections = (double)q->num_fuzzed;
weight *= base_weight_fac_boost_inputs + max_weight_fac_incr / (scale_fac_boost_inputs * num_selections + 1.0);
// enable_boost_fast_seqs
double base_weight_fac_boost_fast = 8.0;
double max_weight_fac_decr = 7.0;
double scale_fac_boost_fast = 0.005;
double execs_per_sec = 1000000.0 / (double) q->exec_us;
weight *= base_weight_fac_boost_fast - max_weight_fac_decr / (scale_fac_boost_fast*execs_per_sec + 1.0);
} |
…_seed [WIP] Assign probability for random params per seed
[WIP] Randomize fuzzing params with prob
@jiradeto Thanks a lot! Looks like it's slightly better. If you agree I suggest we update the code. |
This PR is basically a combination of random favored idea #4 and weight random selection #5.