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

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 0 None 0 116 simdjson::internal::adjusted_mantissasimdjson::internal::compute_float >(simdjson::internal::decimal&) call site: 00000 /src/simdjson/src/from_chars.cpp:508
0 0 None 0 95 simdjson::internal::adjusted_mantissasimdjson::internal::compute_float >(simdjson::internal::decimal&) call site: 00000 /src/simdjson/src/from_chars.cpp:521
0 0 None 0 85 simdjson::internal::detect_best_supported_implementation_on_first_use::set_best()const call site: 00000 /src/simdjson/src/implementation.cpp:284
0 0 None 0 6 simdjson::internal::adjusted_mantissasimdjson::internal::compute_float >(simdjson::internal::decimal&) call site: 00000 /src/simdjson/src/from_chars.cpp:543
0 0 None 0 0 unsignedcharFuzzData::get () call site: 00000 /src/simdjson/fuzz/FuzzUtils.h:76
0 0 None 0 0 simdjson::internal::decimal_right_shift(simdjson::internal::decimal&,unsignedint) call site: 00000 /src/simdjson/src/from_chars.cpp:420
0 0 None 0 0 simdjson::internal::detect_supported_architectures() call site: 00000 /src/simdjson/src/internal/isadetection.h:179

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 FuzzData::FuzzData(unsigned char const*, unsigned long) [function] [call site] 00001
1 int FuzzData::getInt<0, 12>() [function] [call site] 00002
2 unsigned char FuzzData::get<unsigned char>() [function] [call site] 00003
1 FuzzData::splitIntoStrings() [function] [call site] 00004
2 FuzzData::chardata() const [function] [call site] 00005
2 split(char const*, unsigned long) [function] [call site] 00006
1 simdjson::padded_string::padded_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00007
2 simdjson::internal::allocate_padded_buffer(unsigned long) [function] [call site] 00008
1 simdjson::padded_string::operator simdjson::padded_string_view() const [function] [call site] 00009
2 simdjson::padded_string::data() const [function] [call site] 00010
2 simdjson::padded_string::length() const [function] [call site] 00011
2 simdjson::padded_string_view::padded_string_view(char const*, unsigned long, unsigned long) [function] [call site] 00012
1 simdjson::padded_string_view::padding() const [function] [call site] 00013
2 simdjson::padded_string_view::capacity() const [function] [call site] 00014
1 simdjson::padded_string_view::remove_utf8_bom() [function] [call site] 00015
2 memcmp [call site] 00016
1 simdjson::get_active_implementation() [function] [call site] 00017
2 __cxa_guard_acquire [call site] 00018
2 __cxa_guard_release [call site] 00019
2 __cxa_guard_acquire [call site] 00020
2 simdjson::internal::atomic_ptr<simdjson::implementation const>::atomic_ptr(simdjson::implementation const*) [function] [call site] 00021
2 __cxa_guard_release [call site] 00022
1 simdjson::internal::atomic_ptr<simdjson::implementation const>::operator->() [function] [call site] 00023
1 __clang_call_terminate [call site] 00024
2 __cxa_begin_catch [call site] 00025
1 simdjson::fallback::ondemand::logger::log_start_value(simdjson::fallback::ondemand::json_iterator const&, char const*, int, int) [function] [call site] 00026
1 simdjson::fallback::ondemand::logger::log_error(simdjson::fallback::ondemand::json_iterator const&, unsigned int const*, int, char const*, char const*) [function] [call site] 00027
1 simdjson::fallback::ondemand::value_iterator::assert_at_start() const [function] [call site] 00028
1 simdjson::fallback::ondemand::logger::log_error(simdjson::fallback::ondemand::json_iterator const&, unsigned int const*, int, char const*, char const*) [function] [call site] 00029
1 simdjson::fallback::ondemand::json_iterator::balanced() const [function] [call site] 00030
1 simdjson::fallback::ondemand::logger::log_error(simdjson::fallback::ondemand::json_iterator const&, char const*, char const*, int, int) [function] [call site] 00031
1 simdjson::fallback::ondemand::value_iterator::assert_at_container_start() const [function] [call site] 00032
1 simdjson::fallback::ondemand::value_iterator::assert_at_child() const [function] [call site] 00033
1 simdjson::fallback::ondemand::value_iterator::assert_at_start() const [function] [call site] 00034
1 simdjson::fallback::ondemand::logger::log_error(simdjson::fallback::ondemand::json_iterator const&, unsigned int const*, int, char const*, char const*) [function] [call site] 00035
1 simdjson::fallback::ondemand::value_iterator::assert_at_start() const [function] [call site] 00036
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00037
2 simdjson::fallback::ondemand::value_iterator::assert_at_start() const [function] [call site] 00038
1 simdjson::fallback::ondemand::logger::log_error(simdjson::fallback::ondemand::json_iterator const&, unsigned int const*, int, char const*, char const*) [function] [call site] 00039
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00040
1 simdjson::fallback::ondemand::value_iterator::assert_at_start() const [function] [call site] 00041
1 simdjson::fallback::ondemand::value_iterator::assert_at_container_start() const [function] [call site] 00042
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00043
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00044
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00045
1 simdjson::fallback::numberparsing::(anonymous namespace)::parse_float_fallback(unsigned char const*, double*) [function] [call site] 00046
2 simdjson::internal::from_chars(char const*) [function] [call site] 00047
3 simdjson::internal::adjusted_mantissa simdjson::internal::parse_long_mantissa<simdjson::internal::binary_format<double> >(char const*) [function] [call site] 00048
4 simdjson::internal::parse_decimal(char const*&) [function] [call site] 00049
5 simdjson::internal::is_integer(char) [function] [call site] 00050
5 simdjson::internal::is_integer(char) [function] [call site] 00051
5 simdjson::internal::is_integer(char) [function] [call site] 00052
4 simdjson::internal::adjusted_mantissa simdjson::internal::compute_float<simdjson::internal::binary_format<double> >(simdjson::internal::decimal&) [function] [call site] 00053
5 simdjson::internal::adjusted_mantissa::adjusted_mantissa() [function] [call site] 00054
5 simdjson::internal::binary_format<double>::infinite_power() [function] [call site] 00055
5 simdjson::internal::decimal_right_shift(simdjson::internal::decimal&, unsigned int) [function] [call site] 00056
6 simdjson::internal::(anonymous namespace)::trim(simdjson::internal::decimal&) [function] [call site] 00057
5 simdjson::internal::decimal_left_shift(simdjson::internal::decimal&, unsigned int) [function] [call site] 00058
6 simdjson::internal::(anonymous namespace)::number_of_digits_decimal_left_shift(simdjson::internal::decimal&, unsigned int) [function] [call site] 00059
6 simdjson::internal::(anonymous namespace)::trim(simdjson::internal::decimal&) [function] [call site] 00060
5 simdjson::internal::decimal_right_shift(simdjson::internal::decimal&, unsigned int) [function] [call site] 00061
5 simdjson::internal::binary_format<double>::infinite_power() [function] [call site] 00062
5 simdjson::internal::binary_format<double>::infinite_power() [function] [call site] 00063
5 simdjson::internal::decimal_left_shift(simdjson::internal::decimal&, unsigned int) [function] [call site] 00064
5 simdjson::internal::round(simdjson::internal::decimal&) [function] [call site] 00065
5 simdjson::internal::decimal_right_shift(simdjson::internal::decimal&, unsigned int) [function] [call site] 00066
5 simdjson::internal::round(simdjson::internal::decimal&) [function] [call site] 00067
5 simdjson::internal::binary_format<double>::infinite_power() [function] [call site] 00068
5 simdjson::internal::binary_format<double>::infinite_power() [function] [call site] 00069
5 simdjson::internal::binary_format<double>::minimum_exponent() [function] [call site] 00070
5 simdjson::internal::binary_format<double>::mantissa_explicit_bits() [function] [call site] 00071
5 simdjson::internal::binary_format<double>::mantissa_explicit_bits() [function] [call site] 00072
3 simdjson::internal::binary_format<double>::mantissa_explicit_bits() [function] [call site] 00073
3 simdjson::internal::binary_format<double>::sign_index() [function] [call site] 00074
3 __clang_call_terminate [call site] 00075
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00076
1 simdjson::fallback::ondemand::value_iterator::assert_at_start() const [function] [call site] 00077
1 simdjson::fallback::ondemand::value_iterator::assert_at_container_start() const [function] [call site] 00078
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00079
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00080
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00081
1 simdjson::fallback::ondemand::logger::log_error(simdjson::fallback::ondemand::json_iterator const&, unsigned int const*, int, char const*, char const*) [function] [call site] 00082
1 simdjson::fallback::ondemand::value_iterator::assert_at_non_root_start() const [function] [call site] 00083
1 simdjson::fallback::ondemand::logger::log_start_value(simdjson::fallback::ondemand::json_iterator const&, char const*, int, int) [function] [call site] 00084
1 simdjson::fallback::ondemand::logger::log_end_value(simdjson::fallback::ondemand::json_iterator const&, char const*, int, int) [function] [call site] 00085
1 simdjson::fallback::ondemand::logger::log_error(simdjson::fallback::ondemand::json_iterator const&, char const*, char const*, int, int) [function] [call site] 00086
1 simdjson::fallback::ondemand::value_iterator::assert_at_next() const [function] [call site] 00087
1 simdjson::fallback::ondemand::logger::log_end_value(simdjson::fallback::ondemand::json_iterator const&, char const*, int, int) [function] [call site] 00088
1 simdjson::padded_string::~padded_string() [function] [call site] 00089
1 simdjson::fallback::ondemand::parser::~parser() [function] [call site] 00090