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

Fuzzer details

Fuzzer: fuzz_parse

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 919 49.0%
gold [1:9] 25 1.33%
yellow [10:29] 69 3.67%
greenyellow [30:49] 22 1.17%
lawngreen 50+ 840 44.8%
All colors 1875 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 211 1 :

['boost::json::detail::throw_system_error(boost::json::error, boost::source_location const*)']

0 211 boost::json::detail::string_impl::growth(unsignedlong,unsignedlong) call site: 00000 /src/boost/./boost/json/detail/impl/string_impl.ipp:123
0 211 1 :

['boost::json::detail::throw_system_error(boost::json::error, boost::source_location const*)']

0 211 boost::json::array::table::allocate(unsignedlong,boost::json::storage_ptrconst&) call site: 00000 /src/boost/./boost/json/impl/array.ipp:42
0 51 1 :

['boost::json::detail::handler::on_uint64(unsigned long, boost::core::basic_string_view , boost::system::error_code&)']

11 70 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:2709
0 41 1 :

['boost::json::basic_parser ::suspend(char const*, boost::json::basic_parser ::state)']

0 43 charconst*boost::json::basic_parser ::parse_document (charconst*,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:600
0 12 6 :

['unsigned int& boost::json::detail::access::next (boost::json::key_value_pair&)', 'boost::core::basic_string_view ::begin() const', 'boost::core::basic_string_view ::end() const', '_ZNSt3__14pairIPN5boost4json14key_value_pairEmEC2B8ne180100ILb1ETnNS_9enable_ifIXclsr13_CheckArgsDepIXT_EEE25__enable_implicit_defaultEEiE4typeELi0EEEv', 'boost::json::object::table::bucket(unsigned long)', 'unsigned long boost::json::detail::digest (char const*, char const*, unsigned long)']

0 25 std::__1::pair boost::json::detail::find_in_object >(boost::json::objectconst&,boost::core::basic_string_view ) call site: 00000 /src/boost/./boost/json/impl/object.ipp:36
0 2 1 :

['boost::json::detail::string_impl::max_size()']

0 2 boost::json::detail::string_impl::growth(unsignedlong,unsignedlong) call site: 00000 /src/boost/./boost/json/detail/impl/string_impl.ipp:129
0 0 None 3323 6119 boost::json::basic_parser ::write_some(bool,charconst*,unsignedlong,boost::system::error_code&) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:2817
0 0 None 164 164 charconst*boost::json::basic_parser ::parse_value (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:655
0 0 None 164 164 charconst*boost::json::basic_parser ::parse_value (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:663
0 0 None 77 719 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:2100
0 0 None 55 1056 charconst*boost::json::basic_parser ::parse_string (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:995
0 0 None 55 803 charconst*boost::json::basic_parser ::parse_string (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:995

Runtime coverage analysis

Covered functions
294
Functions that are reachable but not covered
432
Reachable functions
1031
Percentage of reachable functions covered
58.1%
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/boost/libs/json/fuzzing/fuzz_parse.cpp 2
/work/stage/include/boost/core/detail/string_view.hpp 1
/work/stage/include/boost/system/detail/error_code.hpp 4
/work/stage/include/boost/json/storage_ptr.hpp 5
/src/boost/./boost/json/impl/parse.ipp 1
/src/boost/./boost/json/parser.hpp 3
/src/boost/./boost/json/storage_ptr.hpp 7
/src/boost/./boost/json/detail/config.hpp 1
/src/boost/./boost/json/impl/parser.ipp 5
/src/boost/./boost/json/basic_parser_impl.hpp 73
/src/boost/./boost/json/detail/impl/handler.ipp 19
/src/boost/./boost/json/impl/value_stack.ipp 41
/src/boost/./boost/json/detail/stack.hpp 6
/src/boost/./boost/json/detail/sbo_buffer.hpp 10
/src/boost/./boost/json/detail/impl/stack.ipp 5
/src/boost/./boost/json/detail/default_resource.hpp 1
/src/boost/./boost/container/pmr/memory_resource.hpp 2
/src/boost/./boost/json/detail/handler.hpp 1
/src/boost/./boost/json/impl/value.ipp 2
/work/stage/include/boost/json/value.hpp 2
/src/boost/./boost/json/detail/value.hpp 20
/src/boost/./boost/json/string.hpp 7
/src/boost/./boost/json/detail/string_impl.hpp 8
/src/boost/./boost/json/impl/array.ipp 5
/src/boost/./boost/json/impl/array.hpp 5
/src/boost/./boost/json/impl/object.ipp 10
/src/boost/./boost/json/impl/object.hpp 6
/src/boost/./boost/json/value.hpp 17
/src/boost/./boost/json/basic_parser.hpp 5
/src/boost/./boost/json/pilfer.hpp 4
/src/boost/./boost/core/detail/string_view.hpp 6
/src/boost/./boost/system/detail/error_code.hpp 11
/src/boost/./boost/json/impl/error.hpp 1
/src/boost/./boost/system/detail/error_category.hpp 1
/src/boost/./boost/json/detail/stream.hpp 15
/src/boost/./boost/json/detail/sse2.hpp 5
/src/boost/./boost/json/detail/impl/stack.hpp 7
/src/boost/./boost/mp11/detail/mp_with_index.hpp 8
/src/boost/./boost/json/detail/impl/except.ipp 2
/src/boost/./boost/system/system_error.hpp 3
/work/stage/include/boost/system/detail/system_category_message.hpp 1
/work/stage/include/boost/system/detail/generic_category_message.hpp 3
/src/boost/./boost/system/detail/system_category.hpp 1
/src/boost/./boost/system/detail/interop_category.hpp 1
/src/boost/./boost/system/detail/append_int.hpp 1
/src/boost/./boost/assert/source_location.hpp 6
/src/boost/./boost/throw_exception.hpp 5
/src/boost/./boost/exception/exception.hpp 15
/src/boost/./boost/json/detail/charconv/impl/from_chars.ipp 1
/src/boost/./boost/json/detail/charconv/detail/fast_float/parse_number.hpp 3
/src/boost/./boost/json/detail/charconv/detail/fast_float/float_common.hpp 29
/src/boost/./boost/json/detail/charconv/detail/fast_float/ascii_number.hpp 1
/src/boost/./boost/endian/conversion.hpp 6
/src/boost/./boost/json/detail/charconv/detail/fast_float/digit_comparison.hpp 9
/src/boost/./boost/json/detail/charconv/detail/fast_float/bigint.hpp 36
/src/boost/./boost/json/detail/charconv/detail/from_chars_float_impl.hpp 3
/src/boost/./boost/json/detail/charconv/detail/parser.hpp 4
/src/boost/./boost/json/detail/charconv/detail/from_chars_integer_impl.hpp 5
/src/boost/./boost/json/detail/charconv/detail/integer_search_trees.hpp 1
/src/boost/./boost/json/detail/charconv/detail/compute_float64.hpp 1
/src/boost/./boost/core/bit.hpp 2
/src/boost/./boost/json/detail/charconv/detail/emulated128.hpp 1
/src/boost/./boost/json/detail/literals.hpp 1
/src/boost/./boost/json/detail/utf8.hpp 12
/src/boost/./boost/json/detail/buffer.hpp 8
/src/boost/./boost/json/impl/string.ipp 3
/src/boost/./boost/json/detail/impl/string_impl.ipp 6
/src/boost/./boost/json/impl/string.hpp 2
/src/boost/./boost/json/detail/object.hpp 4
/src/boost/./boost/json/detail/digest.hpp 1
/src/boost/./boost/json/detail/array.hpp 3
/src/boost/./boost/json/detail/impl/array.hpp 2

Fuzzer: fuzz_basic_parser

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 914 60.0%
gold [1:9] 26 1.70%
yellow [10:29] 68 4.47%
greenyellow [30:49] 21 1.38%
lawngreen 50+ 492 32.3%
All colors 1521 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 43 1 :

['boost::json::basic_parser ::suspend(char const*, boost::json::basic_parser ::state)']

0 45 charconst*boost::json::basic_parser ::parse_document (charconst*,std::__1::integral_constant ) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:600
0 2 1 :

['null_parser::handler::on_uint64(unsigned long, boost::core::basic_string_view , boost::system::error_code&)']

17 27 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:2709
0 0 None 2893 5257 boost::json::basic_parser ::write_some(bool,charconst*,unsignedlong,boost::system::error_code&) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:2817
0 0 None 119 768 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:2100
0 0 None 114 114 charconst*boost::json::basic_parser ::parse_value (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:655
0 0 None 114 114 charconst*boost::json::basic_parser ::parse_value (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:663
0 0 None 79 665 charconst*boost::json::basic_parser ::parse_string (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:995
0 0 None 79 665 charconst*boost::json::basic_parser ::parse_string (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:995
0 0 None 51 1780 charconst*boost::json::basic_parser ::parse_escaped (charconst*,unsignedlong&,std::__1::integral_constant ,bool,bool) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:1310
0 0 None 51 1780 charconst*boost::json::basic_parser ::parse_escaped (charconst*,unsignedlong&,std::__1::integral_constant ,bool,bool) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:1333
0 0 None 51 1780 charconst*boost::json::basic_parser ::parse_escaped (charconst*,unsignedlong&,std::__1::integral_constant ,bool,bool) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:1350
0 0 None 51 1780 charconst*boost::json::basic_parser ::parse_escaped (charconst*,unsignedlong&,std::__1::integral_constant ,bool,bool) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:1396

Runtime coverage analysis

Covered functions
121
Functions that are reachable but not covered
440
Reachable functions
693
Percentage of reachable functions covered
36.51%
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/boost/libs/json/fuzzing/fuzz_basic_parser.cpp 23
/work/stage/include/boost/core/detail/string_view.hpp 3
/work/stage/include/boost/json/parse_options.hpp 1
/work/stage/include/boost/json/basic_parser_impl.hpp 71
/work/stage/include/boost/system/detail/error_code.hpp 9
/work/stage/include/boost/json/detail/stack.hpp 6
/work/stage/include/boost/json/storage_ptr.hpp 1
/work/stage/include/boost/json/detail/sbo_buffer.hpp 10
/src/boost/./boost/json/detail/impl/stack.ipp 5
/src/boost/./boost/json/storage_ptr.hpp 6
/src/boost/./boost/json/detail/default_resource.hpp 1
/src/boost/./boost/container/pmr/memory_resource.hpp 2
/work/stage/include/boost/json/impl/error.hpp 1
/work/stage/include/boost/system/detail/error_category.hpp 1
/work/stage/include/boost/json/detail/stream.hpp 15
/work/stage/include/boost/json/detail/sse2.hpp 5
/work/stage/include/boost/json/basic_parser.hpp 2
/work/stage/include/boost/json/detail/impl/stack.hpp 7
/work/stage/include/boost/mp11/detail/mp_with_index.hpp 8
/src/boost/./boost/json/detail/impl/except.ipp 1
/src/boost/./boost/system/system_error.hpp 3
/src/boost/./boost/system/detail/error_code.hpp 7
/work/stage/include/boost/system/detail/system_category_message.hpp 1
/work/stage/include/boost/system/detail/generic_category_message.hpp 3
/src/boost/./boost/system/detail/system_category.hpp 1
/src/boost/./boost/system/detail/interop_category.hpp 1
/src/boost/./boost/system/detail/append_int.hpp 1
/src/boost/./boost/assert/source_location.hpp 5
/src/boost/./boost/throw_exception.hpp 5
/src/boost/./boost/exception/exception.hpp 15
/src/boost/./boost/json/detail/charconv/impl/from_chars.ipp 1
/src/boost/./boost/json/detail/charconv/detail/fast_float/parse_number.hpp 3
/src/boost/./boost/json/detail/charconv/detail/fast_float/float_common.hpp 29
/src/boost/./boost/json/detail/charconv/detail/fast_float/ascii_number.hpp 1
/src/boost/./boost/endian/conversion.hpp 3
/src/boost/./boost/json/detail/charconv/detail/fast_float/digit_comparison.hpp 9
/src/boost/./boost/json/detail/charconv/detail/fast_float/bigint.hpp 36
/src/boost/./boost/json/detail/charconv/detail/from_chars_float_impl.hpp 3
/src/boost/./boost/json/detail/charconv/detail/parser.hpp 4
/src/boost/./boost/json/detail/charconv/detail/from_chars_integer_impl.hpp 5
/src/boost/./boost/json/detail/charconv/detail/integer_search_trees.hpp 1
/src/boost/./boost/json/detail/charconv/detail/compute_float64.hpp 1
/src/boost/./boost/core/bit.hpp 2
/src/boost/./boost/json/detail/charconv/detail/emulated128.hpp 1
/work/stage/include/boost/json/detail/literals.hpp 1
/work/stage/include/boost/json/detail/utf8.hpp 12
/work/stage/include/boost/endian/conversion.hpp 3
/work/stage/include/boost/json/detail/buffer.hpp 9

Fuzzer: fuzz_parser

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 469 23.9%
gold [1:9] 55 2.81%
yellow [10:29] 95 4.85%
greenyellow [30:49] 19 0.97%
lawngreen 50+ 1319 67.3%
All colors 1957 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4 4 1 :

['boost::json::detail::ryu::detail::copy_special_str(char*, bool, bool, bool)']

6 6 boost::json::detail::ryu::d2s_buffered_n(double,char*,bool) call site: 00000 /src/boost/./boost/json/detail/ryu/impl/d2s.ipp:696
0 211 1 :

['boost::json::detail::throw_system_error(boost::json::error, boost::source_location const*)']

0 211 boost::json::detail::string_impl::growth(unsignedlong,unsignedlong) call site: 00000 /src/boost/./boost/json/detail/impl/string_impl.ipp:123
0 211 1 :

['boost::json::detail::throw_system_error(boost::json::error, boost::source_location const*)']

0 211 boost::json::detail::sbo_buffer<34ul>::grow(unsignedlong) call site: 00000 /src/boost/./boost/json/detail/sbo_buffer.hpp:146
0 211 1 :

['boost::json::detail::throw_system_error(boost::json::error, boost::source_location const*)']

0 211 boost::json::array::table::allocate(unsignedlong,boost::json::storage_ptrconst&) call site: 00000 /src/boost/./boost/json/impl/array.ipp:42
0 186 1 :

['boost::json::detail::charconv::from_chars_result_t boost::json::detail::charconv::detail::from_chars_float_impl (char const*, char const*, double&, boost::json::detail::charconv::chars_format)']

0 186 boost::json::detail::charconv::from_chars(charconst*,charconst*,double&,boost::json::detail::charconv::chars_format) call site: 00000 /src/boost/./boost/json/detail/charconv/impl/from_chars.ipp:42
0 51 1 :

['boost::json::detail::handler::on_uint64(unsigned long, boost::core::basic_string_view , boost::system::error_code&)']

11 70 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:2709
0 51 1 :

['boost::json::detail::handler::on_uint64(unsigned long, boost::core::basic_string_view , boost::system::error_code&)']

11 70 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:2709
0 51 1 :

['boost::json::detail::handler::on_uint64(unsigned long, boost::core::basic_string_view , boost::system::error_code&)']

11 70 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:2709
0 51 1 :

['boost::json::detail::handler::on_uint64(unsigned long, boost::core::basic_string_view , boost::system::error_code&)']

11 70 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:2709
0 51 1 :

['boost::json::detail::handler::on_uint64(unsigned long, boost::core::basic_string_view , boost::system::error_code&)']

11 70 charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:2709
0 41 1 :

['boost::json::basic_parser ::suspend(char const*, boost::json::basic_parser ::state)']

0 43 charconst*boost::json::basic_parser ::parse_document (charconst*,std::__1::integral_constant ) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:600
0 41 1 :

['boost::json::basic_parser ::suspend(char const*, boost::json::basic_parser ::state)']

0 43 charconst*boost::json::basic_parser ::parse_comment (charconst*,std::__1::integral_constant ,bool) call site: 00000 /src/boost/./boost/json/basic_parser_impl.hpp:481

Runtime coverage analysis

Covered functions
650
Functions that are reachable but not covered
178
Reachable functions
1109
Percentage of reachable functions covered
83.95%
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/boost/libs/json/fuzzing/fuzz_parser.cpp 7
/work/stage/include/boost/json/parse_options.hpp 1
/work/stage/include/boost/core/detail/string_view.hpp 4
/work/stage/include/boost/json/storage_ptr.hpp 8
/src/boost/./boost/json/impl/stream_parser.ipp 8
/src/boost/./boost/json/basic_parser_impl.hpp 74
/src/boost/./boost/json/detail/impl/handler.ipp 20
/src/boost/./boost/json/storage_ptr.hpp 7
/src/boost/./boost/json/detail/config.hpp 1
/src/boost/./boost/json/impl/value_stack.ipp 41
/work/stage/include/boost/system/detail/error_code.hpp 4
/src/boost/./boost/json/detail/stack.hpp 6
/src/boost/./boost/json/detail/sbo_buffer.hpp 8
/src/boost/./boost/json/detail/impl/stack.ipp 6
/src/boost/./boost/json/detail/default_resource.hpp 1
/src/boost/./boost/container/pmr/memory_resource.hpp 3
/work/stage/include/boost/json/detail/handler.hpp 1
/src/boost/./boost/json/impl/value.ipp 2
/src/boost/./boost/json/value.hpp 18
/src/boost/./boost/json/detail/value.hpp 20
/src/boost/./boost/json/string.hpp 7
/src/boost/./boost/json/detail/string_impl.hpp 8
/src/boost/./boost/json/impl/array.ipp 5
/src/boost/./boost/json/impl/array.hpp 5
/src/boost/./boost/json/impl/object.ipp 10
/src/boost/./boost/json/impl/object.hpp 6
/src/boost/./boost/json/basic_parser.hpp 3
/src/boost/./boost/json/pilfer.hpp 4
/work/stage/include/boost/json/stream_parser.hpp 2
/src/boost/./boost/system/detail/error_code.hpp 11
/src/boost/./boost/json/impl/error.hpp 1
/src/boost/./boost/system/detail/error_category.hpp 1
/src/boost/./boost/json/detail/stream.hpp 17
/src/boost/./boost/json/detail/sse2.hpp 5
/src/boost/./boost/json/detail/impl/stack.hpp 7
/src/boost/./boost/mp11/detail/mp_with_index.hpp 8
/src/boost/./boost/json/detail/impl/except.ipp 2
/src/boost/./boost/system/system_error.hpp 3
/work/stage/include/boost/system/detail/system_category_message.hpp 1
/work/stage/include/boost/system/detail/generic_category_message.hpp 3
/src/boost/./boost/system/detail/system_category.hpp 1
/src/boost/./boost/system/detail/interop_category.hpp 1
/src/boost/./boost/system/detail/append_int.hpp 1
/src/boost/./boost/assert/source_location.hpp 6
/src/boost/./boost/throw_exception.hpp 5
/src/boost/./boost/exception/exception.hpp 15
/work/stage/include/boost/json/detail/sbo_buffer.hpp 2
/src/boost/./boost/json/detail/charconv/impl/from_chars.ipp 1
/src/boost/./boost/json/detail/charconv/detail/fast_float/parse_number.hpp 3
/src/boost/./boost/json/detail/charconv/detail/fast_float/float_common.hpp 29
/src/boost/./boost/json/detail/charconv/detail/fast_float/ascii_number.hpp 1
/src/boost/./boost/endian/conversion.hpp 6
/src/boost/./boost/json/detail/charconv/detail/fast_float/digit_comparison.hpp 9
/src/boost/./boost/json/detail/charconv/detail/fast_float/bigint.hpp 36
/src/boost/./boost/json/detail/charconv/detail/from_chars_float_impl.hpp 3
/src/boost/./boost/json/detail/charconv/detail/parser.hpp 4
/src/boost/./boost/json/detail/charconv/detail/from_chars_integer_impl.hpp 5
/src/boost/./boost/json/detail/charconv/detail/integer_search_trees.hpp 1
/src/boost/./boost/json/detail/charconv/detail/compute_float64.hpp 1
/src/boost/./boost/core/bit.hpp 2
/src/boost/./boost/json/detail/charconv/detail/emulated128.hpp 1
/src/boost/./boost/json/detail/literals.hpp 1
/src/boost/./boost/json/detail/utf8.hpp 12
/src/boost/./boost/json/detail/buffer.hpp 8
/src/boost/./boost/json/impl/string.ipp 3
/src/boost/./boost/json/detail/impl/string_impl.ipp 6
/src/boost/./boost/json/impl/string.hpp 2
/src/boost/./boost/json/detail/object.hpp 4
/src/boost/./boost/core/detail/string_view.hpp 4
/src/boost/./boost/json/detail/digest.hpp 1
/src/boost/./boost/json/detail/array.hpp 3
/src/boost/./boost/json/detail/impl/array.hpp 2
/src/boost/./boost/json/impl/serialize.ipp 2
/src/boost/./boost/json/impl/serializer.ipp 5
/src/boost/./boost/json/serializer.hpp 3
/src/boost/./boost/json/detail/writer.hpp 1
/work/stage/include/boost/json/basic_parser.hpp 1
/src/boost/./boost/json/impl/monotonic_resource.ipp 6
/work/stage/include/boost/container/pmr/memory_resource.hpp 1
/src/boost/./boost/json/impl/null_resource.ipp 2
/src/boost/./boost/json/impl/static_resource.ipp 1
/work/stage/include/boost/json/static_resource.hpp 1

Fuzzer: fuzz_direct_parse

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 1765 37.9%
gold [1:9] 955 20.5%
yellow [10:29] 95 2.04%
greenyellow [30:49] 14 0.30%
lawngreen 50+ 1825 39.2%
All colors 4654 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
140 140 1 :

['_ZN5boost4mp116detail19mp_with_index_impl_ILm12EE4callILm0ENS_4json6detail24tuple_handler_op_invokerINS6_13handler_tupleINS6_18converting_handlerINS6_30described_class_conversion_tagE6ObjectNS6_12into_handlerISB_EEEENS_8describe6detail4listIJNS9_INS6_19bool_conversion_tagEbSE_EENS9_INS6_23integral_conversion_tagElSE_EENS9_ISK_mSE_EENS9_INS6_29floating_point_conversion_tagEfSE_EENS9_ISN_dSE_EENS9_INS6_26string_like_conversion_tagENSt3__112basic_stringIcNSR_11char_traitsIcEENSR_9allocatorIcEEEESE_EENS9_INS6_23sequence_conversion_tagENSR_6vectorIbNSV_IbEEEESE_EENS9_ISZ_NS10_IlNSV_IlEEEESE_EENS9_ISZ_NS10_ImNSV_ImEEEESE_EENS9_ISZ_NSR_5arrayIbLm3EEESE_EENS9_ISZ_NS1A_IlLm3EEESE_EENS9_ISZ_NS1A_ImLm3EEESE_EENS9_INS6_23map_like_conversion_tagENSR_3mapISX_lNSR_4lessISX_EENSV_INSR_4pairIKSX_lEEEEEESE_EENS9_IS1H_NS1I_ISX_SX_S1K_NSV_INS1L_IS1M_SX_EEEEEESE_EENS9_IS1H_NS1I_ISX_dS1K_NSV_INS1L_IS1M_dEEEEEESE_EENS9_INS6_20tuple_conversion_tagENSR_5tupleIJbmldSX_EEESE_EENS9_IS1Z_NS20_IJNS1A_ISX_Lm3EEENS1A_IdLm3EEEDnEEESE_EENS9_IS1Z_NS20_IJNS10_ISX_NSV_ISX_EEEENS10_IdNSV_IdEEEEEEESE_EENS9_INS6_22variant_conversion_tagENS_8variant27variantIJbmldSX_EEESE_EENS9_INS6_23optional_conversion_tagENSR_8optionalIbEESE_EENS9_IS2I_NS2J_IlEESE_EENS9_IS2I_NS2J_ImEESE_EENS9_IS2I_NS2J_IdEESE_EENS9_IS2I_NS2J_ISX_EESE_EENS6_16ignoring_handlerISE_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSE_13on_object_endERNS_6system10error_codeEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSR_7declvalB8ne180100INSR_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS33_ELi0EEEvEEEEmOS37_']

140 140 _ZN5boost4mp116detail19mp_with_index_impl_ILm25EE4callILm0ENS_4json6detail24tuple_handler_op_invokerINS6_13handler_tupleINS6_18converting_handlerINS6_30described_class_conversion_tagE6ObjectNS6_12into_handlerISB_EEEENS_8describe6detail4listIJNS9_INS6_19bool_conversion_tagEbSE_EENS9_INS6_23integral_conversion_tagElSE_EENS9_ISK_mSE_EENS9_INS6_29floating_point_conversion_tagEfSE_EENS9_ISN_dSE_EENS9_INS6_26string_like_conversion_tagENSt3__112basic_stringIcNSR_11char_traitsIcEENSR_9allocatorIcEEEESE_EENS9_INS6_23sequence_conversion_tagENSR_6vectorIbNSV_IbEEEESE_EENS9_ISZ_NS10_IlNSV_IlEEEESE_EENS9_ISZ_NS10_ImNSV_ImEEEESE_EENS9_ISZ_NSR_5arrayIbLm3EEESE_EENS9_ISZ_NS1A_IlLm3EEESE_EENS9_ISZ_NS1A_ImLm3EEESE_EENS9_INS6_23map_like_conversion_tagENSR_3mapISX_lNSR_4lessISX_EENSV_INSR_4pairIKSX_lEEEEEESE_EENS9_IS1H_NS1I_ISX_SX_S1K_NSV_INS1L_IS1M_SX_EEEEEESE_EENS9_IS1H_NS1I_ISX_dS1K_NSV_INS1L_IS1M_dEEEEEESE_EENS9_INS6_20tuple_conversion_tagENSR_5tupleIJbmldSX_EEESE_EENS9_IS1Z_NS20_IJNS1A_ISX_Lm3EEENS1A_IdLm3EEEDnEEESE_EENS9_IS1Z_NS20_IJNS10_ISX_NSV_ISX_EEEENS10_IdNSV_IdEEEEEEESE_EENS9_INS6_22variant_conversion_tagENS_8variant27variantIJbmldSX_EEESE_EENS9_INS6_23optional_conversion_tagENSR_8optionalIbEESE_EENS9_IS2I_NS2J_IlEESE_EENS9_IS2I_NS2J_ImEESE_EENS9_IS2I_NS2J_IdEESE_EENS9_IS2I_NS2J_ISX_EESE_EENS6_16ignoring_handlerISE_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSE_13on_object_endERNS_6system10error_codeEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSR_7declvalB8ne180100INSR_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS33_ELi0EEEvEEEEmOS37_ call site: 04097 /work/stage/include/boost/mp11/detail/mp_with_index.hpp:43
138 138 1 :

['_ZN5boost4mp116detail19mp_with_index_impl_ILm12EE4callILm0ENS_4json6detail24tuple_handler_op_invokerINS6_13handler_tupleINS6_18converting_handlerINS6_30described_class_conversion_tagE6ObjectNS6_12into_handlerISB_EEEENS_8describe6detail4listIJNS9_INS6_19bool_conversion_tagEbSE_EENS9_INS6_23integral_conversion_tagElSE_EENS9_ISK_mSE_EENS9_INS6_29floating_point_conversion_tagEfSE_EENS9_ISN_dSE_EENS9_INS6_26string_like_conversion_tagENSt3__112basic_stringIcNSR_11char_traitsIcEENSR_9allocatorIcEEEESE_EENS9_INS6_23sequence_conversion_tagENSR_6vectorIbNSV_IbEEEESE_EENS9_ISZ_NS10_IlNSV_IlEEEESE_EENS9_ISZ_NS10_ImNSV_ImEEEESE_EENS9_ISZ_NSR_5arrayIbLm3EEESE_EENS9_ISZ_NS1A_IlLm3EEESE_EENS9_ISZ_NS1A_ImLm3EEESE_EENS9_INS6_23map_like_conversion_tagENSR_3mapISX_lNSR_4lessISX_EENSV_INSR_4pairIKSX_lEEEEEESE_EENS9_IS1H_NS1I_ISX_SX_S1K_NSV_INS1L_IS1M_SX_EEEEEESE_EENS9_IS1H_NS1I_ISX_dS1K_NSV_INS1L_IS1M_dEEEEEESE_EENS9_INS6_20tuple_conversion_tagENSR_5tupleIJbmldSX_EEESE_EENS9_IS1Z_NS20_IJNS1A_ISX_Lm3EEENS1A_IdLm3EEEDnEEESE_EENS9_IS1Z_NS20_IJNS10_ISX_NSV_ISX_EEEENS10_IdNSV_IdEEEEEEESE_EENS9_INS6_22variant_conversion_tagENS_8variant27variantIJbmldSX_EEESE_EENS9_INS6_23optional_conversion_tagENSR_8optionalIbEESE_EENS9_IS2I_NS2J_IlEESE_EENS9_IS2I_NS2J_ImEESE_EENS9_IS2I_NS2J_IdEESE_EENS9_IS2I_NS2J_ISX_EESE_EENS6_16ignoring_handlerISE_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSE_11on_key_partERNS_6system10error_codeENS_4core17basic_string_viewIcEEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSR_7declvalB8ne180100INSR_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS36_ELi0EEEvEEEEmOS3A_']

138 138 _ZN5boost4mp116detail19mp_with_index_impl_ILm25EE4callILm0ENS_4json6detail24tuple_handler_op_invokerINS6_13handler_tupleINS6_18converting_handlerINS6_30described_class_conversion_tagE6ObjectNS6_12into_handlerISB_EEEENS_8describe6detail4listIJNS9_INS6_19bool_conversion_tagEbSE_EENS9_INS6_23integral_conversion_tagElSE_EENS9_ISK_mSE_EENS9_INS6_29floating_point_conversion_tagEfSE_EENS9_ISN_dSE_EENS9_INS6_26string_like_conversion_tagENSt3__112basic_stringIcNSR_11char_traitsIcEENSR_9allocatorIcEEEESE_EENS9_INS6_23sequence_conversion_tagENSR_6vectorIbNSV_IbEEEESE_EENS9_ISZ_NS10_IlNSV_IlEEEESE_EENS9_ISZ_NS10_ImNSV_ImEEEESE_EENS9_ISZ_NSR_5arrayIbLm3EEESE_EENS9_ISZ_NS1A_IlLm3EEESE_EENS9_ISZ_NS1A_ImLm3EEESE_EENS9_INS6_23map_like_conversion_tagENSR_3mapISX_lNSR_4lessISX_EENSV_INSR_4pairIKSX_lEEEEEESE_EENS9_IS1H_NS1I_ISX_SX_S1K_NSV_INS1L_IS1M_SX_EEEEEESE_EENS9_IS1H_NS1I_ISX_dS1K_NSV_INS1L_IS1M_dEEEEEESE_EENS9_INS6_20tuple_conversion_tagENSR_5tupleIJbmldSX_EEESE_EENS9_IS1Z_NS20_IJNS1A_ISX_Lm3EEENS1A_IdLm3EEEDnEEESE_EENS9_IS1Z_NS20_IJNS10_ISX_NSV_ISX_EEEENS10_IdNSV_IdEEEEEEESE_EENS9_INS6_22variant_conversion_tagENS_8variant27variantIJbmldSX_EEESE_EENS9_INS6_23optional_conversion_tagENSR_8optionalIbEESE_EENS9_IS2I_NS2J_IlEESE_EENS9_IS2I_NS2J_ImEESE_EENS9_IS2I_NS2J_IdEESE_EENS9_IS2I_NS2J_ISX_EESE_EENS6_16ignoring_handlerISE_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSE_11on_key_partERNS_6system10error_codeENS_4core17basic_string_viewIcEEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSR_7declvalB8ne180100INSR_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS36_ELi0EEEvEEEEmOS3A_ call site: 02809 /work/stage/include/boost/mp11/detail/mp_with_index.hpp:43
138 138 1 :

['_ZN5boost4mp116detail19mp_with_index_impl_ILm12EE4callILm0ENS_4json6detail24tuple_handler_op_invokerINS6_13handler_tupleINS6_18converting_handlerINS6_30described_class_conversion_tagE6ObjectNS6_12into_handlerISB_EEEENS_8describe6detail4listIJNS9_INS6_19bool_conversion_tagEbSE_EENS9_INS6_23integral_conversion_tagElSE_EENS9_ISK_mSE_EENS9_INS6_29floating_point_conversion_tagEfSE_EENS9_ISN_dSE_EENS9_INS6_26string_like_conversion_tagENSt3__112basic_stringIcNSR_11char_traitsIcEENSR_9allocatorIcEEEESE_EENS9_INS6_23sequence_conversion_tagENSR_6vectorIbNSV_IbEEEESE_EENS9_ISZ_NS10_IlNSV_IlEEEESE_EENS9_ISZ_NS10_ImNSV_ImEEEESE_EENS9_ISZ_NSR_5arrayIbLm3EEESE_EENS9_ISZ_NS1A_IlLm3EEESE_EENS9_ISZ_NS1A_ImLm3EEESE_EENS9_INS6_23map_like_conversion_tagENSR_3mapISX_lNSR_4lessISX_EENSV_INSR_4pairIKSX_lEEEEEESE_EENS9_IS1H_NS1I_ISX_SX_S1K_NSV_INS1L_IS1M_SX_EEEEEESE_EENS9_IS1H_NS1I_ISX_dS1K_NSV_INS1L_IS1M_dEEEEEESE_EENS9_INS6_20tuple_conversion_tagENSR_5tupleIJbmldSX_EEESE_EENS9_IS1Z_NS20_IJNS1A_ISX_Lm3EEENS1A_IdLm3EEEDnEEESE_EENS9_IS1Z_NS20_IJNS10_ISX_NSV_ISX_EEEENS10_IdNSV_IdEEEEEEESE_EENS9_INS6_22variant_conversion_tagENS_8variant27variantIJbmldSX_EEESE_EENS9_INS6_23optional_conversion_tagENSR_8optionalIbEESE_EENS9_IS2I_NS2J_IlEESE_EENS9_IS2I_NS2J_ImEESE_EENS9_IS2I_NS2J_IdEESE_EENS9_IS2I_NS2J_ISX_EESE_EENS6_16ignoring_handlerISE_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSE_6on_keyERNS_6system10error_codeENS_4core17basic_string_viewIcEEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSR_7declvalB8ne180100INSR_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS36_ELi0EEEvEEEEmOS3A_']

138 138 _ZN5boost4mp116detail19mp_with_index_impl_ILm25EE4callILm0ENS_4json6detail24tuple_handler_op_invokerINS6_13handler_tupleINS6_18converting_handlerINS6_30described_class_conversion_tagE6ObjectNS6_12into_handlerISB_EEEENS_8describe6detail4listIJNS9_INS6_19bool_conversion_tagEbSE_EENS9_INS6_23integral_conversion_tagElSE_EENS9_ISK_mSE_EENS9_INS6_29floating_point_conversion_tagEfSE_EENS9_ISN_dSE_EENS9_INS6_26string_like_conversion_tagENSt3__112basic_stringIcNSR_11char_traitsIcEENSR_9allocatorIcEEEESE_EENS9_INS6_23sequence_conversion_tagENSR_6vectorIbNSV_IbEEEESE_EENS9_ISZ_NS10_IlNSV_IlEEEESE_EENS9_ISZ_NS10_ImNSV_ImEEEESE_EENS9_ISZ_NSR_5arrayIbLm3EEESE_EENS9_ISZ_NS1A_IlLm3EEESE_EENS9_ISZ_NS1A_ImLm3EEESE_EENS9_INS6_23map_like_conversion_tagENSR_3mapISX_lNSR_4lessISX_EENSV_INSR_4pairIKSX_lEEEEEESE_EENS9_IS1H_NS1I_ISX_SX_S1K_NSV_INS1L_IS1M_SX_EEEEEESE_EENS9_IS1H_NS1I_ISX_dS1K_NSV_INS1L_IS1M_dEEEEEESE_EENS9_INS6_20tuple_conversion_tagENSR_5tupleIJbmldSX_EEESE_EENS9_IS1Z_NS20_IJNS1A_ISX_Lm3EEENS1A_IdLm3EEEDnEEESE_EENS9_IS1Z_NS20_IJNS10_ISX_NSV_ISX_EEEENS10_IdNSV_IdEEEEEEESE_EENS9_INS6_22variant_conversion_tagENS_8variant27variantIJbmldSX_EEESE_EENS9_INS6_23optional_conversion_tagENSR_8optionalIbEESE_EENS9_IS2I_NS2J_IlEESE_EENS9_IS2I_NS2J_ImEESE_EENS9_IS2I_NS2J_IdEESE_EENS9_IS2I_NS2J_ISX_EESE_EENS6_16ignoring_handlerISE_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSE_6on_keyERNS_6system10error_codeENS_4core17basic_string_viewIcEEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSR_7declvalB8ne180100INSR_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS36_ELi0EEEvEEEEmOS3A_ call site: 03826 /work/stage/include/boost/mp11/detail/mp_with_index.hpp:43
0 1590 1 :

['boost::json::detail::into_handler ::on_uint64(unsigned long, boost::core::basic_string_view , boost::system::error_code&)']

0 1615 charconst*boost::json::basic_parser >::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:2709
0 43 1 :

['boost::json::basic_parser >::suspend(char const*, boost::json::basic_parser >::state)']

0 45 charconst*boost::json::basic_parser >::parse_document (charconst*,std::__1::integral_constant ) call site: 00000 /work/stage/include/boost/json/basic_parser_impl.hpp:600
0 25 1 :

['boost::json::detail::handler_error_base<(boost::json::error)36>::on_key_part(boost::system::error_code&, boost::core::basic_string_view )']

0 25 boost::json::detail::converting_handler ,std::__1::allocator >,long,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >const,long>>>,boost::json::detail::converting_handler >>::on_key_part(boost::system::error_code&,boost::core::basic_string_view ) call site: 00000 /work/stage/include/boost/json/detail/parse_into.hpp:668
0 25 1 :

['boost::json::detail::handler_error_base<(boost::json::error)32>::on_key_part(boost::system::error_code&, boost::core::basic_string_view )']

0 25 boost::json::detail::converting_handler ,std::__1::allocator >,std::__1::basic_string ,std::__1::allocator >,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >const,std::__1::basic_string ,std::__1::allocator >>>>,boost::json::detail::converting_handler >>::on_key_part(boost::system::error_code&,boost::core::basic_string_view ) call site: 00000 /work/stage/include/boost/json/detail/parse_into.hpp:668
0 25 1 :

['boost::json::detail::handler_error_base<(boost::json::error)35>::on_key_part(boost::system::error_code&, boost::core::basic_string_view )']

0 25 boost::json::detail::converting_handler ,std::__1::allocator >,double,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >const,double>>>,boost::json::detail::converting_handler >>::on_key_part(boost::system::error_code&,boost::core::basic_string_view ) call site: 00000 /work/stage/include/boost/json/detail/parse_into.hpp:668
0 25 1 :

['boost::json::detail::handler_error_base<(boost::json::error)36>::on_key(boost::system::error_code&, boost::core::basic_string_view )']

0 25 boost::json::detail::converting_handler ,std::__1::allocator >,long,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >const,long>>>,boost::json::detail::converting_handler >>::on_key(boost::system::error_code&,boost::core::basic_string_view ) call site: 00000 /work/stage/include/boost/json/detail/parse_into.hpp:677
0 25 1 :

['boost::json::detail::handler_error_base<(boost::json::error)32>::on_key(boost::system::error_code&, boost::core::basic_string_view )']

0 25 boost::json::detail::converting_handler ,std::__1::allocator >,std::__1::basic_string ,std::__1::allocator >,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >const,std::__1::basic_string ,std::__1::allocator >>>>,boost::json::detail::converting_handler >>::on_key(boost::system::error_code&,boost::core::basic_string_view ) call site: 00000 /work/stage/include/boost/json/detail/parse_into.hpp:677
0 25 1 :

['boost::json::detail::handler_error_base<(boost::json::error)35>::on_key(boost::system::error_code&, boost::core::basic_string_view )']

0 25 boost::json::detail::converting_handler ,std::__1::allocator >,double,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >const,double>>>,boost::json::detail::converting_handler >>::on_key(boost::system::error_code&,boost::core::basic_string_view ) call site: 00000 /work/stage/include/boost/json/detail/parse_into.hpp:677
0 23 2 :

['boost::system::error_code::assign(boost::system::error_code const&, boost::source_location const*)', '_ZN5boost6system10error_codeC2INS_4json5errorEEET_PNSt3__19enable_ifIXoosr18is_error_code_enumIS5_EE5valuesr3std18is_error_code_enumIS5_EE5valueEvE4typeE']

0 23 boost::json::detail::converting_handler >,boost::json::detail::converting_handler >>::signal_value(boost::system::error_code&) call site: 00000 /work/stage/include/boost/json/detail/parse_into.hpp:561

Runtime coverage analysis

Covered functions
2298
Functions that are reachable but not covered
996
Reachable functions
5423
Percentage of reachable functions covered
81.63%
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/boost/libs/json/fuzzing/fuzz_direct_parse.cpp 4
/work/stage/include/boost/core/detail/string_view.hpp 9
/work/stage/include/boost/variant2/variant.hpp 289
/work/stage/include/boost/system/detail/error_code.hpp 9
/work/stage/include/boost/json/impl/parse_into.hpp 1
/work/stage/include/boost/json/basic_parser_impl.hpp 71
/work/stage/include/boost/json/detail/parse_into.hpp 2180
/work/stage/include/boost/json/impl/conversion.hpp 10
/work/stage/include/boost/json/detail/stack.hpp 6
/work/stage/include/boost/json/storage_ptr.hpp 1
/work/stage/include/boost/json/detail/sbo_buffer.hpp 10
/src/boost/./boost/json/detail/impl/stack.ipp 5
/src/boost/./boost/json/storage_ptr.hpp 6
/src/boost/./boost/json/detail/default_resource.hpp 1
/src/boost/./boost/container/pmr/memory_resource.hpp 2
/work/stage/include/boost/json/impl/error.hpp 1
/work/stage/include/boost/system/detail/error_category.hpp 1
/work/stage/include/boost/json/detail/stream.hpp 15
/work/stage/include/boost/json/detail/sse2.hpp 5
/work/stage/include/boost/json/basic_parser.hpp 2
/work/stage/include/boost/json/detail/impl/stack.hpp 7
/work/stage/include/boost/mp11/detail/mp_with_index.hpp 188
/usr/local/bin/../include/c++/v1/initializer_list 1
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/boost/./boost/json/detail/impl/except.ipp 1
/src/boost/./boost/system/system_error.hpp 3
/src/boost/./boost/system/detail/error_code.hpp 7
/work/stage/include/boost/system/detail/system_category_message.hpp 1
/work/stage/include/boost/system/detail/generic_category_message.hpp 3
/src/boost/./boost/system/detail/system_category.hpp 1
/src/boost/./boost/system/detail/interop_category.hpp 1
/src/boost/./boost/system/detail/append_int.hpp 1
/src/boost/./boost/assert/source_location.hpp 5
/src/boost/./boost/throw_exception.hpp 5
/src/boost/./boost/exception/exception.hpp 15
/src/boost/./boost/json/detail/charconv/impl/from_chars.ipp 1
/src/boost/./boost/json/detail/charconv/detail/fast_float/parse_number.hpp 3
/src/boost/./boost/json/detail/charconv/detail/fast_float/float_common.hpp 29
/src/boost/./boost/json/detail/charconv/detail/fast_float/ascii_number.hpp 1
/src/boost/./boost/endian/conversion.hpp 3
/src/boost/./boost/json/detail/charconv/detail/fast_float/digit_comparison.hpp 9
/src/boost/./boost/json/detail/charconv/detail/fast_float/bigint.hpp 36
/src/boost/./boost/json/detail/charconv/detail/from_chars_float_impl.hpp 3
/src/boost/./boost/json/detail/charconv/detail/parser.hpp 4
/src/boost/./boost/json/detail/charconv/detail/from_chars_integer_impl.hpp 5
/src/boost/./boost/json/detail/charconv/detail/integer_search_trees.hpp 1
/src/boost/./boost/json/detail/charconv/detail/compute_float64.hpp 1
/src/boost/./boost/core/bit.hpp 2
/src/boost/./boost/json/detail/charconv/detail/emulated128.hpp 1
/work/stage/include/boost/json/detail/literals.hpp 1
/work/stage/include/boost/json/detail/utf8.hpp 12
/work/stage/include/boost/endian/conversion.hpp 3
/work/stage/include/boost/json/detail/buffer.hpp 9
/work/stage/include/boost/mp11/algorithm.hpp 2

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
boost::json::value::set_at_pointer(boost::core::basic_string_view ,boost::json::value_ref,boost::json::set_pointer_optionsconst&) /src/boost/./boost/json/impl/pointer.ipp 5 ['N/A', 'N/A', 'size_t', 'N/A', 'N/A'] 25 0 39 3 2 607 0 1118 672
boolboost::json::detail::write_object (boost::json::detail::writer&,boost::json::detail::stream&) /src/boost/./boost/json/impl/serializer.ipp 2 ['N/A', 'N/A'] 14 0 327 53 50 278 5 583 538
_ZN5boost4json5visitINS0_12_GLOBAL__N_112value_hasherEEEDTclscT_fp_clL_ZNSt3__17declvalB8ne180100IRKDnEEDTclsr3stdE9__declvalIS4_ELi0EEEvEEEEOS4_RKNS0_5valueE /src/boost/./boost/json/impl/visit.hpp 2 ['N/A', 'N/A'] 33 0 101 14 15 170 24 254 200
boost::json::value::try_at(boost::core::basic_string_view )const /src/boost/./boost/json/impl/value.ipp 4 ['N/A', 'N/A', 'N/A', 'size_t'] 11 0 45 6 3 157 0 210 141
boost::variant2::variant ::variant(boost::variant2::variant &&) /work/stage/include/boost/variant2/variant.hpp 2 ['N/A', 'N/A'] 9 0 20 3 2 145 0 169 111
boost::json::value::try_at(unsignedlong)const /src/boost/./boost/json/impl/value.ipp 3 ['N/A', 'N/A', 'size_t'] 11 0 37 6 3 125 0 170 100
boost::json::value::try_at(boost::core::basic_string_view ) /src/boost/./boost/json/impl/value.ipp 4 ['N/A', 'N/A', 'N/A', 'size_t'] 11 0 45 6 3 157 0 210 97

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
83.0%
3958 / 4772
Cyclomatic complexity statically reachable by fuzzers
86.0%
15967 / 18543

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth 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

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/boost/libs/json/fuzzing/fuzz_parse.cpp

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=['boost::json::detail::sbo_buffer<34ul>::grow(unsigned long)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_array(char const*, std::__1::integral_constant, std::__1::integral_constant, bool, bool, bool)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_document(char const*, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_string(char const*, std::__1::integral_constant, std::__1::integral_constant, bool, bool)', 'char const* boost::json::basic_parser::parse_string(char const*, std::__1::integral_constant, std::__1::integral_constant, bool, bool)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'boost::json::value::value(bool, boost::json::storage_ptr)']

/src/boost/libs/json/fuzzing/fuzz_basic_parser.cpp

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=['char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_array(char const*, std::__1::integral_constant, std::__1::integral_constant, bool, bool, bool)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_document(char const*, std::__1::integral_constant)', 'char const* boost::json::basic_parser::parse_string(char const*, std::__1::integral_constant, std::__1::integral_constant, bool, bool)', 'char const* boost::json::basic_parser::parse_string(char const*, std::__1::integral_constant, std::__1::integral_constant, bool, bool)', 'boost::json::basic_parser::maybe_suspend(char const*, boost::json::basic_parser::state)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)']

/src/boost/libs/json/fuzzing/fuzz_parser.cpp

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=['boost::json::detail::sbo_buffer<34ul>::grow(unsigned long)', 'void boost::throw_exception(boost::system::system_error const&, boost::source_location const&)', 'boost::json::basic_parser::suspend(char const*, boost::json::basic_parser::state, boost::json::basic_parser::number const&)', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'boost::json::value::value(bool, boost::json::storage_ptr)', 'boost::json::detail::charconv::from_chars_result_t boost::json::detail::charconv::detail::fast_float::from_chars(char const*, char const*, double&, boost::json::detail::charconv::chars_format)', 'boost::json::detail::utf8_sequence::append(char const*, unsigned long)', 'char const* boost::json::basic_parser::parse_number_helper::operator()<2ul>(std::__1::integral_constant) const', 'char const* boost::json::basic_parser::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'boost::json::stream_parser::release()']

/src/boost/libs/json/fuzzing/fuzz_direct_parse.cpp

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=['char const* boost::json::basic_parser >::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'char const* boost::json::basic_parser >::parse_array(char const*, std::__1::integral_constant, std::__1::integral_constant, bool, bool, bool)', '_ZN5boost4mp1113mp_with_indexILm25ENS_4json6detail24tuple_handler_op_invokerINS3_13handler_tupleINS3_18converting_handlerINS3_30described_class_conversion_tagE6ObjectNS3_12into_handlerIS8_EEEENS_8describe6detail4listIJNS6_INS3_19bool_conversion_tagEbSB_EENS6_INS3_23integral_conversion_tagElSB_EENS6_ISH_mSB_EENS6_INS3_29floating_point_conversion_tagEfSB_EENS6_ISK_dSB_EENS6_INS3_26string_like_conversion_tagENSt3__112basic_stringIcNSO_11char_traitsIcEENSO_9allocatorIcEEEESB_EENS6_INS3_23sequence_conversion_tagENSO_6vectorIbNSS_IbEEEESB_EENS6_ISW_NSX_IlNSS_IlEEEESB_EENS6_ISW_NSX_ImNSS_ImEEEESB_EENS6_ISW_NSO_5arrayIbLm3EEESB_EENS6_ISW_NS17_IlLm3EEESB_EENS6_ISW_NS17_ImLm3EEESB_EENS6_INS3_23map_like_conversion_tagENSO_3mapISU_lNSO_4lessISU_EENSS_INSO_4pairIKSU_lEEEEEESB_EENS6_IS1E_NS1F_ISU_SU_S1H_NSS_INS1I_IS1J_SU_EEEEEESB_EENS6_IS1E_NS1F_ISU_dS1H_NSS_INS1I_IS1J_dEEEEEESB_EENS6_INS3_20tuple_conversion_tagENSO_5tupleIJbmldSU_EEESB_EENS6_IS1W_NS1X_IJNS17_ISU_Lm3EEENS17_IdLm3EEEDnEEESB_EENS6_IS1W_NS1X_IJNSX_ISU_NSS_ISU_EEEENSX_IdNSS_IdEEEEEEESB_EENS6_INS3_22variant_conversion_tagENS_8variant27variantIJbmldSU_EEESB_EENS6_INS3_23optional_conversion_tagENSO_8optionalIbEESB_EENS6_IS2F_NS2G_IlEESB_EENS6_IS2F_NS2G_ImEESB_EENS6_IS2F_NS2G_IdEESB_EENS6_IS2F_NS2G_ISU_EESB_EENS3_16ignoring_handlerISB_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSB_11on_key_partERNS_6system10error_codeENS_4core17basic_string_viewIcEEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSO_7declvalB8ne180100INSO_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS33_ELi0EEEvEEEEmOS37_', '_ZN5boost4mp1113mp_with_indexILm25ENS_4json6detail24tuple_handler_op_invokerINS3_13handler_tupleINS3_18converting_handlerINS3_30described_class_conversion_tagE6ObjectNS3_12into_handlerIS8_EEEENS_8describe6detail4listIJNS6_INS3_19bool_conversion_tagEbSB_EENS6_INS3_23integral_conversion_tagElSB_EENS6_ISH_mSB_EENS6_INS3_29floating_point_conversion_tagEfSB_EENS6_ISK_dSB_EENS6_INS3_26string_like_conversion_tagENSt3__112basic_stringIcNSO_11char_traitsIcEENSO_9allocatorIcEEEESB_EENS6_INS3_23sequence_conversion_tagENSO_6vectorIbNSS_IbEEEESB_EENS6_ISW_NSX_IlNSS_IlEEEESB_EENS6_ISW_NSX_ImNSS_ImEEEESB_EENS6_ISW_NSO_5arrayIbLm3EEESB_EENS6_ISW_NS17_IlLm3EEESB_EENS6_ISW_NS17_ImLm3EEESB_EENS6_INS3_23map_like_conversion_tagENSO_3mapISU_lNSO_4lessISU_EENSS_INSO_4pairIKSU_lEEEEEESB_EENS6_IS1E_NS1F_ISU_SU_S1H_NSS_INS1I_IS1J_SU_EEEEEESB_EENS6_IS1E_NS1F_ISU_dS1H_NSS_INS1I_IS1J_dEEEEEESB_EENS6_INS3_20tuple_conversion_tagENSO_5tupleIJbmldSU_EEESB_EENS6_IS1W_NS1X_IJNS17_ISU_Lm3EEENS17_IdLm3EEEDnEEESB_EENS6_IS1W_NS1X_IJNSX_ISU_NSS_ISU_EEEENSX_IdNSS_IdEEEEEEESB_EENS6_INS3_22variant_conversion_tagENS_8variant27variantIJbmldSU_EEESB_EENS6_INS3_23optional_conversion_tagENSO_8optionalIbEESB_EENS6_IS2F_NS2G_IlEESB_EENS6_IS2F_NS2G_ImEESB_EENS6_IS2F_NS2G_IdEESB_EENS6_IS2F_NS2G_ISU_EESB_EENS3_16ignoring_handlerISB_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSB_6on_keyERNS_6system10error_codeENS_4core17basic_string_viewIcEEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSO_7declvalB8ne180100INSO_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS33_ELi0EEEvEEEEmOS37_', '_ZN5boost4mp1113mp_with_indexILm25ENS_4json6detail24tuple_handler_op_invokerINS3_13handler_tupleINS3_18converting_handlerINS3_30described_class_conversion_tagE6ObjectNS3_12into_handlerIS8_EEEENS_8describe6detail4listIJNS6_INS3_19bool_conversion_tagEbSB_EENS6_INS3_23integral_conversion_tagElSB_EENS6_ISH_mSB_EENS6_INS3_29floating_point_conversion_tagEfSB_EENS6_ISK_dSB_EENS6_INS3_26string_like_conversion_tagENSt3__112basic_stringIcNSO_11char_traitsIcEENSO_9allocatorIcEEEESB_EENS6_INS3_23sequence_conversion_tagENSO_6vectorIbNSS_IbEEEESB_EENS6_ISW_NSX_IlNSS_IlEEEESB_EENS6_ISW_NSX_ImNSS_ImEEEESB_EENS6_ISW_NSO_5arrayIbLm3EEESB_EENS6_ISW_NS17_IlLm3EEESB_EENS6_ISW_NS17_ImLm3EEESB_EENS6_INS3_23map_like_conversion_tagENSO_3mapISU_lNSO_4lessISU_EENSS_INSO_4pairIKSU_lEEEEEESB_EENS6_IS1E_NS1F_ISU_SU_S1H_NSS_INS1I_IS1J_SU_EEEEEESB_EENS6_IS1E_NS1F_ISU_dS1H_NSS_INS1I_IS1J_dEEEEEESB_EENS6_INS3_20tuple_conversion_tagENSO_5tupleIJbmldSU_EEESB_EENS6_IS1W_NS1X_IJNS17_ISU_Lm3EEENS17_IdLm3EEEDnEEESB_EENS6_IS1W_NS1X_IJNSX_ISU_NSS_ISU_EEEENSX_IdNSS_IdEEEEEEESB_EENS6_INS3_22variant_conversion_tagENS_8variant27variantIJbmldSU_EEESB_EENS6_INS3_23optional_conversion_tagENSO_8optionalIbEESB_EENS6_IS2F_NS2G_IlEESB_EENS6_IS2F_NS2G_ImEESB_EENS6_IS2F_NS2G_IdEESB_EENS6_IS2F_NS2G_ISU_EESB_EENS3_16ignoring_handlerISB_EEEEENS0_16integer_sequenceImJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16ELm17ELm18ELm19ELm20ELm21ELm22ELm23ELm24EEEEEEZNSB_13on_object_endERNS_6system10error_codeEEUlRT_E_EEEEDTclclsr3stdE7declvalIT0_EEclL_ZNSO_7declvalB8ne180100INSO_17integral_constantImLm0EEEEEDTclsr3stdE9__declvalIS30_ELi0EEEvEEEEmOS34_', 'char const* boost::json::basic_parser >::parse_number(char const*, std::__1::integral_constant, std::__1::integral_constant, std::__1::integral_constant)', 'boost::json::basic_parser >::fail(char const*)', 'char const* boost::json::basic_parser >::parse_document(char const*, std::__1::integral_constant)', 'char const* boost::json::basic_parser >::parse_string(char const*, std::__1::integral_constant, std::__1::integral_constant, bool, bool)', 'bool boost::json::detail::handler_op_invoker, std::__1::allocator >, std::__1::allocator, std::__1::allocator > > >, std::__1::vector > >, boost::json::detail::converting_handler > >::do_on_key, boost::system::error_code, boost::core::basic_string_view&>::operator() >, boost::json::detail::converting_handler, std::__1::allocator >, std::__1::allocator, std::__1::allocator > > >, std::__1::vector > >, boost::json::detail::converting_handler > > >, 0ul, 1ul>(boost::json::detail::converting_handler >, boost::json::detail::converting_handler, std::__1::allocator >, std::__1::allocator, std::__1::allocator > > >, std::__1::vector > >, boost::json::detail::converting_handler > > >&, boost::mp11::integer_sequence) const']

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
charconst*boost::json::basic_parser ::parse_literal >(charconst*,std::__1::integral_constant ) 98 48 48.97% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_literal >(charconst*,std::__1::integral_constant ) 104 54 51.92% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_literal >(charconst*,std::__1::integral_constant ) 110 60 54.54% ['fuzz_parse', 'fuzz_parser']
std::__1::pair boost::json::detail::find_in_object >(boost::json::objectconst&,boost::core::basic_string_view ) 32 12 37.5% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_document (charconst*,std::__1::integral_constant ) 73 27 36.98% ['fuzz_basic_parser']
charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) 616 296 48.05% ['fuzz_basic_parser']
charconst*boost::json::basic_parser ::parse_literal >(charconst*,std::__1::integral_constant ) 98 48 48.97% ['fuzz_basic_parser']
charconst*boost::json::basic_parser ::parse_literal >(charconst*,std::__1::integral_constant ) 104 54 51.92% ['fuzz_basic_parser']
charconst*boost::json::basic_parser ::parse_literal >(charconst*,std::__1::integral_constant ) 110 60 54.54% ['fuzz_basic_parser']
charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) 617 332 53.80% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) 608 290 47.69% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_literal >(charconst*,std::__1::integral_constant ) 83 25 30.12% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) 608 326 53.61% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_value (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) 77 4 5.194% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_string (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool) 139 45 32.37% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_escaped (charconst*,unsignedlong&,std::__1::integral_constant ,bool,bool) 469 67 14.28% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_array (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) 93 32 34.40% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_object (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) 145 47 32.41% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_string (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool) 139 44 31.65% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) 612 204 33.33% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) 617 209 33.87% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) 608 146 24.01% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_value (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) 77 4 5.194% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_array (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) 93 44 47.31% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser ::parse_object (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,bool,bool,bool) 145 71 48.96% ['fuzz_parse', 'fuzz_parser']
charconst*boost::json::basic_parser >::parse_document (charconst*,std::__1::integral_constant ) 73 27 36.98% ['fuzz_direct_parse']
charconst*boost::json::basic_parser >::parse_number (charconst*,std::__1::integral_constant ,std::__1::integral_constant ,std::__1::integral_constant ) 616 299 48.53% ['fuzz_direct_parse']
charconst*boost::json::basic_parser >::parse_literal >(charconst*,std::__1::integral_constant ) 98 49 50.0% ['fuzz_direct_parse']
charconst*boost::json::basic_parser >::parse_literal >(charconst*,std::__1::integral_constant ) 104 55 52.88% ['fuzz_direct_parse']

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
[] []
/work/stage/include/boost/system/detail/system_category.hpp [] []
/src/boost/./boost/json/detail/charconv/detail/parser.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/impl/null_resource.ipp ['fuzz_parser'] []
/src/boost/./boost/json/detail/impl/shared_resource.ipp [] []
/src/boost/./boost/json/detail/ryu/detail/common.hpp [] []
/src/boost/./boost/json/detail/impl/except.ipp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/sse2.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/detail/charconv/detail/from_chars_integer_impl.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/digest.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/impl/serialize.ipp ['fuzz_parser'] []
/src/boost/./boost/system/detail/error_condition.hpp [] []
/work/stage/include/boost/system/detail/error_category_impl.hpp [] []
/src/boost/./boost/endian/conversion.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/libs/json/src/src.cpp [] []
/src/boost/./boost/system/detail/system_category.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/impl/string.ipp ['fuzz_parse', 'fuzz_parser'] []
/work/stage/include/boost/system/detail/interop_category.hpp [] []
/src/boost/libs/json/fuzzing/fuzz_parse.cpp ['fuzz_parse'] ['fuzz_parse']
/work/stage/include/boost/json/storage_ptr.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/detail/charconv/detail/fast_float/digit_comparison.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/charconv/detail/fast_float/bigint.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/impl/string.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/system/detail/generic_category.hpp [] []
/src/boost/./boost/json/detail/value.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/detail/stack.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/system/detail/interop_category.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/work/stage/include/boost/json/detail/impl/stack.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/detail/charconv/impl/from_chars.ipp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/container/pmr/memory_resource.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/work/stage/include/boost/json/detail/parse_into.hpp ['fuzz_direct_parse'] ['fuzz_direct_parse']
/src/boost/./boost/json/detail/ryu/detail/digit_table.hpp [] []
/src/boost/./boost/json/parse_options.hpp [] []
/src/boost/./boost/json/impl/error.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/system/detail/std_category_impl.hpp [] []
/src/boost/./boost/system/detail/error_category.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/detail/sbo_buffer.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/detail/string_impl.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/object.hpp [] []
/work/stage/include/boost/json/value.hpp ['fuzz_parse'] ['fuzz_parse']
/src/boost/./boost/json/detail/buffer.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/impl/kind.ipp [] []
/work/stage/include/boost/system/detail/error_category.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/src/boost/./boost/system/detail/error_category_impl.hpp [] []
/work/stage/include/boost/json/basic_parser.hpp ['fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/detail/charconv/detail/fast_float/parse_number.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/basic_parser_impl.hpp ['fuzz_parse', 'fuzz_parser'] []
/work/stage/include/boost/system/detail/error_code.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/storage_ptr.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/charconv/detail/fast_float/float_common.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/writer.hpp ['fuzz_parser'] []
/src/boost/./boost/core/detail/string_view.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/system/detail/error_code.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/work/stage/include/boost/json/detail/stack.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/work/stage/include/boost/json/detail/stream.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/impl/parser.ipp ['fuzz_parse'] []
/work/stage/include/boost/json/detail/literals.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] []
/work/stage/include/boost/json/impl/parse_into.hpp ['fuzz_direct_parse'] ['fuzz_direct_parse']
/src/boost/./boost/json/detail/impl/stack.ipp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/impl/error.ipp [] []
/work/stage/include/boost/json/impl/error.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/serialize_options.hpp [] []
/src/boost/./boost/container_hash/detail/hash_mix.hpp [] []
/src/boost/./boost/json/parser.hpp ['fuzz_parse'] []
/src/boost/./boost/json/impl/pointer.ipp [] []
/src/boost/./boost/json/detail/config.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/system/detail/append_int.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/system/system_error.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/charconv/detail/fast_float/ascii_number.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/impl/string_impl.ipp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/detail/stream.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/detail/impl/stack.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/container_hash/detail/mulx.hpp [] []
/src/boost/./boost/json/detail/ryu/detail/d2s_full_table.hpp [] []
/work/stage/include/boost/json/detail/sse2.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/work/stage/include/boost/json/stream_parser.hpp ['fuzz_parser'] ['fuzz_parser']
/src/boost/./boost/json/impl/object.hpp ['fuzz_parse', 'fuzz_parser'] []
/work/stage/include/boost/variant2/variant.hpp ['fuzz_direct_parse'] ['fuzz_direct_parse']
/src/boost/./boost/json/impl/serializer.ipp ['fuzz_parser'] []
/usr/local/bin/../include/c++/v1/__exception/exception.h ['fuzz_direct_parse'] []
/src/boost/./boost/json/impl/parse.ipp ['fuzz_parse'] []
/src/boost/./boost/json/impl/monotonic_resource.ipp ['fuzz_parser'] []
/work/stage/include/boost/json/basic_parser_impl.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/impl/static_resource.ipp ['fuzz_parser'] []
/work/stage/include/boost/core/detail/string_view.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/detail/impl/default_resource.ipp [] []
/src/boost/./boost/json/detail/ryu/detail/d2s_intrinsics.hpp [] []
/src/boost/./boost/json/detail/handler.hpp ['fuzz_parse'] []
/src/boost/./boost/json/impl/value_stack.ipp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/assert/source_location.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/literals.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/container_hash/detail/hash_integral.hpp [] []
/src/boost/./boost/json/detail/charconv/detail/from_chars_float_impl.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/detail/object.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/array.hpp [] []
/src/boost/./boost/json/impl/array.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/system/detail/mutex.hpp [] []
/src/boost/./boost/json/detail/charconv/detail/emulated128.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/impl/object.ipp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/container_hash/hash.hpp [] []
/src/boost/./boost/json/detail/ryu/impl/d2s.ipp [] []
/src/boost/./boost/json/impl/array.ipp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/container_hash/detail/hash_tuple_like.hpp [] []
/work/stage/include/boost/json/detail/utf8.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/impl/value.ipp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/impl/serializer.hpp [] []
/src/boost/./boost/system/detail/std_category.hpp [] []
/src/boost/./boost/json/string.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/detail/impl/format.ipp [] []
/work/stage/include/boost/endian/conversion.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/work/stage/include/boost/mp11/algorithm.hpp ['fuzz_direct_parse'] ['fuzz_direct_parse']
/work/stage/include/boost/system/detail/system_category_impl.hpp [] []
/work/stage/include/boost/system/detail/generic_category.hpp [] []
/work/stage/include/boost/system/detail/system_category_message.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/work/stage/include/boost/system/detail/error_condition.hpp [] []
/src/boost/./boost/json/detail/impl/array.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/serializer.hpp ['fuzz_parser'] []
/usr/local/bin/../include/c++/v1/optional [] []
/src/boost/./boost/core/bit.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/work/stage/include/boost/json/detail/sbo_buffer.hpp ['fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse']
/src/boost/./boost/json/basic_parser.hpp ['fuzz_parse', 'fuzz_parser'] []
/work/stage/include/boost/system/detail/generic_category_message.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/work/stage/include/boost/json/detail/handler.hpp ['fuzz_parser'] []
/src/boost/./boost/json/detail/impl/handler.ipp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/impl/value_ref.ipp [] []
/src/boost/./boost/variant2/variant.hpp [] []
/src/boost/libs/json/fuzzing/fuzz_direct_parse.cpp ['fuzz_direct_parse'] ['fuzz_direct_parse']
/src/boost/./boost/mp11/detail/mp_with_index.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/detail/utf8.hpp ['fuzz_parse', 'fuzz_parser'] []
/work/stage/include/boost/json/impl/conversion.hpp ['fuzz_direct_parse'] ['fuzz_direct_parse']
/src/boost/./boost/json/detail/default_resource.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/container_hash/detail/hash_range.hpp [] []
/src/boost/./boost/json/pilfer.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/json/impl/visit.hpp [] []
/src/boost/./boost/throw_exception.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/impl/stream_parser.ipp ['fuzz_parser'] []
/usr/local/bin/../include/c++/v1/initializer_list ['fuzz_direct_parse'] []
/src/boost/./boost/json/detail/array.hpp ['fuzz_parse', 'fuzz_parser'] []
/src/boost/./boost/exception/exception.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/./boost/json/static_resource.hpp [] []
/src/boost/./boost/json/stream_parser.hpp [] []
/usr/local/bin/../include/c++/v1/string [] []
/src/boost/./boost/json/value.hpp ['fuzz_parse', 'fuzz_parser'] []
/usr/local/bin/../include/c++/v1/new [] []
/src/boost/./boost/json/detail/charconv/detail/compute_float64.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/libs/json/fuzzing/fuzz_parser.cpp ['fuzz_parser'] ['fuzz_parser']
/src/boost/./boost/json/detail/charconv/detail/integer_search_trees.hpp ['fuzz_parse', 'fuzz_basic_parser', 'fuzz_parser', 'fuzz_direct_parse'] []
/src/boost/libs/json/fuzzing/fuzz_basic_parser.cpp ['fuzz_basic_parser'] ['fuzz_basic_parser']
/src/boost/./boost/system/result.hpp [] []
/work/stage/include/boost/json/detail/buffer.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/work/stage/include/boost/mp11/detail/mp_with_index.hpp ['fuzz_basic_parser', 'fuzz_direct_parse'] ['fuzz_basic_parser', 'fuzz_direct_parse']
/usr/local/bin/../include/c++/v1/stdexcept [] []
/work/stage/include/boost/json/parse_options.hpp ['fuzz_basic_parser', 'fuzz_parser'] []

Directories in report

Directory
/work/stage/include/boost/system/detail/
/src/boost/./boost/json/detail/charconv/impl/
/work/stage/include/boost/mp11/detail/
/work/stage/include/boost/json/
/src/boost/./boost/json/detail/
/src/boost/./boost/exception/
/src/boost/./boost/json/detail/charconv/detail/fast_float/
/work/stage/include/boost/json/detail/impl/
/usr/local/bin/../include/c++/v1/__exception/
/src/boost/./boost/core/
/src/boost/libs/json/src/
/work/stage/include/boost/json/detail/
/src/boost/./boost/
/src/boost/./boost/variant2/
/src/boost/./boost/json/detail/ryu/detail/
/src/boost/./boost/system/detail/
/src/boost/libs/json/fuzzing/
/src/boost/./boost/endian/
/work/stage/include/boost/variant2/
/usr/local/bin/../include/c++/v1/
/src/boost/./boost/json/detail/impl/
/src/boost/./boost/core/detail/
/work/stage/include/boost/endian/
/src/boost/./boost/container_hash/
/src/boost/./boost/json/impl/
/work/stage/include/boost/mp11/
/src/boost/./boost/assert/
/src/boost/./boost/json/detail/ryu/impl/
/src/boost/./boost/container/pmr/
/src/boost/./boost/container_hash/detail/
/work/stage/include/boost/core/detail/
/src/boost/./boost/system/
/src/boost/./boost/mp11/detail/
/src/boost/./boost/json/detail/charconv/detail/
/work/stage/include/boost/json/impl/
/src/boost/./boost/json/