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 9
Lines of code 21253
Lines covered 15418
Code coverage 72.55%
Code coverage report Report link
Static reachability 99.40%
Fuzz Introspector report Report link (from 2026-11-12)
Fuzzer Code coverage (lines) Latest Report Comments
json_view_image_fuzzer (plot) 31.83% (avg: 32.43%, max: 35.39%) 2026-11-12
parse_afl_fuzzer (plot) 64.39% (avg: 63.59%, max: 67.41%) 2026-11-12 Degraded from 2026-10-14 (67.41%) to 2026-10-15 (58.52%)!
parse_bon8_fuzzer (plot) 28.83% (avg: 30.12%, max: 32.08%) 2026-11-12
parse_bson_fuzzer (plot) 26.82% (avg: 28.5%, max: 30.87%) 2026-11-12
parse_cbor_fuzzer (plot) 33.91% (avg: 35.34%, max: 37.24%) 2026-11-12
parse_json_view_fuzzer (plot) 40.38% (avg: 35.77%, max: 40.48%) 2026-11-12
parse_msgpack_fuzzer (plot) 32.76% (avg: 34.14%, max: 35.8%) 2026-11-12

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
boolnlohmann::json_abi_v3_12_0::detail::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,false>::parse_dom<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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>&,bool) /src/json/tests/../single_include/nlohmann/json.hpp 2050 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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,false>::sax_parse_internal<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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>*) /src/json/tests/../single_include/nlohmann/json.hpp 2026 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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::file_input_adapter,false>::parse_dom<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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::file_input_adapter>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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::file_input_adapter>&,bool) /src/json/tests/../single_include/nlohmann/json.hpp 2025 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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*>,false>::parse_dom<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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*>>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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*>>&,bool) /src/json/tests/../single_include/nlohmann/json.hpp 2006 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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<charconst*,charconst*>,false>::parse_dom<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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<charconst*,charconst*>>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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<charconst*,charconst*>>&,bool) /src/json/tests/../single_include/nlohmann/json.hpp 2001 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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::file_input_adapter,false>::sax_parse_internal<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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::file_input_adapter>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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::file_input_adapter>*) /src/json/tests/../single_include/nlohmann/json.hpp 2001 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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*>,false>::sax_parse_internal<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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*>>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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*>>*) /src/json/tests/../single_include/nlohmann/json.hpp 1982 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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<charconst*,charconst*>,false>::sax_parse_internal<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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<charconst*,charconst*>>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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<charconst*,charconst*>>*) /src/json/tests/../single_include/nlohmann/json.hpp 1977 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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<charconst*,charconst*>,false>::parse_dom<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<charconst*,charconst*>,true,nlohmann::json_abi_v3_12_0::detail::lexer<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<charconst*,charconst*>,false>>>(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<charconst*,charconst*>,true,nlohmann::json_abi_v3_12_0::detail::lexer<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<charconst*,charconst*>,false>>&,bool) /src/json/tests/../single_include/nlohmann/json.hpp 1942 0.0%
boolnlohmann::json_abi_v3_12_0::detail::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<std::__1::__list_const_iterator<unsignedchar,void*>,std::__1::__list_const_iterator<unsignedchar,void*>>,false>::parse_dom<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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<std::__1::__list_const_iterator<unsignedchar,void*>,std::__1::__list_const_iterator<unsignedchar,void*>>>>(nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_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<std::__1::__list_const_iterator<unsignedchar,void*>,std::__1::__list_const_iterator<unsignedchar,void*>>>&,bool) /src/json/tests/../single_include/nlohmann/json.hpp 1775 0.0%