Commit f90c39d
committed
mutation: Use
The benchmarks in `//tests/benchmarks` show that biasing the size of
subsets of collections of primitives chosen by the mutator to be small
results in much worse performance than a comparable unstructured fuzz
test.
Before this change, 11 out of 15 runs time out with no run limit, the
other ones result in:
```
{
"values": [
11143,
28128,
581194,
4229980
],
"minimum": 11143,
"maximum": 4229980,
"average": 1212611.25,
"median": 304661
}
```
After this change, all runs pass within a limit of 35,000 runs:
```
{
"values": [
887,
1557,
1889,
2557,
3023,
3346,
3517,
6075,
6613,
7991,
9578,
10850,
15583,
23638,
31046
],
"minimum": 887,
"maximum": 31046,
"average": 8543.333333333334,
"median": 6075
}
```
ExperimentalMutatorComplexProtoFuzzer now takes more runs on Linux, but
still less than on other platforms, which seems to indicate that the
Linux seed just happened to be a lucky choice.hasFixedSize in sizeInClosedRange
1 parent a9f5255 commit f90c39d
File tree
4 files changed
+9
-9
lines changed- .github/workflows
- src/main/java/com/code_intelligence/jazzer/mutation/engine
- tests
- benchmarks
4 files changed
+9
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
252 | 252 | | |
253 | 253 | | |
254 | 254 | | |
255 | | - | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
256 | 260 | | |
257 | 261 | | |
258 | 262 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
523 | 523 | | |
524 | 524 | | |
525 | 525 | | |
526 | | - | |
527 | 526 | | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | | - | |
532 | | - | |
| 527 | + | |
| 528 | + | |
533 | 529 | | |
534 | 530 | | |
535 | 531 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
0 commit comments