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 963 60.6%
gold [1:9] 1 0.06%
yellow [10:29] 1 0.06%
greenyellow [30:49] 5 0.31%
lawngreen 50+ 618 38.9%
All colors 1588 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 1404 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SA_S7_NS0_12format_specsENS0_10locale_refE call site: 01404 _ZN3fmt3v126detail13arg_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
61 567 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_ call site: 00567 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
39 1166 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01166 _ZN3fmt3v126detail19dynamic_spec_getterclIbTnNSt3__19enable_ifIXntsr10is_integerIT_EE5valueEiE4typeELi0EEEyS6_
35 1258 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: 01258 _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 983 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: 00983 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib
24 1208 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01208 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
24 1346 int fmt::v12::detail::format_float (double, int, fmt::v12::format_specs const&, bool, fmt::v12::detail::buffer &) call site: 01346
23 327 fmt::v12::detail::dragonbox::floor_log10_pow2(int) call site: 00327 __clang_call_terminate
22 1142 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: 01142 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_
22 1234 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: 01234 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_

Runtime coverage analysis

Covered functions
260
Functions that are reachable but not covered
621
Reachable functions
1227
Percentage of reachable functions covered
49.39%
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 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 1313 83.6%
gold [1:9] 11 0.70%
yellow [10:29] 3 0.19%
greenyellow [30:49] 18 1.14%
lawngreen 50+ 225 14.3%
All colors 1570 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
293 383 fmt::v12::basic_memory_buffer >::~basic_memory_buffer() call site: 00383 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
211 695 fmt::v12::basic_memory_buffer >::deallocate() call site: 00695 _ZN3fmt3v1219basic_memory_bufferIjLm32ENS0_6detail9allocatorIjEEE10move_allocIS4_TnNSt3__19enable_ifIXntsr3std16allocator_traitsIT_E38propagate_on_container_move_assignmentE5valueEiE4typeELi0EEEbRS5_
208 1209 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01209 _ZN3fmt3v126detail13arg_formatterIcEclIdTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
121 257 fmt::v12::basic_string_view ::basic_string_view(char const*) call site: 00257 _ZN3fmt3v126detail21default_arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
56 1421 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01421 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_
40 1119 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: 01119 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_
40 1507 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01507 _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 930 fmt::v12::basic_appender fmt::v12::detail::copy_noinline >(char const*, char const*, fmt::v12::basic_appender ) call site: 00930 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
31 109 _ZN3fmt3v126detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i call site: 00109 _ZN3fmt3v126detail21default_arg_formatterIcEclIbTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
31 968 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00968 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
29 227 fmt::v12::basic_appender fmt::v12::detail::fill >(fmt::v12::basic_appender , unsigned long, fmt::v12::basic_specs const&) call site: 00227 _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
888
Reachable functions
1232
Percentage of reachable functions covered
27.92%
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 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 267 16.3%
gold [1:9] 38 2.31%
yellow [10:29] 4 0.24%
greenyellow [30:49] 6 0.36%
lawngreen 50+ 1323 80.7%
All colors 1638 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 1510 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01510 _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 1424 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01424 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_
15 1245 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: 01245 _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 1489 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ call site: 01489
11 130 char* fmt::v12::detail::fill_n (char*, int, char) call site: 00130 _ZN3fmt3v126detail21default_arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
10 411 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00411 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
10 971 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00971 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
10 1410 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01410 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
9 371 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: 00371
9 1464 fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp , char>(fmt::v12::basic_appender , fmt::v12::detail::find_escape_result const&) call site: 01464 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_
8 1552 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01552 _ZN3fmt3v126detail13arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_

Runtime coverage analysis

Covered functions
802
Functions that are reachable but not covered
162
Reachable functions
1338
Percentage of reachable functions covered
87.89%
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/core.h 208
/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 303 17.8%
gold [1:9] 33 1.93%
yellow [10:29] 5 0.29%
greenyellow [30:49] 6 0.35%
lawngreen 50+ 1355 79.6%
All colors 1702 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 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 _ZN3fmt3v126detail13arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
41 1424 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01424 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
17 983 fmt::v12::basic_appender fmt::v12::detail::do_write_float , fmt::v12::basic_appender , fmt::v12::detail::big_decimal_fp>(fmt::v12::basic_appender , fmt::v12::detail::big_decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref) call site: 00983 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
15 1259 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: 01259 _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 1016 char* fmt::v12::detail::format_base2e (int, char*, unsigned long, int, bool) call site: 01016
11 157 char* fmt::v12::detail::fill_n (char*, int, char) call site: 00157 _ZN3fmt3v126detail21default_arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
10 430 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00430 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 390 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: 00390
9 1478 fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp , char>(fmt::v12::basic_appender , fmt::v12::detail::find_escape_result const&) call site: 01478 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_
7 915 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00915
7 1005 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: 01005 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib

