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 974 60.8%
gold [1:9] 1 0.06%
yellow [10:29] 1 0.06%
greenyellow [30:49] 5 0.31%
lawngreen 50+ 620 38.7%
All colors 1601 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
155 1417 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SA_S7_NS0_12format_specsENS0_10locale_refE call site: 01417 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
75 570 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_ call site: 00570 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
69 142 fmt::v12::format_specs::format_specs() call site: 00142 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
39 1175 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01175 _ZN3fmt3v126detail19dynamic_spec_getterclIbTnNSt3__19enable_ifIXntsr10is_integerIT_EE5valueEiE4typeELi0EEEyS6_
35 1267 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: 01267 _ZN3fmt3v126detail13arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
31 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_
27 992 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: 00992 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib
24 1217 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01217 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
24 1357 int fmt::v12::detail::format_float (double, int, fmt::v12::format_specs const&, bool, fmt::v12::detail::buffer &) call site: 01357
23 328 fmt::v12::detail::dragonbox::floor_log10_pow2(int) call site: 00328 __clang_call_terminate
22 1151 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: 01151 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_
22 1243 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_int , unsigned long>(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 long>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 01243 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_

Runtime coverage analysis

Covered functions
260
Functions that are reachable but not covered
624
Reachable functions
1227
Percentage of reachable functions covered
49.14%
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/core.h 187
/src/fmt/test/fuzzing/fuzzer-common.h 1
/src/fmt/include/fmt/format.h 445
/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 1324 83.6%
gold [1:9] 11 0.69%
yellow [10:29] 5 0.31%
greenyellow [30:49] 17 1.07%
lawngreen 50+ 226 14.2%
All colors 1583 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
300 385 fmt::v12::basic_memory_buffer >::~basic_memory_buffer() call site: 00385 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
212 1218 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01218 _ZN3fmt3v126detail13arg_formatterIcEclIdTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
211 704 fmt::v12::basic_memory_buffer >::deallocate() call site: 00704 _ZN3fmt3v1219basic_memory_bufferIjLm32ENS0_6detail9allocatorIjEEE10move_allocIS4_TnNSt3__19enable_ifIXntsr3std16allocator_traitsIT_E38propagate_on_container_move_assignmentE5valueEiE4typeELi0EEEbRS5_
122 258 fmt::v12::basic_string_view ::basic_string_view(char const*) call site: 00258 _ZN3fmt3v126detail21default_arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
56 1434 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01434 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_
40 1128 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: 01128 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_
40 1520 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01520 _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 141 fmt::v12::format_specs::format_specs() call site: 00141 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
33 939 fmt::v12::basic_appender fmt::v12::detail::copy_noinline >(char const*, char const*, fmt::v12::basic_appender ) call site: 00939 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
31 977 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00977 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
30 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_
29 228 fmt::v12::basic_appender fmt::v12::detail::fill >(fmt::v12::basic_appender , unsigned long, fmt::v12::basic_specs const&) call site: 00228 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_

Runtime coverage analysis

Covered functions
295
Functions that are reachable but not covered
882
Reachable functions
1232
Percentage of reachable functions covered
28.41%
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/core.h 183
/src/fmt/include/fmt/format.h 447
/src/fmt/include/fmt/format-inl.h 45

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 302 17.6%
gold [1:9] 33 1.92%
yellow [10:29] 5 0.29%
greenyellow [30:49] 6 0.34%
lawngreen 50+ 1369 79.8%
All colors 1715 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
83 1504 fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp , char>(fmt::v12::basic_appender , fmt::v12::detail::find_escape_result const&) call site: 01504 _ZN3fmt3v126detail13arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
41 1437 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01437 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
17 992 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: 00992 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
15 1268 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: 01268 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
13 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_
13 1025 char* fmt::v12::detail::format_base2e (int, char*, unsigned long, int, bool) call site: 01025
11 157 char* fmt::v12::detail::fill_n (char*, int, char) call site: 00157 _ZN3fmt3v126detail21default_arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
10 432 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00432 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 392 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: 00392
9 1491 fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp , char>(fmt::v12::basic_appender , fmt::v12::detail::find_escape_result const&) call site: 01491 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_
7 924 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00924
7 1014 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: 01014 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib

Runtime coverage analysis

Covered functions
736
Functions that are reachable but not covered
188
Reachable functions
1432
Percentage of reachable functions covered
86.87%
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 445
/src/fmt/include/fmt/core.h 267
/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 276 16.7%
gold [1:9] 32 1.93%
yellow [10:29] 5 0.30%
greenyellow [30:49] 5 0.30%
lawngreen 50+ 1333 80.7%
All colors 1651 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 1523 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01523 _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
27 1437 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01437 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_
15 1254 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: 01254 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
13 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_
13 1502 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ call site: 01502
11 130 char* fmt::v12::detail::fill_n (char*, int, char) call site: 00130 _ZN3fmt3v126detail21default_arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
10 413 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00413 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
10 980 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00980 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
10 1423 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01423 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
9 373 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: 00373
9 447 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEfTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_ call site: 00447 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 1477 fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp , char>(fmt::v12::basic_appender , fmt::v12::detail::find_escape_result const&) call site: 01477 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_

Runtime coverage analysis

Covered functions
804
Functions that are reachable but not covered
161
Reachable functions
1338
Percentage of reachable functions covered
87.97%
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 445
/src/fmt/include/fmt/core.h 208
/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 285 12.7%
gold [1:9] 42 1.87%
yellow [10:29] 210 9.39%
greenyellow [30:49] 210 9.39%
lawngreen 50+ 1489 66.5%
All colors 2236 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
77 1492 fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp , char>(fmt::v12::basic_appender , fmt::v12::detail::find_escape_result const&) call site: 01492 _ZN3fmt3v126detail13arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
41 1425 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01425 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
15 1256 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: 01256 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
13 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_
12 976 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: 00976 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
11 133 char* fmt::v12::detail::fill_n (char*, int, char) call site: 00133 _ZN3fmt3v126detail21default_arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
10 416 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00416 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 376 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: 00376
9 1479 fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp , char>(fmt::v12::basic_appender , fmt::v12::detail::find_escape_result const&) call site: 01479 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_
8 1014 fmt::v12::basic_appender fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*) call site: 01014
7 908 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00908
7 1067 int fmt::v12::basic_format_args ::get_id (fmt::v12::basic_string_view ) const call site: 01067 memcmp

