The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.
For further technical details on the meaning of columns in the below table, please see the Glossary .
Func name | Functions filename | Args | Function call depth | Reached by Fuzzers | Fuzzers runtime hit | Func lines hit % | I Count | BB Count | Cyclomatic complexity | Functions reached | Reached by functions | Accumulated cyclomatic complexity | Undiscovered complexity |
---|
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 | 2254 | 90.2% |
gold | [1:9] | 0 | 0.0% |
yellow | [10:29] | 0 | 0.0% |
greenyellow | [30:49] | 0 | 0.0% |
lawngreen | 50+ | 243 | 9.73% |
All colors | 2497 | 100 |
The following nodes represent call sites where fuzz blockers occur.
Amount of callsites blocked | Calltree index | Parent function | Callsite | Largest blocked function |
---|---|---|---|---|
1116 | 519 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00519 | |
724 | 1636 | [com.google.gson.JsonObject].add(java.lang.String,com.google.gson.JsonElement) | call site: 01636 | |
89 | 49 | [com.google.gson.internal.$Gson$Types].canonicalize(java.lang.reflect.Type) | call site: 00049 | |
70 | 402 | [com.google.gson.stream.JsonReader].beginObject() | call site: 00402 | |
30 | 336 | [com.google.gson.stream.JsonReader].hasNext() | call site: 00336 | |
29 | 232 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00232 | |
22 | 281 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00281 | |
18 | 491 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00491 | |
15 | 475 | [com.google.gson.stream.JsonReader].nextName() | call site: 00475 | |
12 | 304 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00304 | |
11 | 367 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00367 | |
11 | 2401 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 02401 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
FuzzReader | 1 |
com.google.gson.Gson | 10 |
com.google.gson.internal.ConstructorConstructor | 7 |
com.google.gson.internal.bind.ObjectTypeAdapter | 7 |
com.google.gson.internal.bind.ObjectTypeAdapter$1 | 2 |
com.google.gson.Gson$3 | 2 |
com.google.gson.TypeAdapter | 2 |
com.google.gson.internal.bind.TypeAdapters | 2 |
com.google.gson.internal.bind.TypeAdapters$32 | 2 |
com.google.gson.Gson$1 | 2 |
com.google.gson.Gson$2 | 2 |
com.google.gson.internal.bind.NumberTypeAdapter | 4 |
com.google.gson.internal.bind.NumberTypeAdapter$1 | 2 |
com.google.gson.Gson$4 | 2 |
com.google.gson.TypeAdapter$1 | 2 |
com.google.gson.internal.bind.TypeAdapters$31 | 2 |
com.google.gson.Gson$5 | 2 |
com.google.gson.internal.bind.CollectionTypeAdapterFactory | 2 |
com.google.gson.internal.bind.MapTypeAdapterFactory | 3 |
com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory | 7 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory | 8 |
com.google.gson.reflect.TypeToken | 8 |
com.google.gson.internal.$Gson$Types | 21 |
com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl | 5 |
com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl | 8 |
com.google.gson.internal.Excluder | 12 |
com.google.gson.internal.$Gson$Preconditions | 1 |
com.google.gson.internal.$Gson$Types$WildcardTypeImpl | 6 |
com.google.gson.JsonObject | 5 |
com.google.gson.JsonNull | 2 |
com.google.gson.internal.NonNullElementWrapperList | 4 |
com.google.gson.JsonPrimitive | 16 |
com.google.gson.internal.LazilyParsedNumber | 7 |
com.google.gson.internal.LinkedTreeMap$Node | 6 |
com.google.gson.JsonArray | 5 |
com.google.gson.internal.LinkedTreeMap | 12 |
com.google.gson.internal.LinkedTreeMap$1 | 2 |
com.google.gson.Gson$FutureTypeAdapter | 4 |
com.google.gson.internal.bind.SerializationDelegatingTypeAdapter | 1 |
com.google.gson.JsonStreamParser | 2 |
com.google.gson.stream.JsonReader | 41 |
com.google.gson.internal.bind.JsonTreeReader$1 | 1 |
com.google.gson.internal.bind.JsonTreeReader | 25 |
com.google.gson.stream.MalformedJsonException | 1 |
com.google.gson.internal.TroubleshootingGuide | 1 |
com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator | 3 |
com.google.gson.internal.Streams | 1 |
com.google.gson.internal.bind.TypeAdapters$23 | 1 |
com.google.gson.internal.bind.TypeAdapters$12 | 1 |
com.google.gson.internal.sql.SqlTimeTypeAdapter | 3 |
com.google.gson.JsonSyntaxException | 3 |
com.google.gson.JsonParseException | 3 |
com.google.gson.internal.bind.TypeAdapters$18 | 1 |
com.google.gson.internal.bind.TypeAdapters$10 | 1 |
com.google.gson.internal.bind.TypeAdapters$6 | 1 |
com.google.gson.internal.bind.TypeAdapters$7 | 1 |
com.google.gson.internal.bind.TypeAdapters$21 | 1 |
com.google.gson.internal.LinkedTreeMap$EntrySet | 2 |
com.google.gson.internal.LinkedTreeMap$KeySet | 1 |
com.google.gson.internal.LinkedTreeMap$KeySet$1 | 2 |
com.google.gson.internal.LinkedTreeMap$EntrySet$1 | 2 |
com.google.gson.ToNumberPolicy$4 | 1 |
com.google.gson.ToNumberPolicy$2 | 1 |
com.google.gson.ToNumberPolicy$3 | 1 |
com.google.gson.ToNumberPolicy$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$2 | 1 |
com.google.gson.internal.bind.TypeAdapters$15 | 1 |
com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper | 2 |
com.google.gson.internal.sql.SqlTimestampTypeAdapter | 3 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter | 2 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$RecordAdapter | 4 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter | 3 |
com.google.gson.internal.ConstructorConstructor$14 | 2 |
com.google.gson.internal.ConstructorConstructor$3 | 2 |
com.google.gson.JsonIOException | 3 |
com.google.gson.internal.ConstructorConstructor$9 | 2 |
com.google.gson.internal.reflect.ReflectionHelper | 14 |
com.google.gson.internal.ConstructorConstructor$19 | 2 |
com.google.gson.internal.UnsafeAllocator$3 | 1 |
com.google.gson.internal.UnsafeAllocator | 2 |
com.google.gson.internal.UnsafeAllocator$1 | 1 |
com.google.gson.internal.UnsafeAllocator$4 | 1 |
com.google.gson.internal.UnsafeAllocator$2 | 1 |
com.google.gson.internal.ConstructorConstructor$18 | 2 |
com.google.gson.internal.ConstructorConstructor$8 | 2 |
com.google.gson.internal.ConstructorConstructor$15 | 2 |
com.google.gson.internal.ConstructorConstructor$1 | 2 |
com.google.gson.internal.ConstructorConstructor$5 | 2 |
com.google.gson.internal.ConstructorConstructor$6 | 2 |
com.google.gson.internal.ConstructorConstructor$11 | 2 |
com.google.gson.internal.ConstructorConstructor$7 | 2 |
com.google.gson.internal.ConstructorConstructor$16 | 2 |
com.google.gson.internal.ConstructorConstructor$20 | 2 |
com.google.gson.internal.ConstructorConstructor$12 | 2 |
com.google.gson.internal.ConstructorConstructor$17 | 2 |
com.google.gson.internal.ConstructorConstructor$13 | 2 |
com.google.gson.internal.ConstructorConstructor$10 | 2 |
com.google.gson.internal.ConstructorConstructor$4 | 2 |
com.google.gson.internal.ConstructorConstructor$2 | 2 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 | 3 |
com.google.gson.internal.bind.TreeTypeAdapter | 4 |
com.google.gson.internal.ConstructorConstructor$1:com.google.gson.internal.ConstructorConstructor$2 | 1 |
com.google.gson.internal.ReflectionAccessFilterHelper | 7 |
com.google.gson.ReflectionAccessFilter$4 | 1 |
com.google.gson.ReflectionAccessFilter$3 | 1 |
com.google.gson.ReflectionAccessFilter$2 | 1 |
com.google.gson.ReflectionAccessFilter$1 | 1 |
com.google.gson.internal.ReflectionAccessFilterHelper$AccessChecker$1 | 1 |
com.google.gson.internal.ReflectionAccessFilterHelper$AccessChecker$2 | 1 |
com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter | 2 |
com.google.gson.internal.sql.SqlTimestampTypeAdapter$1 | 1 |
com.google.gson.internal.reflect.ReflectionHelper$RecordSupportedHelper | 4 |
com.google.gson.internal.reflect.ReflectionHelper$RecordNotSupportedHelper | 4 |
com.google.gson.FieldAttributes | 1 |
com.google.gson.FieldNamingPolicy$2 | 1 |
com.google.gson.FieldNamingPolicy | 2 |
com.google.gson.FieldNamingPolicy$5 | 1 |
com.google.gson.FieldNamingPolicy$7 | 1 |
com.google.gson.FieldNamingPolicy$4 | 1 |
com.google.gson.FieldNamingPolicy$1 | 1 |
com.google.gson.FieldNamingPolicy$3 | 1 |
com.google.gson.FieldNamingPolicy$6 | 1 |
com.google.gson.internal.Primitives | 1 |
com.google.gson.internal.bind.DateTypeAdapter$1 | 1 |
com.google.gson.internal.bind.DateTypeAdapter | 3 |
com.google.gson.internal.JavaVersion | 1 |
com.google.gson.internal.PreJava9DateFormatProvider | 3 |
com.google.gson.internal.Excluder$1 | 3 |
com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter | 2 |
com.google.gson.internal.bind.TypeAdapters$29 | 1 |
com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter | 2 |
com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter$1 | 2 |
com.google.gson.internal.bind.ArrayTypeAdapter$1 | 1 |
com.google.gson.internal.bind.ArrayTypeAdapter | 2 |
com.google.gson.internal.sql.SqlDateTypeAdapter$1 | 1 |
com.google.gson.internal.sql.SqlDateTypeAdapter | 3 |
com.google.gson.internal.sql.SqlTimeTypeAdapter$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$33 | 1 |
com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory$DummyTypeAdapterFactory | 1 |
com.google.gson.internal.bind.TreeTypeAdapter$SingleTypeFactory | 1 |
com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl | 2 |
com.google.gson.internal.bind.TypeAdapters$30 | 1 |
com.google.gson.internal.bind.TypeAdapters$34 | 1 |
com.google.gson.internal.bind.TypeAdapters$34$1 | 2 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField | 1 |
com.google.gson.internal.bind.TypeAdapters$22 | 1 |
com.google.gson.internal.bind.TypeAdapters$3 | 1 |
com.google.gson.internal.bind.TypeAdapters$24 | 1 |
com.google.gson.internal.bind.TypeAdapters$25 | 1 |
com.google.gson.internal.bind.TypeAdapters$19 | 1 |
com.google.gson.internal.bind.TypeAdapters$9 | 1 |
com.google.gson.internal.bind.TypeAdapters$13 | 1 |
com.google.gson.internal.bind.TypeAdapters$5 | 1 |
com.google.gson.internal.bind.TypeAdapters$27 | 1 |
com.google.gson.internal.bind.TypeAdapters$11 | 1 |
com.google.gson.internal.bind.TypeAdapters$8 | 1 |
com.google.gson.internal.bind.TypeAdapters$1 | 1 |
com.google.gson.internal.bind.util.ISO8601Utils | 4 |
com.google.gson.internal.bind.TypeAdapters$14 | 1 |
com.google.gson.internal.bind.TypeAdapters$17 | 1 |
com.google.gson.internal.bind.TypeAdapters$20 | 1 |
com.google.gson.internal.bind.TypeAdapters$4 | 1 |
com.google.gson.internal.bind.TypeAdapters$16 | 1 |
com.google.gson.internal.bind.DefaultDateTypeAdapter | 2 |
com.google.gson.internal.sql.SqlTypesSupport$2 | 1 |
com.google.gson.internal.sql.SqlTypesSupport$1 | 1 |
com.google.gson.internal.bind.DefaultDateTypeAdapter$DateType$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$28 | 3 |
com.google.gson.JsonElement | 2 |
com.google.gson.internal.bind.TypeAdapters$26 | 1 |
com.google.gson.stream.JsonReader$1 | 1 |
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 | 2226 | 92.5% |
gold | [1:9] | 0 | 0.0% |
yellow | [10:29] | 0 | 0.0% |
greenyellow | [30:49] | 0 | 0.0% |
lawngreen | 50+ | 178 | 7.40% |
All colors | 2404 | 100 |
The following nodes represent call sites where fuzz blockers occur.
Amount of callsites blocked | Calltree index | Parent function | Callsite | Largest blocked function |
---|---|---|---|---|
1341 | 1000 | [com.google.gson.Gson].getAdapter(com.google.gson.reflect.TypeToken) | call site: 01000 | |
163 | 485 | [com.google.gson.internal.$Gson$Types].canonicalize(java.lang.reflect.Type) | call site: 00485 | |
131 | 665 | [com.google.gson.Gson].getAdapter(com.google.gson.reflect.TypeToken) | call site: 00665 | |
112 | 832 | [com.google.gson.Gson].getAdapter(com.google.gson.reflect.TypeToken) | call site: 00832 | |
93 | 309 | [com.google.gson.internal.LinkedTreeMap].rebalance(com.google.gson.internal.LinkedTreeMap$Node,boolean) | call site: 00309 | |
82 | 206 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00206 | |
42 | 403 | [com.google.gson.stream.JsonReader].beginArray() | call site: 00403 | |
35 | 447 | [com.google.gson.internal.LinkedTreeMap].put(java.lang.Object,java.lang.Object) | call site: 00447 | |
28 | 164 | [com.google.gson.stream.JsonReader].beginObject() | call site: 00164 | |
23 | 79 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00079 | |
21 | 117 | [com.google.gson.stream.JsonReader].nextQuotedValue(char) | call site: 00117 | |
15 | 945 | [com.google.gson.Gson].getAdapter(com.google.gson.reflect.TypeToken) | call site: 00945 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
FuzzStreamParser | 1 |
com.google.gson.JsonStreamParser | 4 |
com.google.gson.stream.JsonReader | 40 |
com.code_intelligence.jazzer.api.FuzzedDataProvider | 1 |
com.google.gson.internal.bind.JsonTreeReader | 25 |
com.google.gson.internal.LinkedTreeMap$KeySet$1 | 2 |
com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator | 3 |
com.google.gson.internal.LinkedTreeMap$EntrySet$1 | 2 |
com.google.gson.internal.Streams | 1 |
com.google.gson.internal.bind.JsonTreeReader$1 | 1 |
com.google.gson.stream.MalformedJsonException | 1 |
com.google.gson.internal.TroubleshootingGuide | 1 |
com.google.gson.internal.bind.TypeAdapters$7 | 1 |
com.google.gson.JsonPrimitive | 16 |
com.google.gson.internal.LazilyParsedNumber | 7 |
com.google.gson.JsonSyntaxException | 3 |
com.google.gson.JsonParseException | 3 |
com.google.gson.internal.bind.TypeAdapters$25 | 1 |
com.google.gson.internal.bind.TypeAdapters$26 | 1 |
com.google.gson.JsonObject | 5 |
com.google.gson.internal.LinkedTreeMap | 12 |
com.google.gson.internal.LinkedTreeMap$EntrySet | 2 |
com.google.gson.internal.LinkedTreeMap$KeySet | 1 |
com.google.gson.internal.LinkedTreeMap$Node | 6 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter | 2 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter | 3 |
com.google.gson.internal.ConstructorConstructor$9 | 2 |
com.google.gson.internal.reflect.ReflectionHelper | 14 |
com.google.gson.internal.ConstructorConstructor$11 | 2 |
com.google.gson.internal.ConstructorConstructor$12 | 2 |
com.google.gson.internal.ConstructorConstructor$18 | 2 |
com.google.gson.internal.ConstructorConstructor$13 | 2 |
com.google.gson.internal.ConstructorConstructor$14 | 2 |
com.google.gson.internal.ConstructorConstructor$2 | 2 |
com.google.gson.internal.ConstructorConstructor$8 | 2 |
com.google.gson.JsonIOException | 3 |
com.google.gson.internal.ConstructorConstructor$15 | 2 |
com.google.gson.internal.ConstructorConstructor$6 | 2 |
com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl | 8 |
com.google.gson.internal.Excluder | 12 |
com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl | 5 |
com.google.gson.internal.$Gson$Types | 21 |
com.google.gson.internal.$Gson$Types$WildcardTypeImpl | 6 |
com.google.gson.internal.ConstructorConstructor$4 | 2 |
com.google.gson.internal.ConstructorConstructor$19 | 2 |
com.google.gson.internal.UnsafeAllocator$1 | 1 |
com.google.gson.internal.UnsafeAllocator | 2 |
com.google.gson.internal.ConstructorConstructor | 6 |
com.google.gson.internal.UnsafeAllocator$2 | 1 |
com.google.gson.internal.UnsafeAllocator$4 | 1 |
com.google.gson.internal.UnsafeAllocator$3 | 1 |
com.google.gson.internal.ConstructorConstructor$16 | 2 |
com.google.gson.internal.ConstructorConstructor$7 | 2 |
com.google.gson.internal.ConstructorConstructor$10 | 2 |
com.google.gson.internal.ConstructorConstructor$17 | 2 |
com.google.gson.internal.ConstructorConstructor$3 | 2 |
com.google.gson.internal.ConstructorConstructor$20 | 2 |
com.google.gson.internal.ConstructorConstructor$5 | 2 |
com.google.gson.internal.ConstructorConstructor$1 | 2 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$RecordAdapter | 4 |
com.google.gson.internal.LinkedTreeMap$1 | 2 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 | 3 |
com.google.gson.internal.bind.TypeAdapters$8 | 1 |
com.google.gson.internal.bind.TypeAdapters$22 | 1 |
com.google.gson.internal.sql.SqlDateTypeAdapter | 3 |
com.google.gson.Gson$3 | 1 |
com.google.gson.internal.bind.TypeAdapters$28 | 3 |
com.google.gson.JsonArray | 5 |
com.google.gson.JsonElement | 2 |
com.google.gson.internal.Excluder$1 | 3 |
com.google.gson.Gson | 3 |
com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory | 6 |
com.google.gson.reflect.TypeToken | 8 |
com.google.gson.internal.ConstructorConstructor$1:com.google.gson.internal.ConstructorConstructor$2 | 1 |
com.google.gson.internal.$Gson$Preconditions | 1 |
com.google.gson.internal.NonNullElementWrapperList | 4 |
com.google.gson.JsonNull | 2 |
com.google.gson.internal.ReflectionAccessFilterHelper | 7 |
com.google.gson.ReflectionAccessFilter$1 | 1 |
com.google.gson.ReflectionAccessFilter$4 | 1 |
com.google.gson.ReflectionAccessFilter$2 | 1 |
com.google.gson.ReflectionAccessFilter$3 | 1 |
com.google.gson.internal.ReflectionAccessFilterHelper$AccessChecker$1 | 1 |
com.google.gson.internal.ReflectionAccessFilterHelper$AccessChecker$2 | 1 |
com.google.gson.internal.sql.SqlTimestampTypeAdapter$1 | 1 |
com.google.gson.Gson$FutureTypeAdapter | 4 |
com.google.gson.internal.bind.SerializationDelegatingTypeAdapter | 1 |
com.google.gson.TypeAdapter | 2 |
com.google.gson.internal.bind.TypeAdapters$32 | 1 |
com.google.gson.internal.bind.CollectionTypeAdapterFactory | 1 |
com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter | 2 |
com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper | 2 |
com.google.gson.internal.bind.TypeAdapters$29 | 1 |
com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter | 2 |
com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter$1 | 2 |
com.google.gson.internal.sql.SqlTimeTypeAdapter$1 | 1 |
com.google.gson.internal.sql.SqlTimeTypeAdapter | 3 |
com.google.gson.internal.bind.TypeAdapters$30 | 1 |
com.google.gson.internal.bind.ArrayTypeAdapter$1 | 1 |
com.google.gson.internal.bind.ArrayTypeAdapter | 2 |
com.google.gson.internal.bind.DateTypeAdapter$1 | 1 |
com.google.gson.internal.bind.DateTypeAdapter | 3 |
com.google.gson.internal.JavaVersion | 1 |
com.google.gson.internal.PreJava9DateFormatProvider | 3 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory | 7 |
com.google.gson.internal.reflect.ReflectionHelper$RecordSupportedHelper | 4 |
com.google.gson.internal.reflect.ReflectionHelper$RecordNotSupportedHelper | 4 |
com.google.gson.FieldAttributes | 1 |
com.google.gson.FieldNamingPolicy$4 | 1 |
com.google.gson.FieldNamingPolicy | 2 |
com.google.gson.FieldNamingPolicy$1 | 1 |
com.google.gson.FieldNamingPolicy$6 | 1 |
com.google.gson.FieldNamingPolicy$7 | 1 |
com.google.gson.FieldNamingPolicy$5 | 1 |
com.google.gson.FieldNamingPolicy$3 | 1 |
com.google.gson.FieldNamingPolicy$2 | 1 |
com.google.gson.internal.Primitives | 1 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField | 1 |
com.google.gson.internal.bind.MapTypeAdapterFactory | 2 |
com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter | 2 |
com.google.gson.internal.sql.SqlDateTypeAdapter$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$31 | 1 |
com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory$DummyTypeAdapterFactory | 1 |
com.google.gson.internal.bind.TreeTypeAdapter$SingleTypeFactory | 1 |
com.google.gson.internal.bind.TreeTypeAdapter | 4 |
com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl | 2 |
com.google.gson.internal.bind.ObjectTypeAdapter$1 | 1 |
com.google.gson.internal.bind.ObjectTypeAdapter | 5 |
com.google.gson.internal.bind.TypeAdapters$33 | 1 |
com.google.gson.internal.bind.NumberTypeAdapter$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$34 | 1 |
com.google.gson.internal.bind.TypeAdapters$34$1 | 2 |
com.google.gson.internal.sql.SqlTimestampTypeAdapter | 3 |
com.google.gson.TypeAdapter$1 | 2 |
com.google.gson.Gson$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$9 | 1 |
com.google.gson.internal.bind.TypeAdapters$20 | 1 |
com.google.gson.internal.bind.TypeAdapters$15 | 1 |
com.google.gson.internal.bind.TypeAdapters$10 | 1 |
com.google.gson.Gson$5 | 1 |
com.google.gson.internal.bind.TypeAdapters$13 | 1 |
com.google.gson.internal.bind.TypeAdapters$14 | 1 |
com.google.gson.internal.bind.TypeAdapters$11 | 1 |
com.google.gson.internal.bind.TypeAdapters$4 | 1 |
com.google.gson.internal.bind.TypeAdapters$24 | 1 |
com.google.gson.internal.bind.util.ISO8601Utils | 4 |
com.google.gson.internal.bind.TypeAdapters$3 | 1 |
com.google.gson.internal.bind.TypeAdapters$18 | 1 |
com.google.gson.internal.bind.TypeAdapters$16 | 1 |
com.google.gson.Gson$4 | 1 |
com.google.gson.Gson$2 | 1 |
com.google.gson.internal.bind.TypeAdapters$12 | 1 |
com.google.gson.internal.bind.TypeAdapters$27 | 1 |
com.google.gson.internal.bind.TypeAdapters$23 | 1 |
com.google.gson.ToNumberPolicy$4 | 1 |
com.google.gson.ToNumberPolicy$2 | 1 |
com.google.gson.ToNumberPolicy$1 | 1 |
com.google.gson.ToNumberPolicy$3 | 1 |
com.google.gson.internal.bind.TypeAdapters$19 | 1 |
com.google.gson.internal.bind.TypeAdapters$21 | 1 |
com.google.gson.internal.bind.TypeAdapters$17 | 1 |
com.google.gson.internal.bind.TypeAdapters$2 | 1 |
com.google.gson.internal.bind.NumberTypeAdapter | 1 |
com.google.gson.internal.bind.TypeAdapters$5 | 1 |
com.google.gson.internal.bind.TypeAdapters$1 | 1 |
com.google.gson.internal.bind.DefaultDateTypeAdapter | 2 |
com.google.gson.internal.sql.SqlTypesSupport$1 | 1 |
com.google.gson.internal.sql.SqlTypesSupport$2 | 1 |
com.google.gson.internal.bind.DefaultDateTypeAdapter$DateType$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$6 | 1 |
com.google.gson.stream.JsonReader$1 | 1 |
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 | 2229 | 92.2% |
gold | [1:9] | 0 | 0.0% |
yellow | [10:29] | 0 | 0.0% |
greenyellow | [30:49] | 0 | 0.0% |
lawngreen | 50+ | 187 | 7.74% |
All colors | 2416 | 100 |
The following nodes represent call sites where fuzz blockers occur.
Amount of callsites blocked | Calltree index | Parent function | Callsite | Largest blocked function |
---|---|---|---|---|
1133 | 1220 | [com.google.gson.JsonObject].add(java.lang.String,com.google.gson.JsonElement) | call site: 01220 | |
182 | 747 | [com.google.gson.Gson].getAdapter(com.google.gson.reflect.TypeToken) | call site: 00747 | |
166 | 398 | [com.google.gson.internal.$Gson$Types].canonicalize(java.lang.reflect.Type) | call site: 00398 | |
148 | 247 | [com.google.gson.internal.LinkedTreeMap].rebalance(com.google.gson.internal.LinkedTreeMap$Node,boolean) | call site: 00247 | |
135 | 1084 | [com.google.gson.stream.JsonReader].nextName() | call site: 01084 | |
131 | 592 | [com.google.gson.Gson].getAdapter(com.google.gson.reflect.TypeToken) | call site: 00592 | |
124 | 941 | [com.google.gson.Gson].getAdapter(com.google.gson.reflect.TypeToken) | call site: 00941 | |
35 | 178 | [com.google.gson.stream.JsonReader].nextString() | call site: 00178 | |
22 | 114 | [com.google.gson.stream.JsonReader].hasNext() | call site: 00114 | |
18 | 728 | [com.google.gson.Gson].getAdapter(com.google.gson.reflect.TypeToken) | call site: 00728 | |
15 | 1066 | [com.google.gson.stream.JsonReader].beginObject() | call site: 01066 | |
13 | 221 | [com.google.gson.internal.Streams].parse(com.google.gson.stream.JsonReader) | call site: 00221 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
FuzzParse | 1 |
com.code_intelligence.jazzer.api.FuzzedDataProvider | 1 |
com.google.gson.JsonParser | 3 |
com.google.gson.stream.JsonReader | 41 |
com.google.gson.internal.Streams | 1 |
com.google.gson.internal.bind.JsonTreeReader | 25 |
com.google.gson.JsonStreamParser | 2 |
com.google.gson.internal.bind.JsonTreeReader$1 | 1 |
com.google.gson.stream.MalformedJsonException | 1 |
com.google.gson.internal.TroubleshootingGuide | 1 |
com.google.gson.JsonSyntaxException | 3 |
com.google.gson.JsonParseException | 3 |
com.google.gson.JsonIOException | 3 |
com.google.gson.internal.LinkedTreeMap$KeySet$1 | 2 |
com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator | 3 |
com.google.gson.internal.LinkedTreeMap$EntrySet$1 | 2 |
com.google.gson.JsonPrimitive | 16 |
com.google.gson.internal.bind.TypeAdapters$10 | 1 |
com.google.gson.JsonArray | 5 |
com.google.gson.internal.LazilyParsedNumber | 7 |
com.google.gson.internal.bind.DefaultDateTypeAdapter | 2 |
com.google.gson.internal.bind.util.ISO8601Utils | 4 |
com.google.gson.internal.sql.SqlTypesSupport$2 | 1 |
com.google.gson.internal.sql.SqlTypesSupport$1 | 1 |
com.google.gson.internal.bind.DefaultDateTypeAdapter$DateType$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$4 | 1 |
com.google.gson.internal.bind.TypeAdapters$34$1 | 2 |
com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter | 2 |
com.google.gson.internal.LinkedTreeMap | 12 |
com.google.gson.internal.LinkedTreeMap$1 | 2 |
com.google.gson.internal.LinkedTreeMap$Node | 6 |
com.google.gson.internal.bind.ArrayTypeAdapter | 2 |
com.google.gson.Gson$1 | 1 |
com.google.gson.internal.bind.TypeAdapters$11 | 1 |
com.google.gson.internal.bind.TypeAdapters$7 | 1 |
com.google.gson.internal.bind.TreeTypeAdapter | 4 |
com.google.gson.Gson | 3 |
com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory | 6 |
com.google.gson.reflect.TypeToken | 8 |
com.google.gson.internal.ConstructorConstructor$20 | 2 |
com.google.gson.internal.ConstructorConstructor$14 | 2 |
com.google.gson.internal.ConstructorConstructor$10 | 2 |
com.google.gson.internal.ConstructorConstructor$8 | 2 |
com.google.gson.internal.ConstructorConstructor$17 | 2 |
com.google.gson.internal.ConstructorConstructor$18 | 2 |
com.google.gson.internal.ConstructorConstructor$19 | 2 |
com.google.gson.internal.UnsafeAllocator$3 | 1 |
com.google.gson.internal.UnsafeAllocator | 2 |
com.google.gson.internal.ConstructorConstructor | 6 |
com.google.gson.internal.UnsafeAllocator$1 | 1 |
com.google.gson.internal.UnsafeAllocator$2 | 1 |
com.google.gson.internal.UnsafeAllocator$4 | 1 |
com.google.gson.internal.ConstructorConstructor$13 | 2 |
com.google.gson.internal.ConstructorConstructor$12 | 2 |
com.google.gson.internal.ConstructorConstructor$16 | 2 |
com.google.gson.internal.ConstructorConstructor$9 | 2 |
com.google.gson.internal.reflect.ReflectionHelper | 14 |
com.google.gson.internal.ConstructorConstructor$3 | 2 |
com.google.gson.internal.ConstructorConstructor$15 | 2 |
com.google.gson.internal.ConstructorConstructor$4 | 2 |
com.google.gson.internal.ConstructorConstructor$5 | 2 |
com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl | 8 |
com.google.gson.internal.Excluder | 12 |
com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl | 5 |
com.google.gson.internal.$Gson$Types | 21 |
com.google.gson.internal.$Gson$Types$WildcardTypeImpl | 6 |
com.google.gson.internal.ConstructorConstructor$6 | 2 |
com.google.gson.internal.ConstructorConstructor$7 | 2 |
com.google.gson.internal.ConstructorConstructor$11 | 2 |
com.google.gson.internal.ConstructorConstructor$1:com.google.gson.internal.ConstructorConstructor$2 | 1 |
com.google.gson.internal.$Gson$Preconditions | 1 |
com.google.gson.JsonNull | 2 |
com.google.gson.internal.NonNullElementWrapperList | 4 |
com.google.gson.JsonObject | 5 |
com.google.gson.internal.ConstructorConstructor$1 | 2 |
com.google.gson.internal.ConstructorConstructor$2 | 2 |
com.google.gson.internal.ReflectionAccessFilterHelper | 7 |
com.google.gson.ReflectionAccessFilter$3 | 1 |
com.google.gson.ReflectionAccessFilter$2 | 1 |
com.google.gson.ReflectionAccessFilter$1 | 1 |
com.google.gson.ReflectionAccessFilter$4 | 1 |
com.google.gson.internal.ReflectionAccessFilterHelper$AccessChecker$1 | 1 |
com.google.gson.internal.ReflectionAccessFilterHelper$AccessChecker$2 | 1 |
com.google.gson.internal.bind.TypeAdapters$34 | 1 |
com.google.gson.TypeAdapter | 2 |
com.google.gson.internal.bind.ObjectTypeAdapter$1 | 1 |
com.google.gson.internal.bind.ObjectTypeAdapter | 5 |
com.google.gson.internal.bind.TypeAdapters$31 | 1 |
com.google.gson.internal.sql.SqlTimestampTypeAdapter$1 | 1 |
com.google.gson.Gson$FutureTypeAdapter | 4 |
com.google.gson.internal.bind.SerializationDelegatingTypeAdapter | 1 |
com.google.gson.internal.bind.TypeAdapters$29 | 1 |
com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter$1 | 2 |
com.google.gson.internal.bind.CollectionTypeAdapterFactory | 1 |
com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter | 2 |
com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper | 2 |
com.google.gson.internal.bind.TypeAdapters$32 | 1 |
com.google.gson.internal.bind.TypeAdapters$30 | 1 |
com.google.gson.internal.Excluder$1 | 3 |
com.google.gson.internal.bind.NumberTypeAdapter$1 | 1 |
com.google.gson.internal.sql.SqlTimeTypeAdapter$1 | 1 |
com.google.gson.internal.sql.SqlTimeTypeAdapter | 3 |
com.google.gson.internal.bind.DateTypeAdapter$1 | 1 |
com.google.gson.internal.bind.DateTypeAdapter | 3 |
com.google.gson.internal.JavaVersion | 1 |
com.google.gson.internal.PreJava9DateFormatProvider | 3 |
com.google.gson.internal.bind.TreeTypeAdapter$SingleTypeFactory | 1 |
com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl | 2 |
com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory$DummyTypeAdapterFactory | 1 |
com.google.gson.internal.bind.ArrayTypeAdapter$1 | 1 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory | 7 |
com.google.gson.internal.reflect.ReflectionHelper$RecordSupportedHelper | 4 |
com.google.gson.internal.reflect.ReflectionHelper$RecordNotSupportedHelper | 4 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$RecordAdapter | 4 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter | 2 |
com.google.gson.FieldAttributes | 1 |
com.google.gson.FieldNamingPolicy$4 | 1 |
com.google.gson.FieldNamingPolicy | 2 |
com.google.gson.FieldNamingPolicy$5 | 1 |
com.google.gson.FieldNamingPolicy$3 | 1 |
com.google.gson.FieldNamingPolicy$1 | 1 |
com.google.gson.FieldNamingPolicy$7 | 1 |
com.google.gson.FieldNamingPolicy$6 | 1 |
com.google.gson.FieldNamingPolicy$2 | 1 |
com.google.gson.internal.Primitives | 1 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 | 3 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField | 1 |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter | 3 |
com.google.gson.internal.sql.SqlDateTypeAdapter$1 | 1 |
com.google.gson.internal.sql.SqlDateTypeAdapter | 3 |
com.google.gson.internal.bind.MapTypeAdapterFactory | 2 |
com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter | 2 |
com.google.gson.internal.bind.TypeAdapters$33 | 1 |
com.google.gson.TypeAdapter$1 | 2 |
com.google.gson.internal.sql.SqlTimestampTypeAdapter | 3 |
com.google.gson.Gson$2 | 1 |
com.google.gson.internal.bind.TypeAdapters$21 | 1 |
com.google.gson.internal.LinkedTreeMap$EntrySet | 2 |
com.google.gson.internal.LinkedTreeMap$KeySet | 1 |
com.google.gson.internal.bind.TypeAdapters$27 | 1 |
com.google.gson.Gson$3 | 1 |
com.google.gson.internal.bind.TypeAdapters$5 | 1 |
com.google.gson.internal.bind.TypeAdapters$16 | 1 |
com.google.gson.internal.bind.TypeAdapters$9 | 1 |
com.google.gson.internal.bind.TypeAdapters$28 | 3 |
com.google.gson.JsonElement | 2 |
com.google.gson.internal.bind.TypeAdapters$13 | 1 |
com.google.gson.Gson$5 | 1 |
com.google.gson.internal.bind.TypeAdapters$26 | 1 |
com.google.gson.internal.bind.NumberTypeAdapter | 1 |
com.google.gson.ToNumberPolicy$2 | 1 |
com.google.gson.ToNumberPolicy$1 | 1 |
com.google.gson.ToNumberPolicy$4 | 1 |
com.google.gson.ToNumberPolicy$3 | 1 |
com.google.gson.internal.bind.TypeAdapters$12 | 1 |
com.google.gson.internal.bind.TypeAdapters$19 | 1 |
com.google.gson.internal.bind.TypeAdapters$22 | 1 |
com.google.gson.internal.bind.TypeAdapters$24 | 1 |
com.google.gson.internal.bind.TypeAdapters$18 | 1 |
com.google.gson.internal.bind.TypeAdapters$20 | 1 |
com.google.gson.internal.bind.TypeAdapters$17 | 1 |
com.google.gson.internal.bind.TypeAdapters$1 | 1 |
com.google.gson.Gson$4 | 1 |
com.google.gson.internal.bind.TypeAdapters$15 | 1 |
com.google.gson.internal.bind.TypeAdapters$25 | 1 |
com.google.gson.internal.bind.TypeAdapters$23 | 1 |
com.google.gson.internal.bind.TypeAdapters$3 | 1 |
com.google.gson.internal.bind.TypeAdapters$14 | 1 |
com.google.gson.internal.bind.TypeAdapters$8 | 1 |
com.google.gson.internal.bind.TypeAdapters$6 | 1 |
com.google.gson.internal.bind.TypeAdapters$2 | 1 |
com.google.gson.stream.JsonReader$1 | 1 |
The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.
Func name | Functions filename | Arg count | Args | Function depth | hitcount | instr count | bb count | cyclomatic complexity | Reachable functions | Incoming references | total cyclomatic complexity | Unreached complexity |
---|---|---|---|---|---|---|---|---|---|---|---|---|
[com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter].write(com.google.gson.stream.JsonWriter,java.util.Map)
|
com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter | 2 | ['com.google.gson.stream.JsonWriter', 'java.util.Map'] | 65 | 0 | 86 | 24 | 5 | 1129 | 20 | 549 | 166 |
Implementing fuzzers that target the above functions will improve reachability such that it becomes:
If you implement fuzzers for these functions, the status of all functions in the project will be:
Func name | Functions filename | Args | Function call depth | Reached by Fuzzers | Fuzzers runtime hit | Func lines hit % | I Count | BB Count | Cyclomatic complexity | Functions reached | Reached by functions | Accumulated cyclomatic complexity | Undiscovered complexity |
---|
This section shows analysis of runtime coverage data.
For futher technical details on how this section is generated, please see the Glossary .
Func name | Function total lines | Lines covered at runtime | percentage covered | Reached by fuzzers |
---|---|---|---|---|
[com.google.gson.internal.bind.TypeAdapters].newFactory(com.google.gson.reflect.TypeToken,com.google.gson.TypeAdapter) | 483 | 110 | 22.77% | [] |
[com.google.gson.internal.bind.MapTypeAdapterFactory].getKeyAdapter(com.google.gson.Gson,java.lang.reflect.Type) | 83 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.stream.JsonReader].nextInt() | 38 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.stream.JsonReader].skipValue() | 41 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.reflect.TypeToken].getArray(java.lang.reflect.Type) | 47 | 5 | 10.63% | [] |
[com.google.gson.reflect.TypeToken].getType() | 69 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.stream.JsonWriter].close() | 31 | 0 | 0.0% | [] |
[com.google.gson.internal.bind.ReflectiveTypeAdapterFactory].createBoundField(com.google.gson.Gson,java.lang.reflect.Field,java.lang.reflect.Method,java.lang.String,com.google.gson.reflect.TypeToken,boolean,boolean,boolean) | 47 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.internal.bind.ReflectiveTypeAdapterFactory].getBoundFields(com.google.gson.Gson,com.google.gson.reflect.TypeToken,java.lang.Class,boolean,boolean) | 138 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.internal.LinkedTreeMap].findByObject(java.lang.Object) | 48 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.internal.LinkedTreeMap].entrySet() | 89 | 15 | 16.85% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.internal.$Gson$Types].equals(java.lang.reflect.Type,java.lang.reflect.Type) | 33 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.internal.$Gson$Types].resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Map) | 64 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.internal.$Gson$Types].requiresOwnerType(java.lang.reflect.Type) | 68 | 0 | 0.0% | [] |
[com.google.gson.Gson].getAdapter(java.lang.Class) | 144 | 6 | 4.166% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.internal.reflect.ReflectionHelper].createExceptionForRecordReflectionException(java.lang.ReflectiveOperationException) | 33 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.internal.bind.util.ISO8601Utils].padInt(java.lang.StringBuilder,int,int) | 35 | 0 | 0.0% | [] |
[com.google.gson.internal.bind.util.ISO8601Utils].parse(java.lang.String,java.text.ParsePosition) | 90 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
[com.google.gson.GsonBuilder].addTypeAdaptersForDate(java.lang.String,int,int,java.util.List) | 153 | 0 | 0.0% | [] |
[com.google.gson.internal.bind.DefaultDateTypeAdapter].write(com.google.gson.stream.JsonWriter,java.lang.Object) | 33 | 4 | 12.12% | [] |
[com.google.gson.internal.bind.CollectionTypeAdapterFactory].create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) | 33 | 0 | 0.0% | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] |
This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link
Source file | Reached by | Covered by |
---|---|---|
com.google.gson.Gson$3 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.NonNullElementWrapperList | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.MapTypeAdapterFactory | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$7 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.DefaultDateTypeAdapter$DateType$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.LinkedTreeMap$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$23 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.UnsafeAllocator$3 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.LazilyParsedNumber | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.stream.JsonReader$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.Primitives | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.sql.SqlTypesSupport$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$16 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$3 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$6 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$4 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$6 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.LongSerializationPolicy$2 | [] | [] |
com.google.gson.ReflectionAccessFilter$FilterResult | [] | [] |
com.google.gson.internal.sql.SqlTypesSupport$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$9 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.LinkedTreeMap$EntrySet | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.NumberTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.sql.SqlTimeTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.FieldNamingPolicy$3 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$32 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.JsonParser | ['FuzzParse'] | [] |
com.google.gson.FieldNamingPolicy$6 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters | ['FuzzReader'] | [] |
com.google.gson.internal.sql.SqlDateTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.FieldNamingPolicy$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.ArrayTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$9 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$33 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.UnsafeAllocator$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$14 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$7 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.sql.SqlTimeTypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$8 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$30 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.FieldNamingPolicy$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.NumberTypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.ReflectionAccessFilter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.TypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$11 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.JsonArray | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.stream.JsonToken | [] | [] |
com.google.gson.internal.bind.TypeAdapters$26 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.reflect.ReflectionHelper$RecordNotSupportedHelper | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.ToNumberPolicy$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$3 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.$Gson$Preconditions | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.Streams$AppendableWriter | [] | [] |
com.google.gson.JsonObject | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
FuzzParse | ['FuzzParse'] | [] |
com.google.gson.internal.bind.DateTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.sql.SqlTimestampTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$12 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$5 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
FuzzReader | ['FuzzReader'] | [] |
com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory$DummyTypeAdapterFactory | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$31 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.ReflectionAccessFilter$4 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$11 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.PreJava9DateFormatProvider | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$34$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$18 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.JsonPrimitive | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.Gson$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
FuzzStreamParser | ['FuzzStreamParser'] | [] |
com.google.gson.internal.bind.ArrayTypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$15 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$16 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.reflect.ReflectionHelper | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$12 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.JavaVersion | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.FieldNamingPolicy$4 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.reflect.TypeToken | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.DefaultDateTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.Gson | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.ObjectTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ReflectionAccessFilterHelper$AccessChecker$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.sql.SqlTimestampTypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$20 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.$Gson$Types$WildcardTypeImpl | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.Gson$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.LinkedTreeMap | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.JsonStreamParser | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$RecordAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.ReflectionAccessFilter$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$27 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ReflectionAccessFilterHelper$AccessChecker$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.ToNumberPolicy$3 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.$Gson$Types | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$28 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$10 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TreeTypeAdapter$SingleTypeFactory | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.LongSerializationPolicy$1 | [] | [] |
com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.ToNumberPolicy$4 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.Streams$AppendableWriter$CurrentWrite | [] | [] |
com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$22 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$8 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.DateTypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$19 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$4 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.Gson$FutureTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$18 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$20 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.JsonTreeWriter | [] | [] |
com.google.gson.internal.ConstructorConstructor$17 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TreeTypeAdapter | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$21 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.Strictness | [] | [] |
com.google.gson.internal.UnsafeAllocator$2 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.JsonTreeReader$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$10 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.CollectionTypeAdapterFactory | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$29 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.stream.JsonReader | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.FormattingStyle | [] | [] |
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.stream.JsonWriter | [] | [] |
com.google.gson.internal.ConstructorConstructor$13 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.FieldNamingPolicy$5 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.Excluder | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.FieldNamingPolicy$7 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.FieldAttributes | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.LinkedTreeMap$EntrySet$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$13 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.JsonTreeReader | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.Excluder$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.TroubleshootingGuide | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.util.ISO8601Utils | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.sql.SqlDateTypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$5 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.Gson$5 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$34 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$14 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$17 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.JsonNull | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.ReflectionAccessFilter$3 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.UnsafeAllocator$4 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.LinkedTreeMap$KeySet | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$24 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.JsonTreeWriter$1 | [] | [] |
com.google.gson.internal.ReflectionAccessFilterHelper | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.LinkedTreeMap$Node | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$19 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.LinkedTreeMap$KeySet$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.ToNumberPolicy$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.reflect.ReflectionHelper$RecordSupportedHelper | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.ObjectTypeAdapter$1 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.ConstructorConstructor$15 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.bind.TypeAdapters$25 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.GsonBuilder | [] | [] |
com.google.gson.Gson$4 | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
com.google.gson.internal.Streams | ['FuzzReader', 'FuzzStreamParser', 'FuzzParse'] | [] |
Directory |
---|
This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.
Fuzzer | Calltree file | Program data file | Coverage file |
---|---|---|---|
FuzzReader | fuzzerLogFile-FuzzReader.data | fuzzerLogFile-FuzzReader.data.yaml | jacoco.xml |
FuzzStreamParser | fuzzerLogFile-FuzzStreamParser.data | fuzzerLogFile-FuzzStreamParser.data.yaml | jacoco.xml |
FuzzParse | fuzzerLogFile-FuzzParse.data | fuzzerLogFile-FuzzParse.data.yaml | jacoco.xml |