Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzzer details

Fuzzer: FuzzDecode

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 172 51.6%
gold [1:9] 152 45.6%
yellow [10:29] 8 2.40%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1 0.30%
All colors 333 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
32 294 [org.brotli.dec.BrotliInputStream].read(byte[],int,int) call site: 00294
23 37 [org.brotli.dec.BitReader].doReadMoreInput(org.brotli.dec.State) call site: 00037
21 125 [org.brotli.dec.Decode].checkDupes(int[],int) call site: 00125
14 277 [org.brotli.dec.Decode].decompress(org.brotli.dec.State) call site: 00277
13 181 [org.brotli.dec.Utils].fillBytesWithZeroes(byte[],int,int) call site: 00181
10 114 [org.brotli.dec.Decode].readMetablockPartition(org.brotli.dec.State,int,int) call site: 00114
9 258 [org.brotli.dec.Decode].copyUncompressedData(org.brotli.dec.State) call site: 00258
6 10 [org.brotli.dec.BrotliInputStream]. (java.io.InputStream,int) call site: 00010
6 28 [org.brotli.dec.BrotliRuntimeException]. (java.lang.String) call site: 00028
6 157 [org.brotli.dec.BitReader].readBits(org.brotli.dec.State,int) call site: 00157
5 68 [org.brotli.dec.Decode].decodeWindowBits(org.brotli.dec.State) call site: 00068
4 237 [org.brotli.dec.Decode].decompress(org.brotli.dec.State) call site: 00237

Runtime coverage analysis

Covered functions
85
Functions that are reachable but not covered
34
Reachable functions
85
Percentage of reachable functions covered
60.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
FuzzDecode 1
java.lang.Math 4
java.io.ByteArrayInputStream 2
org.brotli.dec.BrotliInputStream 4
org.brotli.dec.State 1
org.brotli.dec.Utils 6
java.lang.Object 1
java.io.InputStream 2
java.lang.IllegalArgumentException 1
java.lang.StringBuilder 4
org.brotli.dec.Decode 35
java.lang.IllegalStateException 1
org.brotli.dec.BitReader 17
org.brotli.dec.BrotliRuntimeException 2
java.lang.RuntimeException 2
java.lang.Exception 2
java.lang.Throwable 4
sun.nio.fs.UnixException 1
java.lang.System 1
java.util.Objects 1
java.io.FileInputStream 1
java.lang.ProcessImpl$DeferredCloseInputStream 1
org.brotli.dec.Huffman 4
org.brotli.dec.Dictionary 1
org.brotli.dec.Transform 1
java.lang.String 2
java.lang.Integer 3
java.lang.StringUTF16 1
java.io.IOException 1
java.io.FilterInputStream 1
java.io.ObjectInputStream$BlockDataInputStream 1
java.util.zip.InflaterInputStream 1
java.lang.ProcessBuilder$NullInputStream 1
java.util.jar.Manifest$FastInputStream 1
java.io.ObjectInputStream$PeekInputStream 1
java.io.InputStream$1 1
java.io.BufferedInputStream 1
java.io.ObjectInputStream 1
java.io.BufferedInputStream:java.io.ByteArrayInputStream:java.io.DataInputStream:java.io.FileInputStream:java.io.FilterInputStream:java.io.InputStream$1:java.io.ObjectInputStream:java.io.ObjectInputStream$BlockDataInputStream:java.io.ObjectInputStream$PeekInputStream:java.lang.ProcessImpl$DeferredCloseInputStream:java.util.jar.JarInputStream:java.util.jar.Manifest$FastInputStream:java.util.zip.InflaterInputStream:java.util.zip.ZipInputStream 1