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

Project functions overview

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 Runtime reached by Fuzzers Combined 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

Fuzzer details

Fuzzer: flexverifier_fuzzer

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 1 1.02%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 97 98.9%
All colors 98 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
1 58 flexbuffers::Vector::operator[](unsigned long) const call site: 00058

Runtime coverage analysis

Covered functions
47
Functions that are reachable but not covered
2
Reachable functions
95
Percentage of reachable functions covered
97.89%
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
/src/flatbuffers/tests/fuzzer/flexbuffers_verifier_fuzzer.cc 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flexbuffers.h 39
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h 8

Fuzzer: 64bit_fuzzer

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 13 4.90%
gold [1:9] 2 0.75%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 250 94.3%
All colors 265 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
12 169 flatbuffers::AccessBuffer(unsigned char const*, unsigned long, bool) call site: 00169 _Z20scalar_as_underlyingIbEN20underlying_of_scalarIT_Xsr11flatbuffers7is_enumIS1_EE5valueEE4typeES1_
1 14 bool flatbuffers::VerifierTemplate ::VerifyBufferFromStart (char const*, unsigned long) call site: 00014

Runtime coverage analysis

Covered functions
254
Functions that are reachable but not covered
12
Reachable functions
314
Percentage of reachable functions covered
96.18%
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
/src/flatbuffers/tests/fuzzer/flatbuffers_64bit_fuzzer.cc 12
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/verifier.h 34
/src/flatbuffers/tests/fuzzer/../../tests/64bit/test_64bit_generated.h 21
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h 11
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/buffer.h 9
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/table.h 30
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector.h 38
/src/flatbuffers/tests/fuzzer/../../tests/test_assert.h 2
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/util.h 1
/src/flatbuffers/tests/test_assert.cpp 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/string.h 2

Fuzzer: verifier_fuzzer

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 2 0.32%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 619 99.6%
All colors 621 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
1 204 flexbuffers::VerifyBuffer(unsigned char const*, unsigned long, std::__1::vector >*) call site: 00204
1 257 flexbuffers::Vector::operator[](unsigned long) const call site: 00257

Runtime coverage analysis

Covered functions
296
Functions that are reachable but not covered
10
Reachable functions
574
Percentage of reachable functions covered
98.26%
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
/src/flatbuffers/tests/fuzzer/flatbuffers_verifier_fuzzer.cc 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/verifier.h 111
/src/flatbuffers/tests/fuzzer/../../tests/cpp17/generated_cpp17/monster_test_generated.h 52
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/buffer.h 6
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h 10
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/table.h 65
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector.h 15
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flex_flat_util.h 2
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flexbuffers.h 39

Fuzzer: annotator_fuzzer

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 188 17.3%
gold [1:9] 0 0.0%
yellow [10:29] 6 0.55%
greenyellow [30:49] 27 2.49%
lawngreen 50+ 863 79.6%
All colors 1084 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
44 317 flatbuffers::Vector , unsigned int>::Get(unsigned int) const call site: 00317 _ZNK11flatbuffers16VerifierTemplateILb0EE12VerifyVectorITpTnRiJENS_6OffsetIN10reflection8KeyValueEEEjEEbPKNS_6VectorIT0_T1_EE
15 299 flatbuffers::Vector , unsigned int>::Get(unsigned int) const call site: 00299 _ZNK11flatbuffers16VerifierTemplateILb0EE12VerifyVectorITpTnRiJENS_6OffsetIN10reflection7RPCCallEEEjEEbPKNS_6VectorIT0_T1_EE
13 375 flatbuffers::Vector , unsigned int>::Get(unsigned int) const call site: 00375 _ZNK11flatbuffers16VerifierTemplateILb0EE12VerifyVectorITpTnRiJENS_6OffsetINS_6StringEEEjEEbPKNS_6VectorIT0_T1_EE
11 149 flatbuffers::Vector , unsigned int>::Get(unsigned int) const call site: 00149
10 423 flatbuffers::BinaryAnnotator::BuildHeader(unsigned long) call site: 00423 bsearch
9 543 flatbuffers::BinaryAnnotator::GetOrBuildVTable(unsigned long, reflection::Object const*, unsigned long) call site: 00543
8 411 std::__1::optional flatbuffers::BinaryAnnotator::ReadScalar (unsigned long) const call site: 00411
6 395 flatbuffers::BinaryAnnotator::IsValidRead(unsigned long, unsigned long) const call site: 00395
6 575 flatbuffers::BinaryAnnotator::GetOrBuildVTable(unsigned long, reflection::Object const*, unsigned long) call site: 00575
6 848 flatbuffers::BinaryAnnotator::BuildVector(unsigned long, reflection::Object const*, reflection::Field const*, unsigned long, std::__1::map , std::__1::allocator > >) call site: 00848
6 880 flatbuffers::BinaryAnnotator::BuildVector(unsigned long, reflection::Object const*, reflection::Field const*, unsigned long, std::__1::map , std::__1::allocator > >) call site: 00880
6 913 flatbuffers::BinaryAnnotator::BuildVector(unsigned long, reflection::Object const*, reflection::Field const*, unsigned long, std::__1::map , std::__1::allocator > >) call site: 00913

