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 965 60.6%
gold [1:9] 1 0.06%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 0.37%
lawngreen 50+ 618 38.8%
All colors 1590 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
129 1432 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SA_S7_NS0_12format_specsENS0_10locale_refE call site: 01432 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
61 595 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_ call site: 00595 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
52 209 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 00209 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_
49 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 1194 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01194 _ZN3fmt3v126detail19dynamic_spec_getterclIbTnNSt3__19enable_ifIXntsr10is_integerIT_EE5valueEiE4typeELi0EEEyS6_
35 1286 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: 01286 _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 1011 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: 01011 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib
24 1236 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01236 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
24 1374 int fmt::v12::detail::format_float (double, int, fmt::v12::format_specs const&, bool, fmt::v12::detail::buffer &) call site: 01374
23 355 fmt::v12::detail::dragonbox::floor_log10_pow2(int) call site: 00355 __clang_call_terminate
22 1170 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: 01170 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_

Runtime coverage analysis

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

Files reached

filename functions hit
/src/fmt/test/fuzzing/float.cc 2
/src/fmt/include/fmt/base.h 186
/src/fmt/test/fuzzing/fuzzer-common.h 1
/src/fmt/include/fmt/format.h 438
/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 1310 83.2%
gold [1:9] 11 0.69%
yellow [10:29] 7 0.44%
greenyellow [30:49] 14 0.89%
lawngreen 50+ 231 14.6%
All colors 1573 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 411 fmt::v12::basic_memory_buffer >::~basic_memory_buffer() call site: 00411 _ZN3fmt3v126detail21default_arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
211 723 fmt::v12::basic_memory_buffer >::deallocate() call site: 00723 _ZN3fmt3v1219basic_memory_bufferIjLm32ENS0_6detail9allocatorIjEEE10move_allocIS4_TnNSt3__19enable_ifIXntsr3std16allocator_traitsIT_E38propagate_on_container_move_assignmentE5valueEiE4typeELi0EEEbRS5_
121 285 fmt::v12::basic_string_view ::basic_string_view(char const*) call site: 00285 _ZN3fmt3v126detail21default_arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
104 1237 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01237 _ZN3fmt3v126detail13arg_formatterIcEclIfTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
88 1342 fmt::v12::basic_appender fmt::v12::detail::do_write_float , fmt::v12::basic_appender , fmt::v12::detail::dragonbox::decimal_fp >(fmt::v12::basic_appender , fmt::v12::detail::dragonbox::decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref) call site: 01342 _ZN3fmt3v126detail13arg_formatterIcEclIdTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
77 207 fmt::v12::basic_appender fmt::v12::detail::fill >(fmt::v12::basic_appender , unsigned long, fmt::v12::basic_specs const&) call site: 00207 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_
40 1147 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: 01147 _ZN3fmt3v126detail8to_asciiIcTnNSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEiE4typeELi0EEEcS5_
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
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
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 996 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00996 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
30 1449 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01449 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_

Runtime coverage analysis

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

Files reached

filename functions hit
/src/fmt/test/fuzzing/chrono-timepoint.cc 2
/src/fmt/test/fuzzing/fuzzer-common.h 4
/src/fmt/include/fmt/base.h 182
/src/fmt/include/fmt/format.h 440
/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 294 17.2%
gold [1:9] 37 2.17%
yellow [10:29] 1 0.05%
greenyellow [30:49] 6 0.35%
lawngreen 50+ 1366 80.1%
All colors 1704 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
124 1452 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01452 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
17 1011 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: 01011 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
15 1287 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: 01287 _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 1044 char* fmt::v12::detail::format_base2e (int, char*, unsigned long, int, bool) call site: 01044
11 157 char* fmt::v12::detail::fill_n (char*, int, char) call site: 00157 _ZN3fmt3v126detail21default_arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
10 458 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00458 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 418 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: 00418
7 943 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00943
7 1033 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: 01033 _ZN3fmt3v126detail13format_base2eIcNS0_14basic_appenderIcEEmTnNSt3__19enable_ifIXsr23is_back_insert_iteratorIT0_EE5valueEiE4typeELi0EEES7_iS7_T1_ib
7 1304 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: 01304 _ZN3fmt3v126detail13arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
5 1113 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01113

