Project: json

Language c++
OSS-Fuzz project link
Project repository link
Build status: Fuzzers succeeding: Build log
Build status: Code coverage succeeding: Build log
Build status: Fuzz Introspector succeeding: Build log
Fuzzer count 7
Lines of code 10264
Lines covered 6970
Code coverage 67.91%
Code coverage report Report link
Static reachability 99.37%
Fuzz Introspector report Report link (from 2026-09-28)
Fuzzer Code coverage (lines) Latest Report Comments
parse_afl_fuzzer (plot) 63.02% (avg: 62.17%, max: 66.37%) 2026-09-28
parse_bon8_fuzzer (plot) 0.0% (avg: 0.0%, max: 0%) 2026-09-28
parse_bson_fuzzer (plot) 14.93% (avg: 14.63%, max: 15.29%) 2026-09-28
parse_cbor_fuzzer (plot) 20.36% (avg: 21.8%, max: 22.27%) 2026-09-28
parse_msgpack_fuzzer (plot) 20.15% (avg: 21.09%, max: 21.35%) 2026-09-28
parse_ubjson_fuzzer (plot) 33.45% (avg: 34.2%, max: 35.39%) 2026-09-28

Historical Progression

Per Fuzzer Progression

This section shows graphs for the coverage results per fuzz target over the past 30 days. Included are the coverage percentage, total number of lines, covered number of lines, and the number of coverage inputs.

Functions of interest to fuzz

This section outlines functions that may be of interest to fuzz. They are based on ranking functions that have a lot of complexity but currently exhibit low code coverage. The complexity is calculated based on the function itself as well as the functions called by the given function, i.e. the tree of code that the function triggers.


This is only a minor amount of introspection information available for this project. Please consult the Fuzz Introspector report for more information, e.g. the introspection table of all functions in the target project available here.

Function name Function source file Accumulated cyclomatic complexity Code coverage
std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>(anonymousnamespace)::read_bon8<std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>>(std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>&&) /src/json/tests/src/fuzzer-parse_bon8.cpp 3603 0.0%
nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>::from_bon8<std::__1::basic_istringstream<char,std::__1::char_traits<char>,std::__1::allocator<char>>&>(std::__1::basic_istringstream<char,std::__1::char_traits<char>,std::__1::allocator<char>>&,bool,bool) /src/json/tests/../single_include/nlohmann/json.hpp 3351 0.0%
nlohmann::json_abi_v3_12_0::detail::binary_reader<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter,nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter>>::get_ubjson_value(int) /src/json/tests/../single_include/nlohmann/json.hpp 2396 0.0%
nlohmann::json_abi_v3_12_0::detail::binary_reader<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter,nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter>>::get_ubjson_size_type(std::__1::pair<unsignedlong,int>&,bool) /src/json/tests/../single_include/nlohmann/json.hpp 1201 0.0%
nlohmann::json_abi_v3_12_0::detail::binary_reader<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter,nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter>>::get_ubjson_size_value(unsignedlong&,bool&,int) /src/json/tests/../single_include/nlohmann/json.hpp 1201 0.0%
nlohmann::json_abi_v3_12_0::detail::binary_reader<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter,nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter>>::parse_bson_element_internal(int,unsignedlong) /src/json/tests/../single_include/nlohmann/json.hpp 1098 0.0%
nlohmann::json_abi_v3_12_0::detail::binary_reader<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<unsignedcharconst*,unsignedcharconst*>,nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<unsignedcharconst*,unsignedcharconst*>>>::parse_bon8_internal() /src/json/tests/../single_include/nlohmann/json.hpp 1003 0.0%
nlohmann::json_abi_v3_12_0::detail::binary_reader<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<unsignedcharconst*,unsignedcharconst*>,nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<unsignedcharconst*,unsignedcharconst*>>>::parse_bon8_value() /src/json/tests/../single_include/nlohmann/json.hpp 983 0.0%
nlohmann::json_abi_v3_12_0::detail::binary_reader<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter,nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter>>::parse_bon8_internal() /src/json/tests/../single_include/nlohmann/json.hpp 922 0.0%
nlohmann::json_abi_v3_12_0::detail::binary_reader<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter,nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<std::__1::map,std::__1::vector,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>,bool,long,unsignedlong,double,std::__1::allocator,nlohmann::json_abi_v3_12_0::adl_serializer,std::__1::vector<unsignedchar,std::__1::allocator<unsignedchar>>,void>,nlohmann::json_abi_v3_12_0::detail::input_stream_adapter>>::parse_bon8_value() /src/json/tests/../single_include/nlohmann/json.hpp 901 0.0%