Runtime coverage analysis

Covered functions
233
Functions that are reachable but not covered
130
Reachable functions
569
Percentage of reachable functions covered
77.15%
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
/src/flatbuffers/tests/fuzzer/flatbuffers_annotator_fuzzer.cc 1
/src/flatbuffers/tests/fuzzer/../../src/binary_annotator.h 6
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection_generated.h 63
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/buffer.h 14
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h 13
/src/flatbuffers/src/binary_annotator.cpp 19
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/verifier.h 47
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/table.h 41
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector.h 31
/src/flatbuffers/src/binary_annotator.h 30
/usr/local/bin/../include/c++/v1/optional 17
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/string.h 2
/src/flatbuffers/src/reflection.cpp 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection.h 2
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/util.h 1

Fuzzer: scalar_fuzzer

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 2280 68.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1033 31.1%
All colors 3313 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
341 933 flatbuffers::Parser::ParseMetaData(flatbuffers::SymbolTable *) call site: 00933 tolower
227 3056 flatbuffers::JsonPrinter::GenStruct(flatbuffers::StructDef const&, flatbuffers::Table const*, int) call site: 03056
212 2841 void flatbuffers::JsonPrinter::GenField (flatbuffers::FieldDef const&, flatbuffers::Table const*, bool, int) call site: 02841 strlen
131 1298 flatbuffers::Parser::AddField(flatbuffers::StructDef&, std::__1::basic_string , std::__1::allocator > const&, flatbuffers::Type const&, flatbuffers::FieldDef**) call site: 01298 strpbrk
109 2299 flatbuffers::Parser::ParseTable(flatbuffers::StructDef const&, std::__1::basic_string , std::__1::allocator >*, unsigned int*) call site: 02299 _ZN11flatbuffers21FlatBufferBuilderImplILb0EE15CalculateOffsetIjEENSt3__19enable_ifIXsr3std7is_sameIT_jEE5valueES5_E4typeEv
67 270 flatbuffers::CheckedError::CheckedError(flatbuffers::CheckedError const&) call site: 00270
61 2436 flatbuffers::Parser::ParseAnyValue(flatbuffers::Value&, flatbuffers::FieldDef*, unsigned long, flatbuffers::StructDef const*, unsigned long, bool) call site: 02436
57 1543 flatbuffers::Parser::DoParse(char const*, char const**, char const*, char const*) call site: 01543
57 2042 std::__1::enable_if ::type flatbuffers::FlatBufferBuilderImpl ::GetSizeRelative32BitRegion () const call site: 02042
54 529 flatbuffers::Parser::StartStruct(std::__1::basic_string , std::__1::allocator > const&, flatbuffers::StructDef**) call site: 00529
53 354 flatbuffers::strtoval_impl(double*, char const*, char**) call site: 00354
36 1750 flatbuffers::FieldDef::IsScalarOptional() const call site: 01750

Runtime coverage analysis

Covered functions
385
Functions that are reachable but not covered
1051
Reachable functions
1926
Percentage of reachable functions covered
45.43%
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
/src/flatbuffers/tests/fuzzer/flatbuffers_scalar_fuzzer.cc 18
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/idl.h 105
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/buffer.h 29
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flatbuffer_builder.h 92
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector_downward.h 33
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/default_allocator.h 7
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/allocator.h 4
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flexbuffers.h 122
/src/flatbuffers/src/idl_parser.cpp 178
/src/flatbuffers/src/util.cpp 18
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/util.h 47
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h 35
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/hash.h 4
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection.h 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector.h 57
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/table.h 30
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/string.h 2
/src/flatbuffers/tests/fuzzer/../../tests/test_assert.h 2
/src/flatbuffers/tests/test_assert.cpp 2
/src/flatbuffers/tests/fuzzer/test_init.h 1
/src/flatbuffers/src/idl_gen_text.cpp 89
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/struct.h 11
/usr/local/bin/../include/c++/v1/optional 20
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/array.h 44