Runtime coverage analysis

Covered functions
731
Functions that are reachable but not covered
180
Reachable functions
1423
Percentage of reachable functions covered
87.35%
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 438
/src/fmt/include/fmt/base.h 266
/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 258 15.7%
gold [1:9] 37 2.25%
yellow [10:29] 10 0.60%
greenyellow [30:49] 1 0.06%
lawngreen 50+ 1335 81.3%
All colors 1641 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 1513 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01513 _ZN3fmt3v126detail16write_escaped_cpIZNS1_5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SB_NS0_17basic_string_viewIS8_EERKNS0_12format_specsEE23bounded_output_iteratorcEES8_S8_RKNS1_18find_escape_resultISB_EE
30 1452 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01452 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_
15 1273 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: 01273 _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 1491 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ call site: 01491
11 130 char* fmt::v12::detail::fill_n (char*, int, char) call site: 00130 _ZN3fmt3v126detail21default_arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
10 439 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00439 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
10 999 fmt::v12::basic_appender fmt::v12::detail::write >(fmt::v12::basic_appender , fmt::v12::basic_string_view ) call site: 00999 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
10 1438 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01438 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
9 399 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: 00399
8 1555 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01555 _ZN3fmt3v126detail13arg_formatterIcEclINS0_17basic_string_viewIcEETnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
7 924 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00924

Runtime coverage analysis

Covered functions
800
Functions that are reachable but not covered
153
Reachable functions
1329
Percentage of reachable functions covered
88.49%
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 438
/src/fmt/include/fmt/base.h 207
/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 278 12.4%
gold [1:9] 38 1.70%
yellow [10:29] 201 9.03%
greenyellow [30:49] 217 9.75%
lawngreen 50+ 1491 67.0%
All colors 2225 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
118 1440 _ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_ call site: 01440 _ZN3fmt3v126detail13arg_formatterIcEclIPKcTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_
15 1275 fmt::v12::detail::write_int_arg )())<=(32))&&(!(0)), unsigned int, std::__1::conditional<((num_bits )())<=(64), unsigned long, unsigned __int128>::type>::type> fmt::v12::detail::make_write_int_arg (unsigned long long, fmt::v12::sign) call site: 01275 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
13 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 995 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: 00995 _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 442 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_ call site: 00442 _ZN3fmt3v126detail17write_significandINS0_14basic_appenderIcEEjcTnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_iiT1_
9 402 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: 00402
8 1033 fmt::v12::basic_appender fmt::v12::detail::write_ptr , unsigned long>(fmt::v12::basic_appender , unsigned long, fmt::v12::format_specs const*) call site: 01033
7 927 fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&) call site: 00927
7 1086 int fmt::v12::basic_format_args ::get_id (fmt::v12::basic_string_view ) const call site: 01086 memcmp
7 1292 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: 01292 _ZN3fmt3v126detail13arg_formatterIcEclIoTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
5 1101 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01101

Runtime coverage analysis

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

Files reached