Runtime coverage analysis

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

Files reached

filename functions hit
/src/fmt/test/fuzzing/two-args.cc 422
/src/fmt/test/fuzzing/fuzzer-common.h 15
/src/fmt/include/fmt/core.h 389
/src/fmt/include/fmt/format.h 445
/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 786 31.4%
gold [1:9] 3 0.11%
yellow [10:29] 10 0.39%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1704 68.0%
All colors 2503 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
56 1441 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01441 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_
40 1527 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01527 _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 146 fmt::v12::format_specs::format_specs() call site: 00146 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEbTnNSt3__19enable_ifIXsr3std7is_sameIT1_bEE5valueEiE4typeELi0EEET0_SA_S7_RKNS0_12format_specsENS0_10locale_refE
28 497 fmt::v12::detail::dragonbox::cache_accessor ::get_cached_power(int) call site: 00497
24 532 fmt::v12::detail::dragonbox::umul192_upper128(unsigned long, fmt::v12::detail::uint128) call site: 00532 __clang_call_terminate
24 1225 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01225 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
24 1275 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: 01275 _ZN3fmt3v126detail13arg_formatterIcEclIbTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
23 192 fmt::v12::report_error(char const*) call site: 00192 _ZN3fmt3v126detail4copyIcPcS3_TnNSt3__19enable_ifIXoontcvNS1_23is_back_insert_iteratorIT1_NS4_17integral_constantIbLb1EEEEE_EntoocvNS1_10has_appendIS7_T0_vEE_EcvNS1_10has_insertIS7_SC_vEE_EEiE4typeELi0EEES7_SC_SC_S7_
23 621 _ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_ call site: 00621 _ZN3fmt3v126detail12write_paddedIcLNS0_5alignE2ENS0_14basic_appenderIcEEZNS1_5writeIcS5_eTnNSt3__19enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SC_S9_NS0_12format_specsENS0_10locale_refEEUlS5_E_EES9_S9_RKSD_mmOT2_
22 311 fmt::v12::detail::dragonbox::floor_log2_pow10(int) call site: 00311 __cxa_begin_catch
22 1251 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_int , unsigned long>(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 long>(fmt::v12::basic_appender , fmt::v12::detail::write_int_arg , fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 01251 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
21 977 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: 00977 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_

Runtime coverage analysis

Covered functions
6897
Functions that are reachable but not covered
490
Reachable functions
2532
Percentage of reachable functions covered
80.65%
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/core.h 906
/src/fmt/include/fmt/format.h 445
/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::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}&)', '_ZN3fmt3v126detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i', '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::detail::format_handler::on_format_specs(int, char const*, char const*)', '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)']