Fuzzer: parser_fuzzer

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 1228 31.0%
gold [1:9] 71 1.79%
yellow [10:29] 58 1.46%
greenyellow [30:49] 34 0.85%
lawngreen 50+ 2566 64.8%
All colors 3957 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
239 3522 flatbuffers::Vector ::data() const call site: 03522 strlen
180 3341 LLVMFuzzerTestOneInput call site: 03341
158 1051 flatbuffers::EnumValBuilder::~EnumValBuilder() call site: 01051 tolower
131 1233 flatbuffers::Parser::AddField(flatbuffers::StructDef&, std::__1::basic_string , std::__1::allocator > const&, flatbuffers::Type const&, flatbuffers::FieldDef**) call site: 01233 strpbrk
83 3871 flatbuffers::Vector , unsigned int>::Get(unsigned int) const call site: 03871
47 924 flatbuffers::Parser::ParseEnum(bool, flatbuffers::EnumDef**, char const*) call site: 00924
27 2854 flatbuffers::Parser::Serialize() call site: 02854
19 464 flatbuffers::Parser::StartStruct(std::__1::basic_string , std::__1::allocator > const&, flatbuffers::StructDef**) call site: 00464
17 1842 flatbuffers::Parser::CheckPrivateLeak() call site: 01842
14 414 flatbuffers::Parser::ParseNamespace() call site: 00414
13 3308 flatbuffers::Vector , unsigned int>::Get(unsigned int) const call site: 03308 _ZNK11flatbuffers16VerifierTemplateILb0EE12VerifyVectorITpTnRiJENS_6OffsetINS_6StringEEEjEEbPKNS_6VectorIT0_T1_EE
13 3845 flatbuffers::IndirectHelper ::Read(unsigned char const*, unsigned long) call site: 03845

Runtime coverage analysis

Covered functions
922
Functions that are reachable but not covered
751
Reachable functions
2678
Percentage of reachable functions covered
71.96%
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
/src/flatbuffers/tests/fuzzer/flatbuffers_parser_fuzzer.cc 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/idl.h 105
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/buffer.h 81
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flatbuffer_builder.h 174
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector_downward.h 34
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/default_allocator.h 7
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/allocator.h 4
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flexbuffers.h 122
/src/flatbuffers/src/idl_parser.cpp 190
/src/flatbuffers/src/util.cpp 18
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/util.h 47
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h 35
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/hash.h 4
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection.h 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector.h 84
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/table.h 65
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/string.h 2
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection_generated.h 144
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/verifier.h 47
/src/flatbuffers/tests/fuzzer/../../tests/test_assert.h 2
/src/flatbuffers/tests/test_assert.cpp 1
/src/flatbuffers/src/idl_gen_text.cpp 89
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/struct.h 11
/usr/local/bin/../include/c++/v1/optional 20
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/array.h 44

Fuzzer: monster_fuzzer

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 1706 47.2%
gold [1:9] 55 1.52%
yellow [10:29] 24 0.66%
greenyellow [30:49] 6 0.16%
lawngreen 50+ 1823 50.4%
All colors 3614 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
494 1403 flatbuffers::EnumDef::EnumDef() call site: 01403 tolower
264 2212 flatbuffers::Parser::ParseDecl(char const*) call site: 02212 strlen
139 1898 flatbuffers::FieldDef::FieldDef() call site: 01898 strpbrk
82 3519 flatbuffers::Vector , unsigned int>::Get(unsigned int) const call site: 03519
57 2151 flatbuffers::Parser::DoParse(char const*, char const**, char const*, char const*) call site: 02151
38 3331 flexbuffers::Reference::ToString(bool, bool, std::__1::basic_string , std::__1::allocator >&, bool, int, char const*, bool) const call site: 03331
35 1356 flatbuffers::StructDef* flatbuffers::(anonymous namespace)::LookupTableByName (flatbuffers::SymbolTable const&, std::__1::basic_string , std::__1::allocator > const&, flatbuffers::Namespace const&, unsigned long) call site: 01356
34 1006 flatbuffers::Parser::ParseFunction(std::__1::basic_string , std::__1::allocator > const*, flatbuffers::Value&) call site: 01006
32 2048 flatbuffers::Parser::DoParse(char const*, char const**, char const*, char const*) call site: 02048
31 956 flatbuffers::Parser::ParseSingleValue(std::__1::basic_string , std::__1::allocator > const*, flatbuffers::Value&, bool) call site: 00956
31 1318 flatbuffers::Parser::UniqueNamespace(flatbuffers::Namespace*) call site: 01318
18 2094 flatbuffers::Parser::DoParse(char const*, char const**, char const*, char const*) call site: 02094

