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

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: float-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 951 60.3%
gold [1:9] 1 0.06%
yellow [10:29] 3 0.19%
greenyellow [30:49] 3 0.19%
lawngreen 50+ 618 39.2%
All colors 1576 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
129 1418 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SA_S7_NS0_12format_specsENS0_10locale_refE call site: 01418 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
61 575 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_ call site: 00575 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
52 189 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 00189 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS8_T0_EE5valueEiE4typeELi0EEES8_S9_S9_S8_
39 132 fmt::v12::format_specs::format_specs() call site: 00132 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
39 1182 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01182 _ZN3fmt3v126detail19dynamic_spec_getterclIbTnNSt3__19enable_ifIXntsr10is_integerIT_EE5valueEiE4typeELi0EEEyS6_
35 1272 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_int , unsigned __int128>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::basic_appender , fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_int , unsigned __int128>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 01272 _ZN3fmt3v126detail13arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
27 999 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::basic_appender , fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender )#1}&) call site: 00999 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib
24 1360 int fmt::v12::detail::format_float (double, int, fmt::v12::format_specs const&, bool, fmt::v12::detail::buffer &) call site: 01360
23 335 fmt::v12::detail::dragonbox::floor_log10_pow2(int) call site: 00335 __clang_call_terminate
23 1224 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01224 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
22 109 _ZN3fmt3v126detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i call site: 00109 _ZN3fmt3v126detail21default_arg_formatterIcEclIbTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
22 1158 char const* fmt::v12::detail::parse_format_specs (char const*, char const*, fmt::v12::detail::dynamic_format_specs &, fmt::v12::parse_context &, fmt::v12::detail::type) call site: 01158 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_

Runtime coverage analysis

Covered functions
260
Functions that are reachable but not covered
604
Reachable functions
1210
Percentage of reachable functions covered
50.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/fmt/test/fuzzing/float.cc 2
/src/fmt/include/fmt/base.h 187
/src/fmt/test/fuzzing/fuzzer-common.h 1
/src/fmt/include/fmt/format.h 434
/src/fmt/include/fmt/format-inl.h 43

Fuzzer: chrono-timepoint-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 1302 83.5%
gold [1:9] 11 0.70%
yellow [10:29] 15 0.96%
greenyellow [30:49] 4 0.25%
lawngreen 50+ 227 14.5%
All colors 1559 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
250 391 fmt::v12::basic_memory_buffer >::~basic_memory_buffer() call site: 00391 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
211 711 fmt::v12::basic_memory_buffer >::deallocate() call site: 00711 _ZN3fmt3v1219basic_memory_bufferIjLm32ENS0_6detail9allocatorIjEEE10move_allocIS4_TnNSt3__19enable_ifIXntsr3std16allocator_traitsIT_E38propagate_on_container_move_assignmentE5valueEiE4typeELi0EEEbRS5_
206 1225 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01225 _ZN3fmt3v126detail13arg_formatterIcEclIdTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
121 265 fmt::v12::basic_string_view ::basic_string_view(char const*) call site: 00265 _ZN3fmt3v126detail21default_arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
77 187 fmt::v12::basic_appender fmt::v12::detail::fill >(fmt::v12::basic_appender , unsigned long, fmt::v12::basic_specs const&) call site: 00187 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS8_T0_EE5valueEiE4typeELi0EEES8_S9_S9_S8_
44 131 fmt::v12::format_specs::format_specs() call site: 00131 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
44 648 fmt::v12::report_error(char const*) call site: 00648 _ZN3fmt3v126detail6bigint6assignIoTnNSt3__19enable_ifIXoosr3std7is_sameIT_mEE5valuesr3std7is_sameIS6_oEE5valueEiE4typeELi0EEEvS6_
40 1135 char const* fmt::v12::detail::parse_width (char const*, char const*, fmt::v12::format_specs&, fmt::v12::detail::arg_ref &, fmt::v12::parse_context &) call site: 01135 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_
40 1496 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01496 _ZN3fmt3v126detail16write_escaped_cpIZNS1_5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SB_NS0_17basic_string_viewIS8_EERKNS0_12format_specsEE23bounded_output_iteratorcEES8_S8_RKNS1_18find_escape_resultISB_EE
33 946 fmt::v12::basic_appender fmt::v12::detail::copy_noinline >(char const*, char const*, fmt::v12::basic_appender ) call site: 00946 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
31 984 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00984 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
30 1435 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01435 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS9_T0_EE5valueEiE4typeELi0EEES9_SA_SA_S9_