filename functions hit
/src/fmt/test/fuzzing/two-args.cc 422
/src/fmt/test/fuzzing/fuzzer-common.h 15
/src/fmt/include/fmt/base.h 388
/src/fmt/include/fmt/format.h 438
/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 784 31.4%
gold [1:9] 8 0.32%
yellow [10:29] 0 0.0%
greenyellow [30:49] 4 0.16%
lawngreen 50+ 1697 68.0%
All colors 2493 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
52 213 fmt::v12::basic_appender fmt::v12::detail::write_padded , fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&>(fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_char >(fmt::v12::basic_appender , char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender )#1}&) call site: 00213 _ZN3fmt3v126detail4copyIcPcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS6_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendIS9_T0_vEE_EEiE4typeELi0EEES9_SE_SE_S9_
40 1517 _ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_ call site: 01517 _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
30 1456 _ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE call site: 01456 _ZN3fmt3v126detail4copyIcPKcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXaacvNS1_23is_back_insert_iteratorIT1_NS7_17integral_constantIbLb1EEEEE_EcvNS1_10has_appendISA_T0_vEE_EEiE4typeELi0EEESA_SF_SF_SA_
28 522 fmt::v12::detail::dragonbox::cache_accessor ::get_cached_power(int) call site: 00522
25 638 _ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_ call site: 00638 _ZN3fmt3v126detail14format_decimalIcjNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i
24 557 fmt::v12::detail::dragonbox::umul192_upper128(unsigned long, fmt::v12::detail::uint128) call site: 00557 __clang_call_terminate
24 1244 fmt::v12::detail::format_handler ::on_format_specs(int, char const*, char const*) call site: 01244 _ZN3fmt3v126detail13arg_formatterIcEclIiTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
24 1294 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: 01294 _ZN3fmt3v126detail13arg_formatterIcEclIbTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
22 338 fmt::v12::detail::dragonbox::floor_log2_pow10(int) call site: 00338 __cxa_begin_catch
22 1270 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: 01270 _ZN3fmt3v126detail13arg_formatterIcEclInTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_
21 996 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: 00996 _ZN3fmt3v126detail21default_arg_formatterIcEclIPKvTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS9_

Runtime coverage analysis

Covered functions
6899
Functions that are reachable but not covered
479
Reachable functions
2523
Percentage of reachable functions covered
81.01%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/fmt/test/fuzzing/chrono-duration.cc 193
/src/fmt/test/fuzzing/fuzzer-common.h 13
/src/fmt/include/fmt/base.h 905
/src/fmt/include/fmt/format.h 438
/src/fmt/include/fmt/format-inl.h 44

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

/src/fmt/test/fuzzing/float.cc

Dictionary

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


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr17is_floating_pointIT1_EE5valueEiE4typeELi0EEET0_SA_S7_NS0_12format_specsENS0_10locale_refE', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEEdTnNSt3__19enable_ifIXsr13is_fast_floatIT1_EE5valueEiE4typeELi0EEET0_SA_S7_', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&)', 'fmt::v12::format_specs::format_specs()', 'fmt::v12::detail::format_handler::on_format_specs(int, char const*, char const*)', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_int, unsigned __int128>(fmt::v12::basic_appender, fmt::v12::detail::write_int_arg, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::basic_appender, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_int, unsigned __int128>(fmt::v12::basic_appender, fmt::v12::detail::write_int_arg, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&)', '_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&)']

/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::basic_string_view::basic_string_view(char const*)', 'fmt::v12::detail::format_handler::on_format_specs(int, char const*, char const*)', 'fmt::v12::basic_appender fmt::v12::detail::do_write_float, fmt::v12::basic_appender, fmt::v12::detail::dragonbox::decimal_fp >(fmt::v12::basic_appender, fmt::v12::detail::dragonbox::decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref)', 'fmt::v12::basic_appender fmt::v12::detail::fill >(fmt::v12::basic_appender, unsigned long, fmt::v12::basic_specs const&)', 'char const* fmt::v12::detail::parse_width(char const*, char const*, fmt::v12::format_specs&, fmt::v12::detail::arg_ref&, fmt::v12::parse_context&)', '_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_', 'fmt::v12::format_specs::format_specs()', '_ZN3fmt3v126detail14format_decimalIcmNS0_14basic_appenderIcEETnNSt3__19enable_ifIXntsr3std10is_pointerINS5_9remove_cvINS5_16remove_referenceIT1_E4typeEE4typeEEE5valueEiE4typeELi0EEES9_S9_T0_i']

/src/fmt/test/fuzzing/named-arg.cc