Runtime coverage analysis

Covered functions
968
Functions that are reachable but not covered
562
Reachable functions
2231
Percentage of reachable functions covered
74.81%
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
/src/flatbuffers/tests/fuzzer/flatbuffers_monster_fuzzer.cc 2
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/idl.h 105
/src/flatbuffers/src/idl_parser.cpp 178
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flatbuffer_builder.h 92
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector_downward.h 33
/src/flatbuffers/src/util.cpp 18
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/util.h 47
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flexbuffers.h 140
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h 35
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/default_allocator.h 7
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/allocator.h 4
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/buffer.h 35
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection.h 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector.h 69
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/hash.h 4
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/table.h 73
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/string.h 2
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/verifier.h 55
/src/flatbuffers/tests/fuzzer/../../tests/cpp17/generated_cpp17/monster_test_generated.h 42
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flex_flat_util.h 1
/src/flatbuffers/tests/fuzzer/../../tests/test_assert.h 3
/src/flatbuffers/tests/test_assert.cpp 2
/src/flatbuffers/src/idl_gen_text.cpp 89
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/struct.h 11
/usr/local/bin/../include/c++/v1/optional 20
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/array.h 44

Fuzzer: codegen_fuzzer

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 3275 81.0%
gold [1:9] 152 3.76%
yellow [10:29] 99 2.45%
greenyellow [30:49] 39 0.96%
lawngreen 50+ 475 11.7%
All colors 4040 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
1461 2576 flatbuffers::Parser::ParseRoot(char const*, char const**, char const*) call site: 02576 _ZNK11flatbuffers16VerifierTemplateILb0EE12VerifyVectorITpTnRiJENS_6OffsetIN10reflection6ObjectEEEjEEbPKNS_6VectorIT0_T1_EE
650 1866 flatbuffers::Parser::DoParseJson() call site: 01866 _ZN11flatbuffers21FlatBufferBuilderImplILb0EE12CreateVectorIhTtTpTyENS_6OffsetETtTpTyENS_6VectorEEET0_IJT1_IJT_EEEEPKS7_m
158 1051 flatbuffers::EnumValBuilder::~EnumValBuilder() call site: 01051 tolower
131 1233 flatbuffers::Parser::AddField(flatbuffers::StructDef&, std::__1::basic_string , std::__1::allocator > const&, flatbuffers::Type const&, flatbuffers::FieldDef**) call site: 01233 strpbrk
91 182 flatbuffers::Parser::Expect(int) call site: 00182
87 289 flatbuffers::strtoval_impl(double*, char const*, char**) call site: 00289
47 924 flatbuffers::Parser::ParseEnum(bool, flatbuffers::EnumDef**, char const*) call site: 00924
31 2541 flatbuffers::Parser::~Parser() call site: 02541 strlen
26 1695 flatbuffers::Parser::ParseField(flatbuffers::StructDef&) call site: 01695
19 464 flatbuffers::Parser::StartStruct(std::__1::basic_string , std::__1::allocator > const&, flatbuffers::StructDef**) call site: 00464
19 595 flatbuffers::IsVector(flatbuffers::Type const&) call site: 00595
19 848 flatbuffers::Parser::ParseFunction(std::__1::basic_string , std::__1::allocator > const*, flatbuffers::Value&) call site: 00848 sin

Runtime coverage analysis