Runtime coverage analysis

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

Files reached

filename functions hit
/src/fmt/test/fuzzing/chrono-timepoint.cc 2
/src/fmt/test/fuzzing/fuzzer-common.h 4
/src/fmt/include/fmt/base.h 183
/src/fmt/include/fmt/format.h 436
/src/fmt/include/fmt/format-inl.h 44

Fuzzer: one-arg-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 249 15.3%
gold [1:9] 38 2.33%
yellow [10:29] 8 0.49%
greenyellow [30:49] 3 0.18%
lawngreen 50+ 1329 81.6%
All colors 1627 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
40 1499 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01499 _ZN3fmt3v126detail16write_escaped_cpIZNS1_5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SB_NS0_17basic_string_viewIS8_EERKNS0_12format_specsEE23bounded_output_iteratorcEES8_S8_RKNS1_18find_escape_resultISB_EE
30 1438 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01438 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS9_T0_EE5valueEiE4typeELi0EEES9_SA_SA_S9_
16 115 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00115 _ZN3fmt3v126detail21default_arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
14 1260 fmt::v12::detail::write_int_arg )())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits )())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v12::detail::make_write_int_arg (unsigned long long, fmt::v12::sign) call site: 01260 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
13 1477 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ call site: 01477
10 419 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00419 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
10 987 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00987 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
10 1424 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01424 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
9 379 fmt::v12::basic_appender fmt::v12::detail::write_significand , unsigned int, fmt::v12::detail::fallback_digit_grouping >(fmt::v12::basic_appender , unsigned int, int, int, fmt::v12::detail::fallback_digit_grouping const&) call site: 00379
8 1541 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01541 _ZN3fmt3v126detail13arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
7 912 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00912
7 1002 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::basic_appender , fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender )#1}&) call site: 01002 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib

Runtime coverage analysis

Covered functions
798
Functions that are reachable but not covered
154
Reachable functions
1321
Percentage of reachable functions covered
88.34%
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/fmt/test/fuzzing/one-arg.cc 29
/src/fmt/test/fuzzing/fuzzer-common.h 16
/src/fmt/include/fmt/format.h 434
/src/fmt/include/fmt/base.h 208
/src/fmt/include/fmt/format-inl.h 43

