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

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
backtrace_fuzzer /src/backtrace_fuzzer.cc 214 1179 13 23 531 441 backtrace_fuzzer.cc
levels_fuzzer /src/levels_fuzzer.cc 210 1180 13 26 639 538 levels_fuzzer.cc
log_fuzzer /src/log_fuzzer.cc 1271 605 19 23 5105 2703 log_fuzzer.cc
pattern_fuzzer /src/pattern_fuzzer.cc 473 1021 12 17 1506 1276 pattern_fuzzer.cc
/src/inspector/source-code/src/format_fuzzer.cc /src/inspector/source-code/src/format_fuzzer.cc 1612 436 19 23 6252 3671 format_fuzzer.cc
/src/inspector/light/source_files/src/pattern_fuzzer.cc /src/inspector/light/source_files/src/pattern_fuzzer.cc 473 1021 12 17 1506 1276 pattern_fuzzer.cc
/src/inspector/light/source_files/src/levels_fuzzer.cc /src/inspector/light/source_files/src/levels_fuzzer.cc 210 1180 13 26 639 538 levels_fuzzer.cc
/src/inspector/source-code/src/backtrace_fuzzer.cc /src/inspector/source-code/src/backtrace_fuzzer.cc 214 1179 13 23 531 441 backtrace_fuzzer.cc
/src/inspector/source-code/src/pattern_fuzzer.cc /src/inspector/source-code/src/pattern_fuzzer.cc 473 1021 12 17 1506 1276 pattern_fuzzer.cc
/src/inspector/light/source_files/src/format_fuzzer.cc /src/inspector/light/source_files/src/format_fuzzer.cc 1612 436 19 23 6252 3671 format_fuzzer.cc
/src/inspector/light/source_files/src/backtrace_fuzzer.cc /src/inspector/light/source_files/src/backtrace_fuzzer.cc 214 1179 13 23 531 441 backtrace_fuzzer.cc
format_fuzzer /src/format_fuzzer.cc 1612 436 19 23 6252 3671 format_fuzzer.cc
/src/inspector/light/source_files/src/log_fuzzer.cc /src/inspector/light/source_files/src/log_fuzzer.cc 1271 605 19 23 5105 2703 log_fuzzer.cc
/src/inspector/source-code/src/levels_fuzzer.cc /src/inspector/source-code/src/levels_fuzzer.cc 210 1180 13 26 639 538 levels_fuzzer.cc
/src/inspector/source-code/src/log_fuzzer.cc /src/inspector/source-code/src/log_fuzzer.cc 1271 605 19 23 5105 2703 log_fuzzer.cc

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: backtrace_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 168 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 168 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
167 0 EP call site: 00000 __cxa_guard_acquire

Runtime coverage analysis

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

Files reached

filename functions hit
/src/backtrace_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 4
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 11
/src/spdlog/include/spdlog/fmt/bundled/base.h 20
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 9
/src/spdlog/include/spdlog/details/backtracer-inl.h 5
/src/spdlog/include/spdlog/details/circular_q.h 8
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 4
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 4
/src/spdlog/include/spdlog/details/log_msg-inl.h 3
/src/spdlog/include/spdlog/details/os-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: levels_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 62 39.4%
gold [1:9] 27 17.1%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 68 43.3%
All colors 157 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2359 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2359 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 5 :

['_ZNSt3__110unique_ptrIN6spdlog7details14flag_formatterENS_14default_deleteIS3_EEEC2B8ne180100INS1_21custom_flag_formatterENS4_IS8_EEvvEEONS0_IT_T0_EE', 'std::__1::__hash_map_iterator > >, void*>*> >::operator->[abi:ne180100]() const', 'std::__1::unique_ptr >::~unique_ptr[abi:ne180100]()', 'std::__1::unique_ptr >::operator->[abi:ne180100]() const', 'spdlog::custom_flag_formatter::set_padding_info(spdlog::details::padding_info const&)']

2 2 voidspdlog::pattern_formatter::handle_flag_ (char,spdlog::details::padding_info) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1014
0 36 1 :

['void spdlog::details::fmt_helper::append_int (unsigned int, fmt::v11::basic_memory_buffer >&)']

0 36 voidspdlog::details::fmt_helper::pad3 (unsignedint,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:107
0 20 4 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+ , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator >)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()']

