You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-21Lines changed: 15 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,13 +23,10 @@
23
23
</div>
24
24
25
25
> [!IMPORTANT]
26
-
> Hello users!
26
+
> **Jazzer** is back under the **Apache 2.0 license**!
27
27
>
28
-
> We are thrilled to announce that **Jazzer** is now back under the **Apache 2.0 license**!
29
-
>
30
-
> A year ago, we temporarily stopped maintaining Jazzer as open source.
31
-
> During this time, we received incredible feedback, support, and ideas from
32
-
> the community, which motivated us to find a way to bring Jazzer back to the
28
+
> We previously paused open-source maintenance but the incredible feedback, support, and ideas from
29
+
> the community motivated us to find a way to bring Jazzer back to the
33
30
> open-source world.
34
31
>
35
32
> Thanks to your enthusiasm and contributions, and a special callout to the
@@ -57,28 +54,27 @@ The following steps assume that JUnit 5.9.0 or higher is set up for your project
57
54
1. Add a dependency on `com.code-intelligence:jazzer-junit:<latest version>`.
58
55
All Jazzer Maven artifacts are signed with [this key](deploy/maven.pub).
59
56
2. Add a new *fuzz test* to a new or existing test class: a method annotated with [`@FuzzTest`](https://codeintelligencetesting.github.io/jazzer-docs/jazzer-junit/com/code_intelligence/jazzer/junit/FuzzTest.html) and at least one parameter.
60
-
Using a single parameter of type [`FuzzedDataProvider`](https://codeintelligencetesting.github.io/jazzer-docs/jazzer-api/com/code_intelligence/jazzer/api/FuzzedDataProvider.html), which provides utility functions to produce commonly used Java values, or `byte[]` is recommended for optimal performance and reproducibility of findings.
57
+
A list of supported parameter types can be found in the [documentation](docs/junit-integration.md#supported-types).
61
58
3. Assuming your test class is called `com.example.MyFuzzTests`, create the *inputs directory*`src/test/resources/com/example/MyFuzzTestsInputs`.
62
59
4. Run a fuzz test with the environment variable `JAZZER_FUZZ` set to `1` to let the fuzzer rapidly try new sets of arguments.
63
60
If the fuzzer finds arguments that make your fuzz test fail or even trigger a security issue, it will store them in the inputs directory.
64
61
In this mode, only a single fuzz test is executed per test run (see [#599](https://github.com/CodeIntelligenceTesting/jazzer/issues/599) for details).
65
62
5. Run the fuzz test without `JAZZER_FUZZ` set to execute it only on the inputs in the inputs directory.
66
63
This mode, which behaves just like a traditional unit test, ensures that issues previously found by the fuzzer remain fixed and can also be used to debug the fuzz test on individual inputs.
67
64
68
-
A simple property-based fuzz test could look like this (excluding imports):
65
+
A simple property-based fuzz test could look like this:
@@ -91,7 +87,7 @@ A detailed description of the JUnit integration can be found in the [documentati
91
87
You can also use GitHub release archives to run a standalone Jazzer binary that starts its own JVM configured for fuzzing:
92
88
93
89
1. Download and extract the latest release from the [GitHub releases page](https://github.com/CodeIntelligenceTesting/jazzer/releases).
94
-
2. Add a new class to your project with a <code>public static void fuzzerTestOneInput(<ahref="https://codeintelligencetesting.github.io/jazzer-docs/jazzer-api/com/code_intelligence/jazzer/api/FuzzedDataProvider.html">FuzzedDataProvider</a> data)</code> method.
90
+
2. Add a new class to your project with a <code>public static void fuzzerTestOneInput(String par1, int par2, int[] par3, ...)</code> method, with the parameters you want to use in the fuzz test.
95
91
3. Compile your fuzz test with `jazzer_standalone.jar` on the classpath.
96
92
4. Run the `jazzer` binary (`jazzer.exe` on Windows), specifying the classpath and fuzz test class:
97
93
@@ -146,5 +142,3 @@ Previously, Jazzer used AFL-style coverage instrumentation as pioneered by [keli
0 commit comments