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 952 60.3%
gold [1:9] 1 0.06%
yellow [10:29] 1 0.06%
greenyellow [30:49] 7 0.44%
lawngreen 50+ 616 39.0%
All colors 1577 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 1419 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SA_S7_NS0_12format_specsENS0_10locale_refE call site: 01419 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
61 576 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_ call site: 00576 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
52 190 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: 00190 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS8_T0_EE5valueEiE4typeELi0EEES8_S9_S9_S8_
39 133 fmt::v12::format_specs::format_specs() call site: 00133 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
39 1183 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01183 _ZN3fmt3v126detail19dynamic_spec_getterclIbTnNSt3__19enable_ifIXntsr10is_integerIT_EE5valueEiE4typeELi0EEEyS6_
35 1273 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: 01273 _ZN3fmt3v126detail13arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
27 1000 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: 01000 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib
24 1361 int fmt::v12::detail::format_float (double, int, fmt::v12::format_specs const&, bool, fmt::v12::detail::buffer &) call site: 01361
23 336 fmt::v12::detail::dragonbox::floor_log10_pow2(int) call site: 00336 __clang_call_terminate
23 1225 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01225 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
22 110 _ZN3fmt3v126detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i call site: 00110 _ZN3fmt3v126detail21default_arg_formatterIcEclIbTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
22 1159 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: 01159 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_

Runtime coverage analysis

Covered functions
260
Functions that are reachable but not covered
606
Reachable functions
1212
Percentage of reachable functions covered
50.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/fmt/test/fuzzing/float.cc 2
/src/fmt/include/fmt/base.h 179
/src/fmt/test/fuzzing/fuzzer-common.h 1
/src/fmt/include/fmt/format.h 442
/src/fmt/include/fmt/format-inl.h 44

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.4%
gold [1:9] 10 0.64%
yellow [10:29] 5 0.32%
greenyellow [30:49] 15 0.96%
lawngreen 50+ 228 14.6%
All colors 1560 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 392 fmt::v12::basic_memory_buffer >::~basic_memory_buffer() call site: 00392 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
211 712 fmt::v12::basic_memory_buffer >::deallocate() call site: 00712 _ZN3fmt3v1219basic_memory_bufferIjLm32ENS0_6detail9allocatorIjEEE10move_allocIS4_TnNSt3__19enable_ifIXntsr3std16allocator_traitsIT_E38propagate_on_container_move_assignmentE5valueEiE4typeELi0EEEbRS5_
206 1226 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01226 _ZN3fmt3v126detail13arg_formatterIcEclIdTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
121 266 fmt::v12::basic_string_view ::basic_string_view(char const*) call site: 00266 _ZN3fmt3v126detail21default_arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
77 188 fmt::v12::basic_appender fmt::v12::detail::fill >(fmt::v12::basic_appender , unsigned long, fmt::v12::basic_specs const&) call site: 00188 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS8_T0_EE5valueEiE4typeELi0EEES8_S9_S9_S8_
44 132 fmt::v12::format_specs::format_specs() call site: 00132 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
44 649 fmt::v12::report_error(char const*) call site: 00649 _ZN3fmt3v126detail6bigint6assignIoTnNSt3__19enable_ifIXoosr3std7is_sameIT_mEE5valuesr3std7is_sameIS6_oEE5valueEiE4typeELi0EEEvS6_
40 1136 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: 01136 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_
40 1497 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01497 _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 947 fmt::v12::basic_appender fmt::v12::detail::copy_noinline >(char const*, char const*, fmt::v12::basic_appender ) call site: 00947 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
31 985 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00985 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
30 1436 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01436 _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
1217
Percentage of reachable functions covered
28.27%
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 175
/src/fmt/include/fmt/format.h 444
/src/fmt/include/fmt/format-inl.h 45

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.2%
gold [1:9] 38 2.33%
yellow [10:29] 8 0.49%
greenyellow [30:49] 1 0.06%
lawngreen 50+ 1332 81.8%
All colors 1628 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 1500 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01500 _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 1439 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01439 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS9_T0_EE5valueEiE4typeELi0EEES9_SA_SA_S9_
16 116 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00116 _ZN3fmt3v126detail21default_arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
14 1261 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: 01261 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
13 1478 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ call site: 01478
10 420 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00420 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
10 988 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00988 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
10 1425 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01425 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
9 380 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: 00380
8 1542 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01542 _ZN3fmt3v126detail13arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
7 913 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00913
7 1003 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: 01003 _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
1323
Percentage of reachable functions covered
88.36%
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 442
/src/fmt/include/fmt/base.h 200
/src/fmt/include/fmt/format-inl.h 44

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 295 17.4%
gold [1:9] 23 1.36%
yellow [10:29] 8 0.47%
greenyellow [30:49] 1 0.05%
lawngreen 50+ 1364 80.6%
All colors 1691 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 1439 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01439 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
17 1000 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: 01000 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
16 143 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00143 _ZN3fmt3v126detail21default_arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
14 1275 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: 01275 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
13 1033 char* fmt::v12::detail::format_base2e (int, char*, unsigned long, int, bool) call site: 01033
10 446 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00446 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 406 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: 00406
9 479 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEfTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_ call site: 00479 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
7 932 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00932
7 1022 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: 01022 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib
7 1291 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: 01291 _ZN3fmt3v126detail13arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
5 1102 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01102