0 20 spdlog::details::registry::throw_if_exists_(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:254
0 8 7 :

['std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', 'spdlog::details::os::mkdir_(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::empty[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::size[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::find_first_of[abi:ne180100](char const*, unsigned long) const', 'spdlog::details::os::path_exists(std::__1::basic_string , std::__1::allocator > const&)']

0 8 spdlog::details::os::create_dir(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/details/os-inl.h:520
0 0 1 :

['std::__1::function , std::__1::allocator > const&)>::operator()(std::__1::basic_string , std::__1::allocator > const&) const']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:33
0 0 None 2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:39
0 0 None 10 1102 spdlog::pattern_formatter::compile_pattern_(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1310

Runtime coverage analysis

Covered functions
149
Functions that are reachable but not covered
66
Reachable functions
210
Percentage of reachable functions covered
68.57%
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/levels_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 4
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 11
/src/spdlog/include/spdlog/fmt/bundled/base.h 19
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 7
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 3
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 2
/src/spdlog/include/spdlog/cfg/env.h 1
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/cfg/helpers-inl.h 5
/src/spdlog/include/spdlog/cfg/argv.h 1
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 4
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: log_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 1029 61.5%
gold [1:9] 30 1.79%
yellow [10:29] 9 0.53%
greenyellow [30:49] 5 0.29%
lawngreen 50+ 600 35.8%
All colors 1673 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00123 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
2 2 5 :

['_ZNSt3__110unique_ptrIN6spdlog7details14flag_formatterENS_14default_deleteIS3_EEEC2B8ne180100INS1_21custom_flag_formatterENS4_IS8_EEvvEEONS0_IT_T0_EE', 'std::__1::__hash_map_iterator > >, void*>*> >::operator->[abi:ne180100]() const', 'std::__1::unique_ptr >::~unique_ptr[abi:ne180100]()', 'std::__1::unique_ptr >::operator->[abi:ne180100]() const', 'spdlog::custom_flag_formatter::set_padding_info(spdlog::details::padding_info const&)']

2 2 voidspdlog::pattern_formatter::handle_flag_ (char,spdlog::details::padding_info) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1014
0 63 4 :

['_ZN3fmt3v116detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator=(char)', 'fmt::v11::basic_appender ::operator++(int)', 'fmt::v11::basic_appender ::operator*()']

0 63 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00171 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
0 36 1 :

['void spdlog::details::fmt_helper::append_int (unsigned int, fmt::v11::basic_memory_buffer >&)']

0 36 voidspdlog::details::fmt_helper::pad3 (unsignedint,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:107
0 24 1 :

['fmt::v11::basic_appender fmt::v11::detail::copy_noinline >(char*, char*, fmt::v11::basic_appender )']

0 42 _ZN3fmt3v116detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i call site: 00166 /src/spdlog/include/spdlog/fmt/bundled/format.h:1211
0 24 1 :

['fmt::v11::basic_appender fmt::v11::detail::copy_noinline >(char*, char*, fmt::v11::basic_appender )']

0 30 _ZN3fmt3v116detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib call site: 01061 /src/spdlog/include/spdlog/fmt/bundled/format.h:1248

Runtime coverage analysis

Covered functions
412
Functions that are reachable but not covered
579
Reachable functions
1271
Percentage of reachable functions covered
54.45%
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/log_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 6
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 8
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 372
/src/spdlog/include/spdlog/fmt/bundled/base.h 191
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 40
/src/spdlog/include/spdlog/logger-inl.h 8
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 2
/src/spdlog/include/spdlog/spdlog.h 6
/src/spdlog/include/spdlog/logger.h 12
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: pattern_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 40 12.8%
gold [1:9] 22 7.05%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 250 80.1%
All colors 312 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 5 :

['_ZNSt3__110unique_ptrIN6spdlog7details14flag_formatterENS_14default_deleteIS3_EEEC2B8ne180100INS1_21custom_flag_formatterENS4_IS8_EEvvEEONS0_IT_T0_EE', 'std::__1::__hash_map_iterator > >, void*>*> >::operator->[abi:ne180100]() const', 'std::__1::unique_ptr >::~unique_ptr[abi:ne180100]()', 'std::__1::unique_ptr >::operator->[abi:ne180100]() const', 'spdlog::custom_flag_formatter::set_padding_info(spdlog::details::padding_info const&)']

2 2 voidspdlog::pattern_formatter::handle_flag_ (char,spdlog::details::padding_info) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1014
2 2 5 :

['_ZNSt3__110unique_ptrIN6spdlog7details14flag_formatterENS_14default_deleteIS3_EEEC2B8ne180100INS1_21custom_flag_formatterENS4_IS8_EEvvEEONS0_IT_T0_EE', 'std::__1::__hash_map_iterator > >, void*>*> >::operator->[abi:ne180100]() const', 'std::__1::unique_ptr >::~unique_ptr[abi:ne180100]()', 'std::__1::unique_ptr >::operator->[abi:ne180100]() const', 'spdlog::custom_flag_formatter::set_padding_info(spdlog::details::padding_info const&)']

2 2 voidspdlog::pattern_formatter::handle_flag_ (char,spdlog::details::padding_info) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1014
0 20 4 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+ , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator >)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()']

0 20 spdlog::details::registry::throw_if_exists_(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:254
0 8 7 :

['std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', 'spdlog::details::os::mkdir_(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::empty[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::size[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::find_first_of[abi:ne180100](char const*, unsigned long) const', 'spdlog::details::os::path_exists(std::__1::basic_string , std::__1::allocator > const&)']

0 8 spdlog::details::os::create_dir(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/details/os-inl.h:520
0 0 1 :

['std::__1::function , std::__1::allocator > const&)>::operator()(std::__1::basic_string , std::__1::allocator > const&) const']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:33
0 0 None 2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:39
0 0 1 :

['std::__1::function , std::__1::allocator > const&, _IO_FILE*)>::operator()(std::__1::basic_string , std::__1::allocator > const&, _IO_FILE*) const']

2 2 spdlog::details::file_helper::close() call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:85
0 0 None 0 12 voidspdlog::pattern_formatter::handle_flag_ (char,spdlog::details::padding_info) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1237
0 0 1 :

['std::__1::function , std::__1::allocator > const&)>::operator()(std::__1::basic_string , std::__1::allocator > const&) const']

0 0 spdlog::details::file_helper::close() call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:92

Runtime coverage analysis

Covered functions
242
Functions that are reachable but not covered
58
Reachable functions
473
Percentage of reachable functions covered
87.74%
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/pattern_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 86
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 8
/src/spdlog/include/spdlog/pattern_formatter-inl.h 90
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 7
/src/spdlog/include/spdlog/fmt/bundled/format.h 8
/src/spdlog/include/spdlog/fmt/bundled/base.h 7
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 6
/src/spdlog/include/spdlog/details/backtracer-inl.h 1
/src/spdlog/include/spdlog/details/circular_q.h 4
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 3

Fuzzer: /src/inspector/source-code/src/format_fuzzer.cc

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 1074 57.4%
gold [1:9] 32 1.71%
yellow [10:29] 9 0.48%
greenyellow [30:49] 5 0.26%
lawngreen 50+ 748 40.0%
All colors 1868 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00359 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
579
Reachable functions
1612
Percentage of reachable functions covered
64.08%
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/inspector/source-code/src/format_fuzzer.cc 2
/src/spdlog/include/spdlog/common.h 90
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 90
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 9
/src/spdlog/include/spdlog/fmt/bundled/format.h 372
/src/spdlog/include/spdlog/fmt/bundled/base.h 191
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 40
/src/spdlog/include/spdlog/logger-inl.h 8
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 3
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 7
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: /src/inspector/light/source_files/src/pattern_fuzzer.cc

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 71 22.7%
gold [1:9] 33 10.5%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 208 66.6%
All colors 312 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
41
Reachable functions
473
Percentage of reachable functions covered
91.33%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/pattern_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 86
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 8
/src/spdlog/include/spdlog/pattern_formatter-inl.h 90
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 7
/src/spdlog/include/spdlog/fmt/bundled/format.h 8
/src/spdlog/include/spdlog/fmt/bundled/base.h 7
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 6
/src/spdlog/include/spdlog/details/backtracer-inl.h 1
/src/spdlog/include/spdlog/details/circular_q.h 4
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 3

Fuzzer: /src/inspector/light/source_files/src/levels_fuzzer.cc

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 63 40.1%
gold [1:9] 23 14.6%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 71 45.2%
All colors 157 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
56
Reachable functions
210
Percentage of reachable functions covered
73.33%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/levels_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 4
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 11
/src/spdlog/include/spdlog/fmt/bundled/base.h 19
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 7
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 3
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 2
/src/spdlog/include/spdlog/cfg/env.h 1
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/cfg/helpers-inl.h 5
/src/spdlog/include/spdlog/cfg/argv.h 1
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 4
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: /src/inspector/source-code/src/backtrace_fuzzer.cc

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 84 50.0%
gold [1:9] 27 16.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 57 33.9%
All colors 168 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
77
Reachable functions
214
Percentage of reachable functions covered
64.02%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/backtrace_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 4
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 11
/src/spdlog/include/spdlog/fmt/bundled/base.h 20
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 9
/src/spdlog/include/spdlog/details/backtracer-inl.h 5
/src/spdlog/include/spdlog/details/circular_q.h 8
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 4
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 4
/src/spdlog/include/spdlog/details/log_msg-inl.h 3
/src/spdlog/include/spdlog/details/os-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: /src/inspector/source-code/src/pattern_fuzzer.cc

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 71 22.7%
gold [1:9] 33 10.5%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 208 66.6%
All colors 312 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
41
Reachable functions
473
Percentage of reachable functions covered
91.33%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/pattern_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 86
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 8
/src/spdlog/include/spdlog/pattern_formatter-inl.h 90
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 7
/src/spdlog/include/spdlog/fmt/bundled/format.h 8
/src/spdlog/include/spdlog/fmt/bundled/base.h 7
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 6
/src/spdlog/include/spdlog/details/backtracer-inl.h 1
/src/spdlog/include/spdlog/details/circular_q.h 4
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 3

Fuzzer: /src/inspector/light/source_files/src/format_fuzzer.cc

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 1074 57.4%
gold [1:9] 32 1.71%
yellow [10:29] 9 0.48%
greenyellow [30:49] 5 0.26%
lawngreen 50+ 748 40.0%
All colors 1868 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00359 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
579
Reachable functions
1612
Percentage of reachable functions covered
64.08%
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/inspector/light/source_files/src/format_fuzzer.cc 2
/src/spdlog/include/spdlog/common.h 90
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 90
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 9
/src/spdlog/include/spdlog/fmt/bundled/format.h 372
/src/spdlog/include/spdlog/fmt/bundled/base.h 191
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 40
/src/spdlog/include/spdlog/logger-inl.h 8
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 3
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 7
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: /src/inspector/light/source_files/src/backtrace_fuzzer.cc

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 84 50.0%
gold [1:9] 27 16.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 57 33.9%
All colors 168 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
77
Reachable functions
214
Percentage of reachable functions covered
64.02%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/backtrace_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 4
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 11
/src/spdlog/include/spdlog/fmt/bundled/base.h 20
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 9
/src/spdlog/include/spdlog/details/backtracer-inl.h 5
/src/spdlog/include/spdlog/details/circular_q.h 8
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 4
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 4
/src/spdlog/include/spdlog/details/log_msg-inl.h 3
/src/spdlog/include/spdlog/details/os-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: format_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 1112 59.5%
gold [1:9] 75 4.01%
yellow [10:29] 19 1.01%
greenyellow [30:49] 3 0.16%
lawngreen 50+ 659 35.2%
All colors 1868 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
2784 2929 22 :

['fmt::v11::basic_format_arg ::handle::handle(fmt::v11::detail::custom_value )', '_ZN3fmt3v116detail21default_arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', 'fmt::v11::detail::string_value ::str() const', 'fmt::v11::detail::default_arg_formatter ::operator()(fmt::v11::basic_format_arg ::handle)', 'fmt::v11::detail::map(__int128)', '_ZN3fmt3v116detail21default_arg_formatterIcEclIbTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIyTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIjTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIdTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v116detail21default_arg_formatterIcEclIxTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', 'fmt::v11::basic_format_args ::get(int) const', 'fmt::v11::detail::map(unsigned __int128)', 'fmt::v11::detail::default_arg_formatter ::operator()(fmt::v11::monostate)', 'fmt::v11::monostate::monostate()', '_ZN3fmt3v116detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_']

2784 2929 fmt::v11::detail::vformat_to(fmt::v11::detail::buffer &,fmt::v11::basic_string_view ,fmt::v11::basic_format_args ,fmt::v11::detail::locale_ref) call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format-inl.h:1455
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2359 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2359 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
16 16 1 :

['fmt::v11::parse_context ::advance_to(char const*)']

16 16 fmt::v11::basic_format_arg ::format_custom(charconst*,fmt::v11::parse_context &,fmt::v11::context&) call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/base.h:2542
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
5 33 5 :

['spdlog::details::padding_info::enabled() const', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'spdlog::details::short_filename_formatter ::basename(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

5 144 spdlog::details::short_filename_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:722
5 33 5 :

['spdlog::details::padding_info::enabled() const', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'spdlog::details::short_filename_formatter ::basename(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

5 35 spdlog::details::short_filename_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:722
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740

Runtime coverage analysis

Covered functions
645
Functions that are reachable but not covered
633
Reachable functions
1612
Percentage of reachable functions covered
60.73%
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/format_fuzzer.cc 2
/src/spdlog/include/spdlog/common.h 90
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 90
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 9
/src/spdlog/include/spdlog/fmt/bundled/format.h 372
/src/spdlog/include/spdlog/fmt/bundled/base.h 191
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 40
/src/spdlog/include/spdlog/logger-inl.h 8
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 3
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 7
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: /src/inspector/light/source_files/src/log_fuzzer.cc

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 1018 60.8%
gold [1:9] 30 1.79%
yellow [10:29] 9 0.53%
greenyellow [30:49] 5 0.29%
lawngreen 50+ 611 36.5%
All colors 1673 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00123 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
574
Reachable functions
1271
Percentage of reachable functions covered
54.84%
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/inspector/light/source_files/src/log_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 6
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 8
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 372
/src/spdlog/include/spdlog/fmt/bundled/base.h 191
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 40
/src/spdlog/include/spdlog/logger-inl.h 8
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 2
/src/spdlog/include/spdlog/spdlog.h 6
/src/spdlog/include/spdlog/logger.h 12
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: /src/inspector/source-code/src/levels_fuzzer.cc

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 63 40.1%
gold [1:9] 23 14.6%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 71 45.2%
All colors 157 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
56
Reachable functions
210
Percentage of reachable functions covered
73.33%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/levels_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 4
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 9
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 11
/src/spdlog/include/spdlog/fmt/bundled/base.h 19
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 1
/src/spdlog/include/spdlog/logger-inl.h 7
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 3
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 2
/src/spdlog/include/spdlog/cfg/env.h 1
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/cfg/helpers-inl.h 5
/src/spdlog/include/spdlog/cfg/argv.h 1
/src/spdlog/include/spdlog/spdlog.h 1
/src/spdlog/include/spdlog/logger.h 4
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

Fuzzer: /src/inspector/source-code/src/log_fuzzer.cc

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 1018 60.8%
gold [1:9] 30 1.79%
yellow [10:29] 9 0.53%
greenyellow [30:49] 5 0.29%
lawngreen 50+ 611 36.5%
All colors 1673 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
2364 2390 12 :

['std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'spdlog::details::os::fopen_s(_IO_FILE**, std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::sleep_for_millis(unsigned int)', 'fclose', 'spdlog::details::os::filename_to_str(std::__1::basic_string , std::__1::allocator > const&)', '__errno_location', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator > const&, int)', 'spdlog::details::os::dir_name(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::create_dir(std::__1::basic_string , std::__1::allocator > const&)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc']

2364 2390 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:50
2337 2359 7 :

['std::__1::back_insert_iterator > > std::__1::back_inserter[abi:ne180100] > >(fmt::v11::basic_memory_buffer >&)', 'void fmt::v11::detail::ignore_unused (int const&)', 'void fmt::v11::detail::parse_format_string >(fmt::v11::basic_string_view , fmt::v11::detail::format_string_checker &&)', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v11::basic_string_view () const', 'spdlog::details::fmt_helper::pad2(int, fmt::v11::basic_memory_buffer >&)::{lambda()#1}::operator()() const', '_ZN3fmt3v1110vformat_toIRNSt3__120back_insert_iteratorINS0_19basic_memory_bufferIcLm250ENS0_6detail9allocatorIcEEEEEETnNS2_9enable_ifIXsr6detail18is_output_iteratorINS2_9remove_cvINS2_16remove_referenceIT_E4typeEE4typeEcEE5valueEiE4typeELi0EEESI_OSE_NS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEE', 'fmt::v11::detail::format_string_checker ::format_string_checker (fmt::v11::basic_string_view , fmt::v11::detail::arg_pack )']

2337 2359 spdlog::details::fmt_helper::pad2(int,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:85
50 61 4 :

['fmt::v11::basic_appender ::operator*()', 'fmt::v11::basic_appender ::operator=(char)', '_ZN3fmt3v116detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', 'fmt::v11::basic_appender ::operator++(int)']

50 61 _ZN3fmt3v116detail5writeIcNS0_14basic_appenderIcEEiTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00123 /src/spdlog/include/spdlog/fmt/bundled/format.h:2164
16 16 2 :

['std::__1::shared_ptr ::operator->[abi:ne180100]() const', 'spdlog::logger::enable_backtrace(unsigned long)']

16 50 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:77
6 79 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'unsigned int spdlog::details::scoped_padder::count_digits (int)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

6 190 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
6 46 2 :

['unsigned int spdlog::details::scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

6 157 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1004
2 75 7 :

['spdlog::details::padding_info::enabled() const', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)', 'fmt::v11::detail::buffer ::push_back(char const&)', 'fmt::v11::basic_string_view ::basic_string_view(char const*)', 'std::__1::char_traits ::length[abi:ne180100](char const*)', 'unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'spdlog::details::fmt_helper::append_string_view(fmt::v11::basic_string_view , fmt::v11::basic_memory_buffer >&)']

2 77 spdlog::details::source_location_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:652
2 42 2 :

['unsigned int spdlog::details::null_scoped_padder::count_digits (int)', 'void spdlog::details::fmt_helper::append_int (int, fmt::v11::basic_memory_buffer >&)']

2 44 spdlog::details::source_linenum_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:740
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::~function()', 'std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)']

18 58 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:66
2 2 6 :

['std::__1::__wrap_iter ::operator++[abi:ne180100](int)', 'std::__1::basic_string , std::__1::allocator >::back[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'char fmt::v11::detail::max_value ()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::end[abi:ne180100]() const']

2 4 fmt::v11::detail::digit_grouping ::next(fmt::v11::detail::digit_grouping ::next_state&)const call site: 00000 /src/spdlog/include/spdlog/fmt/bundled/format.h:1835
0 70 1 :

['spdlog::details::mdc_formatter ::format_mdc(std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > const&, fmt::v11::basic_memory_buffer >&)']

0 70 spdlog::details::mdc_formatter ::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:805

Runtime coverage analysis

Covered functions
721
Functions that are reachable but not covered
574
Reachable functions
1271
Percentage of reachable functions covered
54.84%
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/inspector/source-code/src/log_fuzzer.cc 1
/src/spdlog/include/spdlog/common.h 6
/src/spdlog/include/spdlog/sinks/basic_file_sink.h 1
/src/spdlog/include/spdlog/details/synchronous_factory.h 1
/src/spdlog/include/spdlog/details/registry-inl.h 8
/src/spdlog/include/spdlog/pattern_formatter-inl.h 3
/src/spdlog/include/spdlog/formatter.h 2
/src/spdlog/include/spdlog/pattern_formatter.h 3
/src/spdlog/include/spdlog/fmt/bundled/format.h 372
/src/spdlog/include/spdlog/fmt/bundled/base.h 191
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h 40
/src/spdlog/include/spdlog/logger-inl.h 8
/src/spdlog/include/spdlog/details/backtracer-inl.h 3
/src/spdlog/include/spdlog/details/circular_q.h 5
/src/spdlog/include/spdlog/common-inl.h 2
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/spdlog/include/spdlog/spdlog-inl.h 2
/src/spdlog/include/spdlog/spdlog.h 6
/src/spdlog/include/spdlog/logger.h 12
/src/spdlog/include/spdlog/details/log_msg-inl.h 2
/src/spdlog/include/spdlog/details/os-inl.h 4
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h 3
/src/spdlog/include/spdlog/details/log_msg_buffer.h 1

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
spdlog::sinks::basic_file_sink ::basic_file_sink(std::__1::basic_string ,std::__1::allocator >const&,bool,spdlog::file_event_handlersconst&) /src/spdlog/include/spdlog/sinks/basic_file_sink-inl.h 4 ['N/A', 'N/A', 'bool', 'N/A'] 20 0 69 9 8 1191 0 2515 236
fmt::v11::format_facet ::do_put(fmt::v11::basic_appender ,fmt::v11::loc_value,fmt::v11::format_specsconst&)const /src/spdlog/include/spdlog/fmt/bundled/format-inl.h 4 ['N/A', 'N/A', 'N/A', 'N/A'] 15 0 81 11 9 295 0 596 223
spdlog::details::full_formatter::format(spdlog::details::log_msgconst&,tmconst&,fmt::v11::basic_memory_buffer >&) /src/spdlog/include/spdlog/pattern_formatter-inl.h 4 ['N/A', 'N/A', 'N/A', 'N/A'] 16 0 313 18 7 1138 0 2327 123
spdlog::logger::sink_it_(spdlog::details::log_msgconst&) /src/spdlog/include/spdlog/logger-inl.h 2 ['N/A', 'N/A'] 15 0 379 47 36 1114 0 2352 52
spdlog::sinks::ansicolor_stdout_sink ::ansicolor_stdout_sink(spdlog::color_mode) /src/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h 2 ['N/A', 'int'] 10 0 22 3 2 92 0 159 36

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

Functions statically reachable by fuzzers
79.0%
1024 / 1298
Cyclomatic complexity statically reachable by fuzzers
82.0%
4469 / 5427

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/backtrace_fuzzer.cc

Dictionary

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


/src/levels_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=['void fmt::v11::detail::buffer::append(char const*, char const*)', 'spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::details::registry::register_logger_(std::__1::shared_ptr)', 'spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view)', 'fmt::v11::detail::allocator::allocate(unsigned long)', 'fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)', 'spdlog::details::registry::registry()', 'spdlog::details::full_formatter::full_formatter(spdlog::details::padding_info)', 'fmt::v11::basic_memory_buffer >::grow(fmt::v11::detail::buffer&, unsigned long)', 'fmt::v11::basic_memory_buffer >::~basic_memory_buffer()']

/src/log_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=['fmt::v11::basic_memory_buffer >::deallocate()', 'fmt::v11::detail::format_handler::on_format_specs(int, char const*, char const*)', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::basic_memory_buffer >::~basic_memory_buffer()', 'fmt::v11::report_error(char const*)', 'void spdlog::logger::log_, std::__1::allocator > const&>(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view, unsigned long const&, unsigned long const&, std::__1::basic_string, std::__1::allocator > const&)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)']

/src/pattern_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=['fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)', 'spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::details::registry::register_logger_(std::__1::shared_ptr)', 'fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)', 'spdlog::details::registry::registry()', 'spdlog::details::full_formatter::full_formatter(spdlog::details::padding_info)', 'fmt::v11::basic_memory_buffer >::~basic_memory_buffer()', 'spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::set_pattern(std::__1::basic_string, std::__1::allocator >, spdlog::pattern_time_type)', 'spdlog::pattern_formatter::compile_pattern_(std::__1::basic_string, std::__1::allocator > const&)']

/src/inspector/source-code/src/format_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=['fmt::v11::basic_memory_buffer >::deallocate()', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::detail::write_int_arg)())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits)())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v11::detail::make_write_int_arg(unsigned char, fmt::v11::sign)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::basic_memory_buffer >::~basic_memory_buffer()', 'fmt::v11::report_error(char const*)', 'void spdlog::logger::log_, std::__1::allocator > const&>(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view, unsigned long const&, unsigned long const&, std::__1::basic_string, std::__1::allocator > const&)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)']

/src/inspector/light/source_files/src/pattern_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=['spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::details::registry::register_logger_(std::__1::shared_ptr)', 'std::__1::unique_ptr, std::__1::default_delete > > spdlog::details::make_unique, spdlog::details::padding_info&>(spdlog::details::padding_info&)', 'fmt::v11::detail::allocator::allocate(unsigned long)', 'fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)', 'spdlog::pattern_formatter::handle_padspec_(std::__1::__wrap_iter&, std::__1::__wrap_iter)', 'spdlog::pattern_formatter::compile_pattern_(std::__1::basic_string, std::__1::allocator > const&)', 'spdlog::details::registry::registry()', 'spdlog::details::full_formatter::full_formatter(spdlog::details::padding_info)', 'fmt::v11::basic_memory_buffer >::grow(fmt::v11::detail::buffer&, unsigned long)']

/src/inspector/light/source_files/src/levels_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=['void fmt::v11::detail::buffer::append(char const*, char const*)', 'spdlog::details::registry::register_logger_(std::__1::shared_ptr)', 'spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view)', 'fmt::v11::detail::buffer::try_resize(unsigned long)', 'LLVMFuzzerTestOneInput', 'fmt::v11::detail::allocator::allocate(unsigned long)', 'fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)', 'spdlog::details::registry::registry()', 'spdlog::details::full_formatter::full_formatter(spdlog::details::padding_info)']

/src/inspector/source-code/src/backtrace_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=['void fmt::v11::detail::buffer::append(char const*, char const*)', 'fmt::v11::basic_string_view::basic_string_view(char const*)', 'LLVMFuzzerTestOneInput', 'spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::details::registry::register_logger_(std::__1::shared_ptr)', 'spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view)', 'fmt::v11::detail::buffer::try_resize(unsigned long)', 'fmt::v11::detail::allocator::allocate(unsigned long)', 'fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)']

/src/inspector/source-code/src/pattern_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=['spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::details::registry::register_logger_(std::__1::shared_ptr)', 'std::__1::unique_ptr, std::__1::default_delete > > spdlog::details::make_unique, spdlog::details::padding_info&>(spdlog::details::padding_info&)', 'fmt::v11::detail::allocator::allocate(unsigned long)', 'fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)', 'spdlog::pattern_formatter::handle_padspec_(std::__1::__wrap_iter&, std::__1::__wrap_iter)', 'spdlog::pattern_formatter::compile_pattern_(std::__1::basic_string, std::__1::allocator > const&)', 'spdlog::details::registry::registry()', 'spdlog::details::full_formatter::full_formatter(spdlog::details::padding_info)', 'fmt::v11::basic_memory_buffer >::grow(fmt::v11::detail::buffer&, unsigned long)']

/src/inspector/light/source_files/src/format_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=['fmt::v11::basic_memory_buffer >::deallocate()', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::detail::write_int_arg)())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits)())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v11::detail::make_write_int_arg(unsigned char, fmt::v11::sign)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::basic_memory_buffer >::~basic_memory_buffer()', 'fmt::v11::report_error(char const*)', 'void spdlog::logger::log_, std::__1::allocator > const&>(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view, unsigned long const&, unsigned long const&, std::__1::basic_string, std::__1::allocator > const&)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)']

/src/inspector/light/source_files/src/backtrace_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=['void fmt::v11::detail::buffer::append(char const*, char const*)', 'fmt::v11::basic_string_view::basic_string_view(char const*)', 'LLVMFuzzerTestOneInput', 'spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::details::registry::register_logger_(std::__1::shared_ptr)', 'spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view)', 'fmt::v11::detail::buffer::try_resize(unsigned long)', 'fmt::v11::detail::allocator::allocate(unsigned long)', 'fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)']

/src/format_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=['fmt::v11::basic_memory_buffer >::deallocate()', 'fmt::v11::basic_memory_buffer >::~basic_memory_buffer()', 'fmt::v11::detail::write_int_arg)())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits)())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v11::detail::make_write_int_arg(unsigned char, fmt::v11::sign)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::report_error(char const*)', 'void spdlog::logger::log_, std::__1::allocator > const&>(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view, unsigned long const&, unsigned long const&, std::__1::basic_string, std::__1::allocator > const&)', 'fmt::v11::basic_appender fmt::v11::detail::copy_noinline >(char const*, char const*, fmt::v11::basic_appender)', 'fmt::v11::context::arg(int) const']

/src/inspector/light/source_files/src/log_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=['fmt::v11::basic_memory_buffer >::deallocate()', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::detail::write_int_arg)())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits)())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v11::detail::make_write_int_arg(unsigned char, fmt::v11::sign)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::basic_memory_buffer >::~basic_memory_buffer()', 'fmt::v11::report_error(char const*)', 'void spdlog::logger::log_, std::__1::allocator > const&>(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view, unsigned long const&, unsigned long const&, std::__1::basic_string, std::__1::allocator > const&)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)']