Fuzzer: named-arg-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 285 16.8%
gold [1:9] 36 2.13%
yellow [10:29] 5 0.29%
greenyellow [30:49] 2 0.11%
lawngreen 50+ 1362 80.5%
All colors 1690 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
124 1438 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01438 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
17 999 fmt::v12::basic_appender fmt::v12::detail::do_write_float , fmt::v12::basic_appender , fmt::v12::detail::big_decimal_fp>(fmt::v12::basic_appender , fmt::v12::detail::big_decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref) call site: 00999 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
16 142 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00142 _ZN3fmt3v126detail21default_arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
14 1274 fmt::v12::detail::write_int_arg )())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits )())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v12::detail::make_write_int_arg (unsigned long long, fmt::v12::sign) call site: 01274 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
13 1032 char* fmt::v12::detail::format_base2e (int, char*, unsigned long, int, bool) call site: 01032
10 445 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00445 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 405 fmt::v12::basic_appender fmt::v12::detail::write_significand , unsigned int, fmt::v12::detail::fallback_digit_grouping >(fmt::v12::basic_appender , unsigned int, int, int, fmt::v12::detail::fallback_digit_grouping const&) call site: 00405
7 931 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00931
7 1021 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::basic_appender , fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender )#1}&) call site: 01021 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib
7 1290 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_int , unsigned __int128>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::basic_appender , fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_int , unsigned __int128>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 01290 _ZN3fmt3v126detail13arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
5 1101 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01101
5 1229 decltype ({parm#1}(0)) fmt::v12::basic_format_arg ::visit (fmt::v12::detail::dynamic_spec_getter&&) const call site: 01229 _ZN3fmt3v126detail19dynamic_spec_getterclIPKcTnNSt3__19enable_ifIXntsr10is_integerIT_EE5valueEiE4typeELi0EEEyS8_

Runtime coverage analysis

Covered functions
727
Functions that are reachable but not covered
181
Reachable functions
1415
Percentage of reachable functions covered
87.21%
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/fmt/test/fuzzing/named-arg.cc 28
/src/fmt/test/fuzzing/fuzzer-common.h 17
/src/fmt/include/fmt/format.h 434
/src/fmt/include/fmt/base.h 267
/src/fmt/include/fmt/format-inl.h 43

Fuzzer: two-args-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 284 12.8%
gold [1:9] 20 0.90%
yellow [10:29] 186 8.41%
greenyellow [30:49] 230 10.4%
lawngreen 50+ 1491 67.4%
All colors 2211 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
118 1426 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01426 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
16 118 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00118 _ZN3fmt3v126detail21default_arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
14 1262 fmt::v12::detail::write_int_arg )())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits )())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v12::detail::make_write_int_arg (unsigned long long, fmt::v12::sign) call site: 01262 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
12 983 fmt::v12::basic_appender fmt::v12::detail::do_write_float , fmt::v12::basic_appender , fmt::v12::detail::big_decimal_fp>(fmt::v12::basic_appender , fmt::v12::detail::big_decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref) call site: 00983 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
10 422 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00422 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 382 fmt::v12::basic_appender fmt::v12::detail::write_significand , unsigned int, fmt::v12::detail::fallback_digit_grouping >(fmt::v12::basic_appender , unsigned int, int, int, fmt::v12::detail::fallback_digit_grouping const&) call site: 00382
9 455 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEfTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_ call site: 00455 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
8 1021 fmt::v12::basic_appender fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*) call site: 01021
7 915 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00915
7 1074 int fmt::v12::basic_format_args ::get_id (fmt::v12::basic_string_view ) const call site: 01074 memcmp
7 1278 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_int , unsigned __int128>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::basic_appender , fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_int , unsigned __int128>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 01278 _ZN3fmt3v126detail13arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
5 1089 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01089

Runtime coverage analysis

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

Files reached

filename functions hit
/src/fmt/test/fuzzing/two-args.cc 422
/src/fmt/test/fuzzing/fuzzer-common.h 15
/src/fmt/include/fmt/base.h 389
/src/fmt/include/fmt/format.h 434
/src/fmt/include/fmt/format-inl.h 43

Fuzzer: chrono-duration-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 770 31.0%
gold [1:9] 8 0.32%
yellow [10:29] 5 0.20%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1696 68.4%
All colors 2479 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
52 193 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 00193 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS8_T0_EE5valueEiE4typeELi0EEES8_S9_S9_S8_
40 1503 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01503 _ZN3fmt3v126detail16write_escaped_cpIZNS1_5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SB_NS0_17basic_string_viewIS8_EERKNS0_12format_specsEE23bounded_output_iteratorcEES8_S8_RKNS1_18find_escape_resultISB_EE
39 136 fmt::v12::format_specs::format_specs() call site: 00136 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
30 1442 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01442 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS9_T0_EE5valueEiE4typeELi0EEES9_SA_SA_S9_
28 502 fmt::v12::detail::dragonbox::cache_accessor ::get_cached_power(int) call site: 00502
25 618 _ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_ call site: 00618 _ZN3fmt3v126detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i
24 537 fmt::v12::detail::dragonbox::umul192_upper128(unsigned long, fmt::v12::detail::uint128_fallback) call site: 00537 __clang_call_terminate
24 1280 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_int , unsigned __int128>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::basic_appender , fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_int , unsigned __int128>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 01280 _ZN3fmt3v126detail13arg_formatterIcEclIcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
23 1232 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01232 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
22 318 fmt::v12::detail::dragonbox::floor_log2_pow10(int) call site: 00318 __cxa_begin_catch
21 114 _ZN3fmt3v126detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i call site: 00114 _ZN3fmt3v126detail21default_arg_formatterIcEclIbTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
21 984 fmt::v12::basic_appender fmt::v12::detail::do_write_float , fmt::v12::basic_appender , fmt::v12::detail::big_decimal_fp>(fmt::v12::basic_appender , fmt::v12::detail::big_decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref) call site: 00984 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_