Runtime coverage analysis

Covered functions
728
Functions that are reachable but not covered
181
Reachable functions
1417
Percentage of reachable functions covered
87.23%
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 442
/src/fmt/include/fmt/base.h 259
/src/fmt/include/fmt/format-inl.h 44

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 268 12.1%
gold [1:9] 40 1.80%
yellow [10:29] 205 9.26%
greenyellow [30:49] 215 9.71%
lawngreen 50+ 1484 67.0%
All colors 2212 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 1427 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01427 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
16 119 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_ call site: 00119 _ZN3fmt3v126detail21default_arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
14 1263 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: 01263 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
12 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_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
10 423 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00423 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 383 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: 00383
8 1022 fmt::v12::basic_appender fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*) call site: 01022
7 916 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00916
7 1075 int fmt::v12::basic_format_args ::get_id (fmt::v12::basic_string_view ) const call site: 01075 memcmp
7 1279 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: 01279 _ZN3fmt3v126detail13arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
5 1090 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01090
4 399 fmt::v12::detail::write_fixed , fmt::v12::basic_appender , fmt::v12::detail::dragonbox::decimal_fp >(fmt::v12::basic_appender , fmt::v12::detail::dragonbox::decimal_fp const&, int, char, fmt::v12::format_specs const&, fmt::v12::sign, fmt::v12::locale_ref)::{lambda(fmt::v12::basic_appender )#1}::operator()(fmt::v12::basic_appender ) const call site: 00399

Runtime coverage analysis

Covered functions
1509
Functions that are reachable but not covered
173
Reachable functions
2288
Percentage of reachable functions covered
92.44%
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 381
/src/fmt/include/fmt/format.h 442
/src/fmt/include/fmt/format-inl.h 44

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] 9 0.36%
yellow [10:29] 5 0.20%
greenyellow [30:49] 3 0.12%
lawngreen 50+ 1693 68.2%
All colors 2480 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 194 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: 00194 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS8_T0_EE5valueEiE4typeELi0EEES8_S9_S9_S8_
40 1504 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01504 _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 137 fmt::v12::format_specs::format_specs() call site: 00137 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
30 1443 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01443 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaasr23is_back_insert_iteratorIT1_EE5valuesr41has_back_insert_iterator_container_appendIS9_T0_EE5valueEiE4typeELi0EEES9_SA_SA_S9_
28 503 fmt::v12::detail::dragonbox::cache_accessor ::get_cached_power(int) call site: 00503
25 619 _ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_ call site: 00619 _ZN3fmt3v126detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i
24 538 fmt::v12::detail::dragonbox::umul192_upper128(unsigned long, fmt::v12::detail::uint128) call site: 00538 __clang_call_terminate
24 1281 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: 01281 _ZN3fmt3v126detail13arg_formatterIcEclIcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
23 1233 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01233 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
22 319 fmt::v12::detail::dragonbox::floor_log2_pow10(int) call site: 00319 __cxa_begin_catch
21 115 _ZN3fmt3v126detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i call site: 00115 _ZN3fmt3v126detail21default_arg_formatterIcEclIbTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
21 985 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: 00985 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_

Runtime coverage analysis

Covered functions
6899
Functions that are reachable but not covered
473
Reachable functions
2517
Percentage of reachable functions covered
81.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.
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 898
/src/fmt/include/fmt/format.h 442
/src/fmt/include/fmt/format-inl.h 44

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&)', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEfTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_', '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}&)']

/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&)', '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', '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/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)', '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% ['chrono-duration-fuzzer', 'one-arg-fuzzer', 'float-fuzzer', 'two-args-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer']
intfmt::v12::detail::format_float (longdouble,int,fmt::v12::format_specsconst&,bool,fmt::v12::detail::buffer &) 197 45 22.84% ['chrono-duration-fuzzer', 'one-arg-fuzzer', 'float-fuzzer', 'two-args-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-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
[] []
/usr/local/bin/../include/c++/v1/string [] []
/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/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/named-arg.cc ['named-arg-fuzzer'] ['named-arg-fuzzer']
/usr/local/bin/../include/c++/v1/stdexcept [] []
/src/fmt/test/fuzzing/chrono-timepoint.cc ['chrono-timepoint-fuzzer'] ['chrono-timepoint-fuzzer']
/src/fmt/test/fuzzing/chrono-duration.cc ['chrono-duration-fuzzer'] ['chrono-duration-fuzzer']
/src/fmt/test/fuzzing/one-arg.cc ['one-arg-fuzzer'] ['one-arg-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/include/fmt/chrono.h [] []
/src/fmt/test/fuzzing/float.cc ['float-fuzzer'] ['float-fuzzer']
/src/fmt/test/fuzzing/two-args.cc ['two-args-fuzzer'] ['two-args-fuzzer']
/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']

Directories in report

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