Dictionary

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


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_ZN3fmt3v126detail13arg_formatterIcEclIeTnNSt3__19enable_ifIXsr10is_builtinIT_EE5valueEiE4typeELi0EEEvS7_', 'fmt::v12::basic_appender fmt::v12::detail::do_write_float, fmt::v12::basic_appender, fmt::v12::detail::big_decimal_fp>(fmt::v12::basic_appender, fmt::v12::detail::big_decimal_fp const&, fmt::v12::format_specs const&, fmt::v12::sign, int, fmt::v12::locale_ref)', '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_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&)', 'fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::basic_appender, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs const*)::{lambda(fmt::v12::basic_appender)#1}&)']

/src/fmt/test/fuzzing/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=['_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_ptr, unsigned long>(fmt::v12::basic_appender, unsigned long, fmt::v12::format_specs const*)', 'fmt::v12::basic_memory_buffer >::basic_memory_buffer(fmt::v12::detail::allocator const&)', 'int fmt::v12::basic_format_args::get_id(fmt::v12::basic_string_view) const']

/src/fmt/test/fuzzing/chrono-duration.cc

Dictionary

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


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['fmt::v12::basic_appender fmt::v12::detail::write_padded, fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&>(fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&, fmt::v12::format_specs const&, unsigned long, unsigned long, fmt::v12::detail::write_char >(fmt::v12::basic_appender, char, fmt::v12::format_specs const&)::{lambda(fmt::v12::basic_appender)#1}&)', '_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUlS4_E_clES4_', 'fmt::v12::format_specs::format_specs()', '_ZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsE', 'fmt::v12::detail::dragonbox::cache_accessor::get_cached_power(int)', '_ZN3fmt3v126detail8basic_fpIoE6assignIeTnNSt3__19enable_ifIXntsr16is_double_doubleIT_EE5valueEiE4typeELi0EEEbS7_', 'fmt::v12::detail::dragonbox::umul192_upper128(unsigned long, fmt::v12::detail::uint128)', '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::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-duration-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'float-fuzzer']
_ZZN3fmt3v126detail5writeIcNS0_14basic_appenderIcEETnNSt3__19enable_ifIXsr3std7is_sameIT_cEE5valueEiE4typeELi0EEET0_SA_NS0_17basic_string_viewIS7_EERKNS0_12format_specsEENKUljNSB_IcEEE_clEjSG_ 32 10 31.25% ['chrono-duration-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'float-fuzzer']
char*fmt::v12::detail::do_format_decimal (char*,unsignedint,int) 42 23 54.76% ['chrono-duration-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'float-fuzzer']
intfmt::v12::detail::format_float (longdouble,int,fmt::v12::format_specsconst&,bool,fmt::v12::detail::buffer &) 197 45 22.84% ['chrono-duration-fuzzer', 'chrono-timepoint-fuzzer', 'named-arg-fuzzer', 'one-arg-fuzzer', 'two-args-fuzzer', 'float-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['chrono-duration-fuzzer']
charconst*fmt::v12::detail::parse_chrono_format >&>(charconst*,charconst*,fmt::v12::detail::duration_formatter >&) 135 66 48.88% ['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/two-args.cc ['two-args-fuzzer'] ['two-args-fuzzer']
/src/fmt/test/fuzzing/chrono-duration.cc ['chrono-duration-fuzzer'] ['chrono-duration-fuzzer']
/src/fmt/test/fuzzing/chrono-timepoint.cc ['chrono-timepoint-fuzzer'] ['chrono-timepoint-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']
/usr/local/bin/../include/c++/v1/string [] []
/src/fmt/include/fmt/chrono.h [] []
/src/fmt/test/fuzzing/named-arg.cc ['named-arg-fuzzer'] ['named-arg-fuzzer']
/src/fmt/test/fuzzing/one-arg.cc ['one-arg-fuzzer'] ['one-arg-fuzzer']
/usr/local/bin/../include/c++/v1/stdexcept [] []
/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/include/fmt/base.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/float.cc ['float-fuzzer'] ['float-fuzzer']

Directories in report

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