Covered functions
196
Functions that are reachable but not covered
2303
Reachable functions
2782
Percentage of reachable functions covered
17.22%
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
/src/flatbuffers/tests/fuzzer/flatbuffers_codegen_fuzzer.cc 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/idl.h 105
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/buffer.h 81
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flatbuffer_builder.h 174
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector_downward.h 34
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/default_allocator.h 7
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/allocator.h 4
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flexbuffers.h 122
/src/flatbuffers/src/idl_parser.cpp 191
/src/flatbuffers/src/util.cpp 18
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/util.h 47
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h 35
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/hash.h 4
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection.h 1
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector.h 84
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/table.h 65
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/string.h 2
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection_generated.h 144
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/verifier.h 47
/src/flatbuffers/tests/fuzzer/../../tests/test_assert.h 2
/src/flatbuffers/tests/test_assert.cpp 1
/src/flatbuffers/src/idl_gen_text.cpp 91
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/struct.h 11
/usr/local/bin/../include/c++/v1/optional 20
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/array.h 44
/src/flatbuffers/src/idl_gen_binary.cpp 2
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/code_generator.h 4
/src/flatbuffers/src/idl_gen_cpp.cpp 2
/src/flatbuffers/src/idl_gen_csharp.cpp 2
/src/flatbuffers/src/idl_gen_dart.cpp 2
/src/flatbuffers/src/idl_gen_fbs.cpp 2
/src/flatbuffers/src/idl_gen_go.cpp 2
/src/flatbuffers/src/idl_gen_java.cpp 2
/src/flatbuffers/src/idl_gen_json_schema.cpp 2
/src/flatbuffers/src/idl_gen_kotlin.cpp 2
/src/flatbuffers/src/idl_gen_kotlin_kmp.cpp 2
/src/flatbuffers/src/idl_gen_lobster.cpp 2
/src/flatbuffers/src/bfbs_gen_lua.cpp 4
/src/flatbuffers/src/bfbs_gen.h 2
/src/flatbuffers/src/bfbs_namer.h 1
/src/flatbuffers/tests/fuzzer/../../include/codegen/namer.h 3
/src/flatbuffers/src/bfbs_gen_nim.cpp 4
/src/flatbuffers/src/idl_gen_python.cpp 2
/src/flatbuffers/src/idl_gen_php.cpp 2
/src/flatbuffers/src/idl_gen_rust.cpp 2
/src/flatbuffers/src/idl_gen_swift.cpp 2
/src/flatbuffers/src/idl_gen_ts.cpp 2

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

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
flatbuffers::(anonymousnamespace)::CppCodeGenerator::GenerateCode(flatbuffers::Parserconst&,std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) /src/flatbuffers/src/idl_gen_cpp.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 12 0 37 6 3 480 0 6543 6073
flatbuffers::(anonymousnamespace)::PythonCodeGenerator::GenerateCode(flatbuffers::Parserconst&,std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) /src/flatbuffers/src/idl_gen_python.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 14 0 67 9 10 453 0 4560 4162
flatbuffers::(anonymousnamespace)::CSharpCodeGenerator::GenerateCode(flatbuffers::Parserconst&,std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) /src/flatbuffers/src/idl_gen_csharp.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 13 0 37 6 3 278 0 3756 3284
flatbuffers::(anonymousnamespace)::JavaCodeGenerator::GenerateCode(flatbuffers::Parserconst&,std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) /src/flatbuffers/src/idl_gen_java.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 11 0 37 6 3 319 0 3795 3259
flatbuffers::(anonymousnamespace)::TsCodeGenerator::GenerateCode(flatbuffers::Parserconst&,std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) /src/flatbuffers/src/idl_gen_ts.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 12 0 37 6 3 332 0 3657 3162
flatbuffers::(anonymousnamespace)::SwiftCodeGenerator::GenerateCode(flatbuffers::Parserconst&,std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) /src/flatbuffers/src/idl_gen_swift.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 13 0 37 6 3 336 0 3463 2956
flatbuffers::(anonymousnamespace)::GoCodeGenerator::GenerateCode(flatbuffers::Parserconst&,std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) /src/flatbuffers/src/idl_gen_go.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 12 0 37 6 3 291 0 2375 2093

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
64.0%
2491 / 3915
Cyclomatic complexity statically reachable by fuzzers
65.0%
39227 / 60464

All functions overview

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 Runtime reached by Fuzzers Combined 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

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

/src/flatbuffers/tests/fuzzer/flexbuffers_verifier_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['flexbuffers::Vector::operator[](unsigned long) const']

/src/flatbuffers/tests/fuzzer/flatbuffers_64bit_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['flatbuffers::AccessBuffer(unsigned char const*, unsigned long, bool)', 'bool flatbuffers::VerifierTemplate::VerifyBufferFromStart(char const*, unsigned long)']

/src/flatbuffers/tests/fuzzer/flatbuffers_verifier_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['flexbuffers::VerifyBuffer(unsigned char const*, unsigned long, std::__1::vector >*)', 'flexbuffers::Vector::operator[](unsigned long) const']

/src/flatbuffers/tests/fuzzer/flatbuffers_annotator_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['flatbuffers::Vector, unsigned int>::Get(unsigned int) const', 'flatbuffers::Vector, unsigned int>::Get(unsigned int) const', 'flatbuffers::Vector, unsigned int>::Get(unsigned int) const', 'flatbuffers::Vector, unsigned int>::Get(unsigned int) const', 'flatbuffers::BinaryAnnotator::BuildHeader(unsigned long)', 'flatbuffers::BinaryAnnotator::GetOrBuildVTable(unsigned long, reflection::Object const*, unsigned long)', 'std::__1::optional flatbuffers::BinaryAnnotator::ReadScalar(unsigned long) const', 'flatbuffers::BinaryAnnotator::IsValidRead(unsigned long, unsigned long) const', 'flatbuffers::BinaryAnnotator::GetOrBuildVTable(unsigned long, reflection::Object const*, unsigned long)', 'flatbuffers::BinaryAnnotator::BuildVector(unsigned long, reflection::Object const*, reflection::Field const*, unsigned long, std::__1::map, std::__1::allocator > >)']