Runtime coverage analysis

Covered functions
6899
Functions that are reachable but not covered
473
Reachable functions
2515
Percentage of reachable functions covered
81.19%
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/fmt/test/fuzzing/chrono-duration.cc 193
/src/fmt/test/fuzzing/fuzzer-common.h 13
/src/fmt/include/fmt/base.h 906
/src/fmt/include/fmt/format.h 434
/src/fmt/include/fmt/format-inl.h 43

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/fmt/test/fuzzing/float.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=['_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SA_S7_NS0_12format_specsENS0_10locale_refE', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&)', 'fmt::v12::format_specs::format_specs()', 'fmt::v12::detail::format_handler::on_format_specs(int, char const*, char const*)', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_int, unsigned __int128>(fmt::v12::basic_appender, fmt::v12::detail::write_int_arg, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::basic_appender, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_int, unsigned __int128>(fmt::v12::basic_appender, fmt::v12::detail::write_int_arg, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&)', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::basic_appender, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender)#1}&)', 'int fmt::v12::detail::format_float(double, int, fmt::v12::format_specs const&, bool, fmt::v12::detail::buffer&)', 'fmt::v12::detail::dragonbox::floor_log10_pow2(int)', 'fmt::v12::detail::format_handler::on_format_specs(int, char const*, char const*)']

/src/fmt/test/fuzzing/chrono-timepoint.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::v12::basic_memory_buffer >::~basic_memory_buffer()', 'fmt::v12::basic_memory_buffer >::deallocate()', 'fmt::v12::detail::format_handler::on_format_specs(int, char const*, char const*)', 'fmt::v12::basic_string_view::basic_string_view(char const*)', 'fmt::v12::basic_appender fmt::v12::detail::fill >(fmt::v12::basic_appender, unsigned long, fmt::v12::basic_specs const&)', 'fmt::v12::format_specs::format_specs()', 'fmt::v12::report_error(char const*)', 'char const* fmt::v12::detail::parse_width(char const*, char const*, fmt::v12::format_specs&, fmt::v12::detail::arg_ref&, fmt::v12::parse_context&)', '_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_', 'fmt::v12::basic_appender fmt::v12::detail::copy_noinline >(char const*, char const*, fmt::v12::basic_appender)']

/src/fmt/test/fuzzing/one-arg.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=['_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_', 'fmt::v12::detail::write_int_arg)())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits)())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v12::detail::make_write_int_arg(unsigned long long, fmt::v12::sign)', '_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_', '_ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_', 'fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender, fmt::v12::basic_string_view)', '_ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', 'fmt::v12::basic_appender fmt::v12::detail::write_significand, unsigned int, fmt::v12::detail::fallback_digit_grouping >(fmt::v12::basic_appender, unsigned int, int, int, fmt::v12::detail::fallback_digit_grouping const&)']