Runtime coverage analysis

Covered functions
732
Functions that are reachable but not covered
189
Reachable functions
1432
Percentage of reachable functions covered
86.8%
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/core.h 267
/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 296 13.3%
gold [1:9] 30 1.34%
yellow [10:29] 205 9.22%
greenyellow [30:49] 214 9.62%
lawngreen 50+ 1478 66.4%
All colors 2223 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 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 _ZN3fmt3v126detail13arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
41 1412 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01412 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
15 1247 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: 01247 _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 967 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: 00967 _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 414 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00414 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 374 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: 00374
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 1466 fmt::v12::basic_appender fmt::v12::detail::write_escaped_cp , char>(fmt::v12::basic_appender , fmt::v12::detail::find_escape_result const&) call site: 01466 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_
8 1005 fmt::v12::basic_appender fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*) call site: 01005
7 899 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00899

Runtime coverage analysis

Covered functions
1513
Functions that are reachable but not covered
181
Reachable functions
2303
Percentage of reachable functions covered
92.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/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 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 781 31.3%
gold [1:9] 3 0.12%
yellow [10:29] 6 0.24%
greenyellow [30:49] 4 0.16%
lawngreen 50+ 1696 68.1%
All colors 2490 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 1428 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01428 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_
40 1514 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01514 _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 494 fmt::v12::detail::dragonbox::cache_accessor ::get_cached_power(int) call site: 00494
25 610 _ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_ call site: 00610 _ZN3fmt3v126detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i
24 529 fmt::v12::detail::dragonbox::umul192_upper128(unsigned long, fmt::v12::detail::uint128) call site: 00529 __clang_call_terminate
24 1216 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01216 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
24 1266 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: 01266 _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_
22 310 fmt::v12::detail::dragonbox::floor_log2_pow10(int) call site: 00310 __cxa_begin_catch
22 1242 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: 01242 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
21 968 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: 00968 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_

Runtime coverage analysis

Covered functions
6899
Functions that are reachable but not covered
489
Reachable functions
2532
Percentage of reachable functions covered
80.69%
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 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', 'fmt::v12::format_specs::format_specs()', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_', '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::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*)', '_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)', '_ZN3fmt3v126detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i']

/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/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/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&)', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEfTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_', '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/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)', '_ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_', '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*)', '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% ['named-arg-fuzzer', 'chrono-duration-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'float-fuzzer', 'two-args-fuzzer']
_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ 32 10 31.25% ['named-arg-fuzzer', 'chrono-duration-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'float-fuzzer', 'two-args-fuzzer']
char*fmt::v12::detail::do_format_decimal (char*,unsignedint,int) 42 23 54.76% ['named-arg-fuzzer', 'chrono-duration-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'float-fuzzer', 'two-args-fuzzer']
intfmt::v12::detail::format_float (longdouble,int,fmt::v12::format_specsconst&,bool,fmt::v12::detail::buffer &) 197 45 22.84% ['named-arg-fuzzer', 'chrono-duration-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'float-fuzzer', 'two-args-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['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/chrono-duration.cc ['chrono-duration-fuzzer'] ['chrono-duration-fuzzer']
/usr/local/bin/../include/c++/v1/stdexcept [] []
/src/fmt/include/fmt/chrono.h [] []
/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/float.cc ['float-fuzzer'] ['float-fuzzer']
/src/fmt/test/fuzzing/fuzzer-common.h ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer'] ['float-fuzzer', 'chrono-timepoint-fuzzer', 'one-arg-fuzzer', 'named-arg-fuzzer', 'two-args-fuzzer', 'chrono-duration-fuzzer']
/src/fmt/test/fuzzing/one-arg.cc ['one-arg-fuzzer'] ['one-arg-fuzzer']
/usr/local/bin/../include/c++/v1/string [] []
/src/fmt/test/fuzzing/chrono-timepoint.cc ['chrono-timepoint-fuzzer'] ['chrono-timepoint-fuzzer']
/src/fmt/test/fuzzing/named-arg.cc ['named-arg-fuzzer'] ['named-arg-fuzzer']
/src/fmt/test/fuzzing/two-args.cc ['two-args-fuzzer'] ['two-args-fuzzer']
/src/fmt/include/fmt/core.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
/src/fmt/include/fmt/
/src/fmt/test/fuzzing/
/usr/local/bin/../include/c++/v1/