/src/flatbuffers/tests/fuzzer/flatbuffers_scalar_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['flatbuffers::Parser::ParseMetaData(flatbuffers::SymbolTable*)', 'flatbuffers::JsonPrinter::GenStruct(flatbuffers::StructDef const&, flatbuffers::Table const*, int)', 'void flatbuffers::JsonPrinter::GenField(flatbuffers::FieldDef const&, flatbuffers::Table const*, bool, int)', 'flatbuffers::Parser::AddField(flatbuffers::StructDef&, std::__1::basic_string, std::__1::allocator > const&, flatbuffers::Type const&, flatbuffers::FieldDef**)', 'flatbuffers::Parser::ParseTable(flatbuffers::StructDef const&, std::__1::basic_string, std::__1::allocator >*, unsigned int*)', 'flatbuffers::CheckedError::CheckedError(flatbuffers::CheckedError const&)', 'flatbuffers::Parser::ParseAnyValue(flatbuffers::Value&, flatbuffers::FieldDef*, unsigned long, flatbuffers::StructDef const*, unsigned long, bool)', 'flatbuffers::Parser::DoParse(char const*, char const**, char const*, char const*)', 'std::__1::enable_if::type flatbuffers::FlatBufferBuilderImpl::GetSizeRelative32BitRegion() const', 'flatbuffers::Parser::StartStruct(std::__1::basic_string, std::__1::allocator > const&, flatbuffers::StructDef**)']

/src/flatbuffers/tests/fuzzer/flatbuffers_parser_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['flatbuffers::Vector::data() const', 'LLVMFuzzerTestOneInput', 'flatbuffers::EnumValBuilder::~EnumValBuilder()', 'flatbuffers::Parser::AddField(flatbuffers::StructDef&, std::__1::basic_string, std::__1::allocator > const&, flatbuffers::Type const&, flatbuffers::FieldDef**)', 'flatbuffers::Vector, unsigned int>::Get(unsigned int) const', 'flatbuffers::Parser::ParseEnum(bool, flatbuffers::EnumDef**, char const*)', 'flatbuffers::Parser::Serialize()', 'flatbuffers::Parser::StartStruct(std::__1::basic_string, std::__1::allocator > const&, flatbuffers::StructDef**)', 'flatbuffers::Parser::CheckPrivateLeak()', 'flatbuffers::Parser::ParseNamespace()']

/src/flatbuffers/tests/fuzzer/flatbuffers_monster_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['flatbuffers::EnumDef::EnumDef()', 'flatbuffers::Parser::ParseDecl(char const*)', 'flatbuffers::FieldDef::FieldDef()', 'flatbuffers::Vector, unsigned int>::Get(unsigned int) const', 'flatbuffers::Parser::DoParse(char const*, char const**, char const*, char const*)', 'flexbuffers::Reference::ToString(bool, bool, std::__1::basic_string, std::__1::allocator >&, bool, int, char const*, bool) const', 'flatbuffers::StructDef* flatbuffers::(anonymous namespace)::LookupTableByName(flatbuffers::SymbolTable const&, std::__1::basic_string, std::__1::allocator > const&, flatbuffers::Namespace const&, unsigned long)', 'flatbuffers::Parser::ParseFunction(std::__1::basic_string, std::__1::allocator > const*, flatbuffers::Value&)', 'flatbuffers::Parser::DoParse(char const*, char const**, char const*, char const*)', 'flatbuffers::Parser::ParseSingleValue(std::__1::basic_string, std::__1::allocator > const*, flatbuffers::Value&, bool)']