/src/inspector/source-code/src/levels_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=['void fmt::v11::detail::buffer::append(char const*, char const*)', 'spdlog::details::registry::register_logger_(std::__1::shared_ptr)', 'spdlog::details::registry::initialize_logger(std::__1::shared_ptr)', 'spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view)', 'fmt::v11::detail::buffer::try_resize(unsigned long)', 'LLVMFuzzerTestOneInput', 'fmt::v11::detail::allocator::allocate(unsigned long)', 'fmt::v11::basic_memory_buffer >::basic_memory_buffer(fmt::v11::detail::allocator const&)', 'spdlog::details::registry::registry()', 'spdlog::details::full_formatter::full_formatter(spdlog::details::padding_info)']

/src/inspector/source-code/src/log_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=['fmt::v11::basic_memory_buffer >::deallocate()', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::detail::write_int_arg)())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits)())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v11::detail::make_write_int_arg(unsigned char, fmt::v11::sign)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::write_nonfinite >(fmt::v11::basic_appender, bool, fmt::v11::format_specs, fmt::v11::sign)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::detail::vformat_to(fmt::v11::detail::buffer&, fmt::v11::basic_string_view, fmt::v11::basic_format_args, fmt::v11::detail::locale_ref)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)', 'fmt::v11::basic_memory_buffer >::~basic_memory_buffer()', 'fmt::v11::report_error(char const*)', 'void spdlog::logger::log_, std::__1::allocator > const&>(spdlog::source_loc, spdlog::level::level_enum, fmt::v11::basic_string_view, unsigned long const&, unsigned long const&, std::__1::basic_string, std::__1::allocator > const&)', 'fmt::v11::basic_appender fmt::v11::detail::write_padded, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&>(fmt::v11::basic_appender, fmt::v11::format_specs const&, unsigned long, unsigned long, fmt::v11::detail::do_write_float, fmt::v11::detail::dragonbox::decimal_fp, fmt::v11::detail::digit_grouping >(fmt::v11::basic_appender, fmt::v11::detail::dragonbox::decimal_fp const&, fmt::v11::format_specs const&, fmt::v11::sign, int, fmt::v11::detail::locale_ref)::{lambda(fmt::v11::basic_appender)#1}&)']

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
/src/spdlog/include/spdlog/fmt/bundled/format.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
[] []
/src/spdlog/include/spdlog/cfg/argv.h ['levels_fuzzer', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc'] ['levels_fuzzer', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc']
/src/spdlog/include/spdlog/sinks/basic_file_sink.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/logger.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/details/registry-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/details/backtracer.h [] []
/src/backtrace_fuzzer.cc ['backtrace_fuzzer'] []
/src/spdlog/include/spdlog/details/log_msg-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/usr/local/bin/../include/c++/v1/__exception/exception.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] []
/src/spdlog/include/spdlog/cfg/env.h ['levels_fuzzer', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc'] ['levels_fuzzer', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc']
/src/pattern_fuzzer.cc ['pattern_fuzzer'] ['pattern_fuzzer']
/src/inspector/source-code/src/backtrace_fuzzer.cc ['/src/inspector/source-code/src/backtrace_fuzzer.cc'] ['/src/inspector/source-code/src/backtrace_fuzzer.cc']
/src/format_fuzzer.cc ['format_fuzzer'] ['format_fuzzer']
/src/inspector/light/source_files/src/levels_fuzzer.cc ['/src/inspector/light/source_files/src/levels_fuzzer.cc'] ['/src/inspector/light/source_files/src/levels_fuzzer.cc']
/src/spdlog/include/spdlog/sinks/sink-inl.h [] []
/src/spdlog/include/spdlog/logger-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/usr/local/bin/../include/c++/v1/string [] []
/src/spdlog/include/spdlog/formatter.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/sinks/basic_file_sink-inl.h [] []
/src/spdlog/include/spdlog/details/periodic_worker-inl.h [] []
/src/spdlog/include/spdlog/details/console_globals.h [] []
/src/levels_fuzzer.cc ['levels_fuzzer'] ['levels_fuzzer']
/src/inspector/light/source_files/src/backtrace_fuzzer.cc ['/src/inspector/light/source_files/src/backtrace_fuzzer.cc'] ['/src/inspector/light/source_files/src/backtrace_fuzzer.cc']
/src/spdlog/include/spdlog/fmt/bundled/base.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/cfg/helpers-inl.h ['levels_fuzzer', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc'] ['levels_fuzzer', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc']
/src/inspector/source-code/src/log_fuzzer.cc ['/src/inspector/source-code/src/log_fuzzer.cc'] ['/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/sinks/sink.h [] []
/src/inspector/source-code/src/levels_fuzzer.cc ['/src/inspector/source-code/src/levels_fuzzer.cc'] ['/src/inspector/source-code/src/levels_fuzzer.cc']
/src/spdlog/include/spdlog/details/synchronous_factory.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/spdlog.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/sinks/base_sink.h [] []
/src/spdlog/include/spdlog/pattern_formatter.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/pattern_formatter-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/common-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/inspector/light/source_files/src/log_fuzzer.cc ['/src/inspector/light/source_files/src/log_fuzzer.cc'] ['/src/inspector/light/source_files/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/details/log_msg.h [] []
/src/spdlog/include/spdlog/details/backtracer-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/sinks/ansicolor_sink.h [] []
/src/spdlog/include/spdlog/mdc.h [] []
/src/spdlog/include/spdlog/spdlog-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/inspector/source-code/src/format_fuzzer.cc ['/src/inspector/source-code/src/format_fuzzer.cc'] ['/src/inspector/source-code/src/format_fuzzer.cc']
/src/spdlog/include/spdlog/sinks/base_sink-inl.h [] []
/src/log_fuzzer.cc ['log_fuzzer'] ['log_fuzzer']
/src/spdlog/include/spdlog/common.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/details/file_helper-inl.h [] []
/src/inspector/light/source_files/src/format_fuzzer.cc ['/src/inspector/light/source_files/src/format_fuzzer.cc'] ['/src/inspector/light/source_files/src/format_fuzzer.cc']
/src/inspector/source-code/src/pattern_fuzzer.cc ['/src/inspector/source-code/src/pattern_fuzzer.cc'] ['/src/inspector/source-code/src/pattern_fuzzer.cc']
/src/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h [] []
/src/spdlog/include/spdlog/fmt/bundled/format-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/details/fmt_helper.h [] []
/src/spdlog/include/spdlog/details/circular_q.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', 'pattern_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/source-code/src/pattern_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/src/spdlog/include/spdlog/details/log_msg_buffer.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] []
/src/spdlog/include/spdlog/details/os-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']
/usr/local/bin/../include/c++/v1/stdexcept [] []
/src/inspector/light/source_files/src/pattern_fuzzer.cc ['/src/inspector/light/source_files/src/pattern_fuzzer.cc'] ['/src/inspector/light/source_files/src/pattern_fuzzer.cc']
/src/spdlog/include/spdlog/details/log_msg_buffer-inl.h ['backtrace_fuzzer', 'levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc'] ['levels_fuzzer', 'log_fuzzer', '/src/inspector/source-code/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/levels_fuzzer.cc', '/src/inspector/source-code/src/backtrace_fuzzer.cc', '/src/inspector/light/source_files/src/format_fuzzer.cc', '/src/inspector/light/source_files/src/backtrace_fuzzer.cc', 'format_fuzzer', '/src/inspector/light/source_files/src/log_fuzzer.cc', '/src/inspector/source-code/src/levels_fuzzer.cc', '/src/inspector/source-code/src/log_fuzzer.cc']

Directories in report

Directory
/src/spdlog/include/spdlog/
/usr/local/bin/../include/c++/v1/__exception/
/src/inspector/source-code/src/
/src/inspector/light/source_files/src/
/src/spdlog/include/spdlog/cfg/
/src/
/src/spdlog/include/spdlog/fmt/bundled/
/src/spdlog/include/spdlog/sinks/
/usr/local/bin/../include/c++/v1/
/src/spdlog/include/spdlog/details/

Metadata section

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
backtrace_fuzzer fuzzerLogFile-0-mF4lAAlL28.data fuzzerLogFile-0-mF4lAAlL28.data.yaml backtrace_fuzzer.covreport
levels_fuzzer fuzzerLogFile-0-2UP4yR48WE.data fuzzerLogFile-0-2UP4yR48WE.data.yaml levels_fuzzer.covreport
log_fuzzer fuzzerLogFile-0-lZoVk0TqGO.data fuzzerLogFile-0-lZoVk0TqGO.data.yaml log_fuzzer.covreport
pattern_fuzzer fuzzerLogFile-0-TQYPwUE6ce.data fuzzerLogFile-0-TQYPwUE6ce.data.yaml pattern_fuzzer.covreport
/src/inspector/source-code/src/format_fuzzer.cc fuzzerLogFile-0-SmAG9IEjy0.data fuzzerLogFile-0-SmAG9IEjy0.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
/src/inspector/light/source_files/src/pattern_fuzzer.cc fuzzerLogFile-0-EA98V5piV8.data fuzzerLogFile-0-EA98V5piV8.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
/src/inspector/light/source_files/src/levels_fuzzer.cc fuzzerLogFile-0-LYyJlIFj1Q.data fuzzerLogFile-0-LYyJlIFj1Q.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
/src/inspector/source-code/src/backtrace_fuzzer.cc fuzzerLogFile-0-wy6YyAagb7.data fuzzerLogFile-0-wy6YyAagb7.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
/src/inspector/source-code/src/pattern_fuzzer.cc fuzzerLogFile-0-4ZHLDRtYTA.data fuzzerLogFile-0-4ZHLDRtYTA.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
/src/inspector/light/source_files/src/format_fuzzer.cc fuzzerLogFile-0-IFwoKvonqK.data fuzzerLogFile-0-IFwoKvonqK.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
/src/inspector/light/source_files/src/backtrace_fuzzer.cc fuzzerLogFile-0-dpyLrirsu3.data fuzzerLogFile-0-dpyLrirsu3.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
format_fuzzer fuzzerLogFile-0-nIVG4JJPJQ.data fuzzerLogFile-0-nIVG4JJPJQ.data.yaml format_fuzzer.covreport
/src/inspector/light/source_files/src/log_fuzzer.cc fuzzerLogFile-0-0EIJNzQgu2.data fuzzerLogFile-0-0EIJNzQgu2.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
/src/inspector/source-code/src/levels_fuzzer.cc fuzzerLogFile-0-RtgGvo9Jmi.data fuzzerLogFile-0-RtgGvo9Jmi.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport
/src/inspector/source-code/src/log_fuzzer.cc fuzzerLogFile-0-r21GionukN.data fuzzerLogFile-0-r21GionukN.data.yaml format_fuzzer.covreport , levels_fuzzer.covreport , pattern_fuzzer.covreport , backtrace_fuzzer.covreport , log_fuzzer.covreport