/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::detail::format_handler::on_format_specs(int, char const*, char const*)', 'fmt::v12::basic_memory_buffer >::deallocate()', 'fmt::v12::basic_string_view::basic_string_view(char const*)', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE', '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::format_specs::format_specs()', 'fmt::v12::basic_appender fmt::v12::detail::copy_noinline >(char const*, char const*, fmt::v12::basic_appender)', 'fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender, fmt::v12::basic_string_view)']

/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=['fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp, char>(fmt::v12::basic_appender, fmt::v12::detail::find_escape_result const&)', '_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)', '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)', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_', 'char* fmt::v12::detail::format_base2e(int, char*, unsigned long, int, bool)', 'char* fmt::v12::detail::fill_n(char*, int, char)', '_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_escaped_cp, char>(fmt::v12::basic_appender, fmt::v12::detail::find_escape_result const&)']

/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', '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)', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_', '_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_', 'char* fmt::v12::detail::fill_n(char*, int, char)', '_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/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=['fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp, char>(fmt::v12::basic_appender, fmt::v12::detail::find_escape_result const&)', '_ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', '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)', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEyTnNSt3__19enable_ifIXaaaasr11is_integralIT1_EE5valuentsr3std7is_sameIS7_bEE5valuentsr3std7is_sameIS7_T_EE5valueEiE4typeELi0EEET0_SB_S7_', '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)', 'char* fmt::v12::detail::fill_n(char*, int, char)', '_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_escaped_cp, char>(fmt::v12::basic_appender, fmt::v12::detail::find_escape_result const&)', 'fmt::v12::basic_appender fmt::v12::detail::write_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs 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=['_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE', '_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_', 'fmt::v12::format_specs::format_specs()', 'fmt::v12::detail::dragonbox::cache_accessor::get_cached_power(int)', 'fmt::v12::detail::dragonbox::umul192_upper128(unsigned long, fmt::v12::detail::uint128)', '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::report_error(char const*)', '_ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_', '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
char*fmt::v12::detail::do_format_decimal (char*,unsignedlong,int) 42 22 52.38% ['chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'float-fuzzer', 'chrono-duration-fuzzer', 'named-arg-fuzzer']
_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ 32 10 31.25% ['chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'float-fuzzer', 'chrono-duration-fuzzer', 'named-arg-fuzzer']
char*fmt::v12::detail::do_format_decimal (char*,unsignedint,int) 42 23 54.76% ['chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'float-fuzzer', 'chrono-duration-fuzzer', 'named-arg-fuzzer']
intfmt::v12::detail::format_float (longdouble,int,fmt::v12::format_specsconst&,bool,fmt::v12::detail::buffer &) 201 49 24.37% ['chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'float-fuzzer', 'chrono-duration-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
[] []
/src/fmt/test/fuzzing/float.cc ['float-fuzzer'] ['float-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/test/fuzzing/two-args.cc ['two-args-fuzzer'] ['two-args-fuzzer']
/src/fmt/include/fmt/format-inl.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/src/fmt/test/fuzzing/chrono-duration.cc ['chrono-duration-fuzzer'] ['chrono-duration-fuzzer']
/src/fmt/include/fmt/core.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/src/fmt/test/fuzzing/fuzzer-common.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/src/fmt/include/fmt/format.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/src/fmt/test/fuzzing/named-arg.cc ['named-arg-fuzzer'] ['named-arg-fuzzer']
/src/fmt/include/fmt/chrono.h [] []
/usr/local/bin/../include/c++/v1/string [] []
/usr/local/bin/../include/c++/v1/stdexcept [] []

Directories in report

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