/src/flatbuffers/tests/fuzzer/flatbuffers_codegen_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['flatbuffers::Parser::ParseRoot(char const*, char const**, char const*)', 'flatbuffers::Parser::DoParseJson()', 'flatbuffers::EnumValBuilder::~EnumValBuilder()', 'flatbuffers::Parser::AddField(flatbuffers::StructDef&, std::__1::basic_string, std::__1::allocator > const&, flatbuffers::Type const&, flatbuffers::FieldDef**)', 'flatbuffers::Parser::Expect(int)', 'flatbuffers::strtoval_impl(double*, char const*, char**)', 'flatbuffers::Parser::ParseEnum(bool, flatbuffers::EnumDef**, char const*)', 'flatbuffers::Parser::~Parser()', 'flatbuffers::Parser::ParseField(flatbuffers::StructDef&)', 'flatbuffers::Parser::StartStruct(std::__1::basic_string, std::__1::allocator > const&, flatbuffers::StructDef**)']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
flatbuffers::BinaryAnnotator::BuildHeader(unsignedlong) 58 31 53.44% ['annotator_fuzzer']
voidflatbuffers::JsonPrinter::PrintScalar (signedchar,flatbuffers::Typeconst&,int) 36 14 38.88% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
voidflatbuffers::JsonPrinter::PrintScalar (short,flatbuffers::Typeconst&,int) 36 6 16.66% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
voidflatbuffers::JsonPrinter::PrintScalar (unsignedshort,flatbuffers::Typeconst&,int) 36 6 16.66% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
voidflatbuffers::JsonPrinter::PrintScalar (int,flatbuffers::Typeconst&,int) 36 6 16.66% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
voidflatbuffers::JsonPrinter::PrintScalar (unsignedint,flatbuffers::Typeconst&,int) 36 6 16.66% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
voidflatbuffers::JsonPrinter::PrintScalar (long,flatbuffers::Typeconst&,int) 36 6 16.66% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
voidflatbuffers::JsonPrinter::PrintScalar (float,flatbuffers::Typeconst&,int) 36 6 16.66% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
voidflatbuffers::JsonPrinter::PrintScalar (double,flatbuffers::Typeconst&,int) 36 6 16.66% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
flatbuffers::Parser::ParseRoot(charconst*,charconst**,charconst*) 76 35 46.05% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
flatbuffers::Parser::CheckPrivateLeak() 40 2 5.0% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']
flatbuffers::JsonPrinter::PrintOffset(voidconst*,flatbuffers::Typeconst&,int,unsignedcharconst*,int) 59 30 50.84% ['scalar_fuzzer', 'codegen_fuzzer', 'monster_fuzzer', 'parser_fuzzer']

Files and Directories in report

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

Files in report

