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

Fuzzer details

Fuzzer: fuzz_json

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 0 0.0%
gold [1:9] 2 8.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 23 92.0%
All colors 25 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 0 6 :

['std::__1::__map_iterator , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, std::__1::__tree_node , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, void*>*, long> >::operator++()', 'std::__1::map , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, dnnl::impl::graph::utils::json::read_helper_t::entry_t> > >::end()', 'std::__1::__map_iterator , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, std::__1::__tree_node , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, void*>*, long> >::operator->() const', 'std::__1::operator!=(std::__1::__map_iterator , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, std::__1::__tree_node , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, void*>*, long> > const&, std::__1::__map_iterator , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, std::__1::__tree_node , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, void*>*, long> > const&)', 'std::__1::map , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, dnnl::impl::graph::utils::json::read_helper_t::entry_t> > >::begin()', 'std::__1::map , std::__1::allocator >, int, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, int> > >::count(std::__1::basic_string , std::__1::allocator > const&) const']

0 0 dnnl::impl::graph::utils::json::read_helper_t::read_fields(dnnl::impl::graph::utils::json::json_reader_t*) call site: 00000 /src/oneDNN/src/graph/utils/json.hpp:570

Runtime coverage analysis

Covered functions
10
Functions that are reachable but not covered
10
Reachable functions
29
Percentage of reachable functions covered
65.52%
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/fuzz_json.cpp 1
/src/oneDNN/src/graph/utils/json.hpp 11