/src/fmt/test/fuzzing/named-arg.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=['_ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', 'fmt::v12::basic_appender fmt::v12::detail::do_write_float, fmt::v12::basic_appender, fmt::v12::detail::big_decimal_fp>(fmt::v12::basic_appender, fmt::v12::detail::big_decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref)', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_', 'fmt::v12::detail::write_int_arg)())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits)())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v12::detail::make_write_int_arg(unsigned long long, fmt::v12::sign)', 'char* fmt::v12::detail::format_base2e(int, char*, unsigned long, int, bool)', '_ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_', 'fmt::v12::basic_appender fmt::v12::detail::write_significand, unsigned int, fmt::v12::detail::fallback_digit_grouping >(fmt::v12::basic_appender, unsigned int, int, int, fmt::v12::detail::fallback_digit_grouping const&)', 'fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&)', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::basic_appender, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender)#1}&)', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_int, unsigned __int128>(fmt::v12::basic_appender, fmt::v12::detail::write_int_arg, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::basic_appender, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_int, unsigned __int128>(fmt::v12::basic_appender, fmt::v12::detail::write_int_arg, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&)']

/src/fmt/test/fuzzing/two-args.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=['_ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_', 'fmt::v12::detail::write_int_arg)())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits)())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v12::detail::make_write_int_arg(unsigned long long, fmt::v12::sign)', 'fmt::v12::basic_appender fmt::v12::detail::do_write_float, fmt::v12::basic_appender, fmt::v12::detail::big_decimal_fp>(fmt::v12::basic_appender, fmt::v12::detail::big_decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref)', '_ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_', 'fmt::v12::basic_appender fmt::v12::detail::write_significand, unsigned int, fmt::v12::detail::fallback_digit_grouping >(fmt::v12::basic_appender, unsigned int, int, int, fmt::v12::detail::fallback_digit_grouping const&)', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEfTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_', 'fmt::v12::basic_appender fmt::v12::detail::write_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs const*)', 'fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&)', 'int fmt::v12::basic_format_args::get_id(fmt::v12::basic_string_view) const']

/src/fmt/test/fuzzing/chrono-duration.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::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&)', '_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_', 'fmt::v12::format_specs::format_specs()', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE', 'fmt::v12::detail::dragonbox::cache_accessor::get_cached_power(int)', '_ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_', 'fmt::v12::detail::dragonbox::umul192_upper128(unsigned long, fmt::v12::detail::uint128_fallback)', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_int, unsigned __int128>(fmt::v12::basic_appender, fmt::v12::detail::write_int_arg, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::basic_appender, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_int, unsigned __int128>(fmt::v12::basic_appender, fmt::v12::detail::write_int_arg, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&)', 'fmt::v12::detail::format_handler::on_format_specs(int, char const*, char const*)', 'fmt::v12::detail::dragonbox::floor_log2_pow10(int)']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

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

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ 32 10 31.25% ['float-fuzzer', 'chrono-timepoint-fuzzer', 'two-args-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'chrono-duration-fuzzer']
intfmt::v12::detail::format_float (longdouble,int,fmt::v12::format_specsconst&,bool,fmt::v12::detail::buffer &) 197 45 22.84% ['float-fuzzer', 'chrono-timepoint-fuzzer', 'two-args-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/fmt/include/fmt/format-inl.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/src/fmt/test/fuzzing/chrono-timepoint.cc ['chrono-timepoint-fuzzer'] ['chrono-timepoint-fuzzer']
/src/fmt/test/fuzzing/one-arg.cc ['one-arg-fuzzer'] ['one-arg-fuzzer']
/src/fmt/include/fmt/format.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/src/fmt/test/fuzzing/fuzzer-common.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/src/fmt/test/fuzzing/two-args.cc ['two-args-fuzzer'] ['two-args-fuzzer']
/src/fmt/test/fuzzing/chrono-duration.cc ['chrono-duration-fuzzer'] ['chrono-duration-fuzzer']
/src/fmt/include/fmt/chrono.h [] []
/src/fmt/test/fuzzing/named-arg.cc ['named-arg-fuzzer'] ['named-arg-fuzzer']
/usr/local/bin/../include/c++/v1/stdexcept [] []
/src/fmt/include/fmt/base.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/usr/local/bin/../include/c++/v1/string [] []
/src/fmt/test/fuzzing/float.cc ['float-fuzzer'] ['float-fuzzer']

Directories in report

Directory
/src/fmt/test/fuzzing/
/src/fmt/include/fmt/
/usr/local/bin/../include/c++/v1/