Source file Reached by Covered by
[] []
/usr/local/bin/../include/c++/v1/string [] []
/src/flatbuffers/tests/fuzzer/../../tests/64bit/test_64bit_generated.h ['64bit_fuzzer'] []
/src/flatbuffers/src/idl_gen_swift.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/src/util.cpp ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer']
/src/flatbuffers/src/idl_gen_cpp.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../tests/64bit/test_64bit_bfbs_generated.h [] []
/src/flatbuffers/tests/fuzzer/flatbuffers_64bit_fuzzer.cc ['64bit_fuzzer'] ['64bit_fuzzer']
/usr/local/bin/../include/c++/v1/__exception/exception.h [] []
/src/flatbuffers/src/idl_gen_grpc.cpp [] []
/usr/local/bin/../include/c++/v1/sstream [] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/struct.h ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/flatbuffers_annotator_fuzzer.cc ['annotator_fuzzer'] ['annotator_fuzzer']
/src/flatbuffers/tests/fuzzer/test_init.h ['scalar_fuzzer'] ['scalar_fuzzer']
/src/flatbuffers/tests/fuzzer/../../grpc/src/compiler/schema_interface.h [] []
/src/flatbuffers/src/bfbs_namer.h ['codegen_fuzzer'] []
/src/flatbuffers/tests/test_assert.cpp ['64bit_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] ['64bit_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer']
/src/flatbuffers/src/idl_gen_kotlin.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/usr/local/bin/../include/c++/v1/stdexcept [] []
/src/flatbuffers/src/bfbs_gen_lua.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/flatbuffers_verifier_fuzzer.cc ['verifier_fuzzer'] ['verifier_fuzzer']
/src/flatbuffers/tests/fuzzer/../../grpc/src/compiler/cpp_generator.h [] []
/src/flatbuffers/tests/fuzzer/flatbuffers_codegen_fuzzer.cc ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/src/binary_annotator.cpp ['annotator_fuzzer'] ['annotator_fuzzer']
/src/flatbuffers/src/flatc.cpp [] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/base.h ['flexverifier_fuzzer', '64bit_fuzzer', 'verifier_fuzzer', 'annotator_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector.h ['64bit_fuzzer', 'verifier_fuzzer', 'annotator_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/src/idl_gen_java.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/codegen/idl_namer.h [] []
/src/flatbuffers/tests/fuzzer/../../include/codegen/python.h [] []
/src/flatbuffers/src/idl_gen_fbs.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/src/idl_gen_lobster.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/grpc/src/compiler/java_generator.cc [] []
/src/flatbuffers/src/idl_gen_binary.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/src/idl_gen_text.cpp ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/array.h ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/grpc/src/compiler/go_generator.cc [] []
/usr/local/bin/../include/c++/v1/istream [] []
/src/flatbuffers/src/idl_gen_python.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/src/file_manager.cpp [] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/verifier.h ['64bit_fuzzer', 'verifier_fuzzer', 'annotator_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flatbuffers.h [] []
/src/flatbuffers/src/code_generators.cpp [] []
/src/flatbuffers/src/idl_gen_go.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/table.h ['64bit_fuzzer', 'verifier_fuzzer', 'annotator_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flexbuffers.h ['flexverifier_fuzzer', 'verifier_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/hash.h ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/flatbuffers_scalar_fuzzer.cc ['scalar_fuzzer'] ['scalar_fuzzer']
/src/flatbuffers/src/file_name_manager.cpp [] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flatbuffer_builder.h ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/code_generator.h ['codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/flatbuffers_parser_fuzzer.cc ['parser_fuzzer'] ['parser_fuzzer']
/src/flatbuffers/src/annotated_binary_text_gen.h [] []
/src/flatbuffers/tests/fuzzer/../../include/codegen/namer.h ['codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection_generated.h ['annotator_fuzzer', 'parser_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/flatbuffers_monster_fuzzer.cc ['monster_fuzzer'] ['monster_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flatc.h [] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/string.h ['64bit_fuzzer', 'annotator_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/grpc/src/compiler/python_generator.cc [] []
/src/flatbuffers/src/idl_gen_dart.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/src/idl_gen_kotlin_kmp.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/grpc/src/compiler/ts_generator.cc [] []
/src/flatbuffers/include/codegen/python.cc [] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/file_manager.h [] []
/src/flatbuffers/src/idl_gen_php.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/src/idl_parser.cpp ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/buffer.h ['64bit_fuzzer', 'verifier_fuzzer', 'annotator_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/usr/local/bin/../include/c++/v1/optional ['annotator_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/src/bfbs_gen_nim.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/vector_downward.h ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/src/reflection.cpp ['annotator_fuzzer'] ['annotator_fuzzer']
/src/flatbuffers/grpc/src/compiler/cpp_generator.cc [] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/flex_flat_util.h ['verifier_fuzzer', 'monster_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/idl.h ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../grpc/src/compiler/java_generator.h [] []
/src/flatbuffers/src/bfbs_gen.h ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/util.h ['64bit_fuzzer', 'annotator_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../src/binary_annotator.h ['annotator_fuzzer'] ['annotator_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/reflection.h ['annotator_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/src/idl_gen_ts.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/allocator.h ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../tests/test_assert.h ['64bit_fuzzer', 'scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/tests/fuzzer/../../tests/cpp17/generated_cpp17/monster_test_generated.h ['verifier_fuzzer', 'monster_fuzzer'] []
/src/flatbuffers/src/binary_annotator.h ['annotator_fuzzer'] ['annotator_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/default_allocator.h ['scalar_fuzzer', 'parser_fuzzer', 'monster_fuzzer', 'codegen_fuzzer'] []
/src/flatbuffers/src/idl_gen_json_schema.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/../../grpc/src/compiler/go_generator.h [] []
/src/flatbuffers/src/annotated_binary_text_gen.cpp [] []
/src/flatbuffers/grpc/src/compiler/swift_generator.cc [] []
/src/flatbuffers/src/idl_gen_csharp.cpp ['codegen_fuzzer'] ['codegen_fuzzer']
/src/flatbuffers/tests/fuzzer/flexbuffers_verifier_fuzzer.cc ['flexverifier_fuzzer'] ['flexverifier_fuzzer']
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/code_generators.h [] []
/src/flatbuffers/src/idl_gen_rust.cpp ['codegen_fuzzer'] ['codegen_fuzzer']

Directories in report

Directory
/usr/local/bin/../include/c++/v1/
/src/flatbuffers/tests/fuzzer/../../grpc/src/compiler/
/src/flatbuffers/tests/fuzzer/../../include/codegen/
/src/flatbuffers/src/
/src/flatbuffers/tests/fuzzer/../../tests/64bit/
/src/flatbuffers/grpc/src/compiler/
/src/flatbuffers/include/codegen/
/src/flatbuffers/tests/
/src/flatbuffers/tests/fuzzer/../../include/flatbuffers/
/src/flatbuffers/tests/fuzzer/../../src/
/src/flatbuffers/tests/fuzzer/../../tests/
/src/flatbuffers/tests/fuzzer/../../tests/cpp17/generated_cpp17/
/src/flatbuffers/tests/fuzzer/
/usr/local/bin/../include/c++/v1/__exception/