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

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: url_search_params

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 7 16.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 35 83.3%
All colors 42 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2 26 LLVMFuzzerTestOneInput call site: 00026
2 31 LLVMFuzzerTestOneInput call site: 00031
2 36 LLVMFuzzerTestOneInput call site: 00036
1 15 ada::url_search_params::has(std::__1::basic_string_view >) call site: 00015 __cxa_begin_catch

Runtime coverage analysis

Covered functions
35
Functions that are reachable but not covered
8
Reachable functions
57
Percentage of reachable functions covered
85.96%
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/ada-url/fuzz/url_search_params.cc 1
/src/ada-url/build/singleheader/ada.h 25
/src/ada-url/build/singleheader/ada.cpp 2

Fuzzer: idna

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 1 1.69%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 58 98.3%
All colors 59 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 29 ada::idna::find_direction(unsigned int) call site: 00029 __cxa_begin_catch

Runtime coverage analysis

Covered functions
36
Functions that are reachable but not covered
5
Reachable functions
66
Percentage of reachable functions covered
92.42%
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/ada-url/fuzz/idna.cc 1
/src/ada-url/build/singleheader/ada.cpp 30

Fuzzer: can_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 93 22.6%
gold [1:9] 15 3.65%
yellow [10:29] 10 2.43%
greenyellow [30:49] 1 0.24%
lawngreen 50+ 291 70.9%
All colors 410 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
17 343 ada::checkers::is_windows_drive_letter(std::__1::basic_string_view >) call site: 00343 abort
15 58 ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >) call site: 00058 abort
12 148 ada::url_aggregator::clear_hostname() call site: 00148 abort
6 203 ada::url_aggregator::clear_search() call site: 00203 abort
5 13 ada::url_aggregator ada::parser::parse_url_impl (std::__1::basic_string_view >, ada::url_aggregator const*) call site: 00013 __clang_call_terminate
4 394 ada::url_aggregator::clear_pathname() call site: 00394 abort
3 103 ada::url_aggregator::append_base_password(std::__1::basic_string_view >) call site: 00103 abort
3 122 ada::url_aggregator::append_base_username(std::__1::basic_string_view >) call site: 00122 abort
2 86 ada::url_aggregator::update_base_search(std::__1::basic_string_view >) call site: 00086 abort
2 113 ada::url_aggregator::append_base_password(std::__1::basic_string_view >) call site: 00113 abort
2 126 ada::url_aggregator::append_base_username(std::__1::basic_string_view >) call site: 00126 abort
2 170 ada::url_aggregator::update_host_to_base_host(std::__1::basic_string_view >) call site: 00170

Runtime coverage analysis

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

Files reached

filename functions hit
/src/ada-url/fuzz/can_parse.cc 1
/src/ada-url/build/singleheader/ada.cpp 57
/src/ada-url/build/singleheader/ada.h 57
/usr/local/bin/../include/c++/v1/optional 8

Fuzzer: ada_c

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 235 25.4%
gold [1:9] 1 0.10%
yellow [10:29] 2 0.21%
greenyellow [30:49] 2 0.21%
lawngreen 50+ 685 74.0%
All colors 925 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
21 154 ada::url_aggregator::has_hostname() const call site: 00154 abort
20 546 ada::url_aggregator::has_port() const call site: 00546 abort
15 60 ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >) call site: 00060 abort
12 424 ada::url_aggregator ada::parser::parse_url_impl (std::__1::basic_string_view >, ada::url_aggregator const*) call site: 00424
10 83 ada::url_aggregator::get_search() const call site: 00083 abort
10 394 void ada::helpers::inner_concat > >(std::__1::basic_string , std::__1::allocator >&, char const*, std::__1::basic_string_view >) call site: 00394 abort
9 176 ada::url_aggregator::has_empty_hostname() const call site: 00176 abort
9 384 ada::url_aggregator::get_host() const call site: 00384 abort
7 225 ada::checkers::is_normalized_windows_drive_letter(std::__1::basic_string_view >) call site: 00225
6 140 ada::url_aggregator ada::parser::parse_url_impl (std::__1::basic_string_view >, ada::url_aggregator const*) call site: 00140
6 147 ada::url_aggregator::get_hostname() const call site: 00147 abort
6 496 ada::url_aggregator::set_href(std::__1::basic_string_view >) call site: 00496

Runtime coverage analysis

Covered functions
238
Functions that are reachable but not covered
83
Reachable functions
401
Percentage of reachable functions covered
79.3%
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/ada-url/fuzz/ada_c.c 1
/src/ada-url/build/singleheader/ada.cpp 119
/src/ada-url/build/singleheader/ada.h 100
/usr/local/bin/../include/c++/v1/optional 8

Fuzzer: 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 237 23.7%
gold [1:9] 19 1.90%
yellow [10:29] 4 0.40%
greenyellow [30:49] 4 0.40%
lawngreen 50+ 733 73.5%
All colors 997 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
38 318 ada::url_aggregator::get_hostname() const call site: 00318 abort
15 234 ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >) call site: 00234 abort
11 132 ada::url ada::parser::parse_url_impl (std::__1::basic_string_view >, ada::url const*) call site: 00132 __clang_call_terminate
11 522 ada::url_aggregator ada::parser::parse_url_impl (std::__1::basic_string_view >, ada::url_aggregator const*) call site: 00522
10 392 ada::url_aggregator::clear_search() call site: 00392 abort
10 495 void ada::helpers::inner_concat > >(std::__1::basic_string , std::__1::allocator >&, char const*, std::__1::basic_string_view >) call site: 00495 abort
9 705 LLVMFuzzerTestOneInput call site: 00705 __clang_call_terminate
8 257 ada::url_aggregator::get_search() const call site: 00257 abort
6 27 ada::url ada::parser::parse_url_impl (std::__1::basic_string_view >, ada::url const*) call site: 00027 abort
6 617 ada::url::set_href(std::__1::basic_string_view >) call site: 00617
6 637 ada::url_aggregator::set_href(std::__1::basic_string_view >) call site: 00637
6 838 bool ada::url_aggregator::set_host_or_hostname (std::__1::basic_string_view >) call site: 00838

Runtime coverage analysis

Covered functions
268
Functions that are reachable but not covered
110
Reachable functions
493
Percentage of reachable functions covered
77.69%
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/ada-url/fuzz/parse.cc 2
/src/ada-url/build/singleheader/ada.cpp 100
/src/ada-url/build/singleheader/ada.h 146
/usr/local/bin/../include/c++/v1/optional 13

Fuzzer: url_pattern

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 849 59.6%
gold [1:9] 6 0.42%
yellow [10:29] 9 0.63%
greenyellow [30:49] 9 0.63%
lawngreen 50+ 551 38.6%
All colors 1424 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
151 670 ada::url_aggregator::update_base_hostname(std::__1::basic_string_view >) call site: 00670 abort
86 839 ada::url_aggregator ada::parser::parse_url_impl (std::__1::basic_string_view >, ada::url_aggregator const*) call site: 00839 __clang_call_terminate
57 1063 tl::expected ::operator->() call site: 01063 _ZN2tl8expectedINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEN3ada6errorsEEC2IS7_TnPNS1_9enable_ifIXsr3std14is_convertibleIOT_S7_EE5valueEvE4typeELPv0ETnPNSC_IXaaaaaasr3std16is_constructibleIS7_SE_EE5valuentsr3std7is_sameINS1_5decayISD_E4typeENS_10in_place_tEEE5valuentsr3std7is_sameISA_SL_EE5valuentsr3std7is_sameINS_10unexpectedIS9_EESL_EE5valueEvE4typeELSI_0EEESE_
38 625 ada::url_aggregator::get_hostname() const call site: 00625 abort
32 592 ada::url_aggregator::add_authority_slashes_if_needed() call site: 00592 abort
27 560 ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >) call site: 00560 abort
20 514 ada::url_aggregator ada::parser::parse_url_impl (std::__1::basic_string_view >, ada::url_aggregator const*) call site: 00514 abort
19 954 _ZNR2tl8expectedIN3ada14url_aggregatorENS1_6errorsEEdeIS2_TnPNSt3__19enable_ifIXntsr3std7is_voidIT_EE5valueEvE4typeELPv0EEERS8_v call site: 00954 abort
18 1164 ada::url_pattern_helpers::canonicalize_pathname(std::__1::basic_string_view >) call site: 01164 _ZN2tl8expectedINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEN3ada6errorsEEC2IS7_TnPNS1_9enable_ifIXsr3std14is_convertibleIOT_S7_EE5valueEvE4typeELPv0ETnPNSC_IXaaaaaasr3std16is_constructibleIS7_SE_EE5valuentsr3std7is_sameINS1_5decayISD_E4typeENS_10in_place_tEEE5valuentsr3std7is_sameISA_SL_EE5valuentsr3std7is_sameINS_10unexpectedIS9_EESL_EE5valueEvE4typeELSI_0EEESE_
15 539 ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >) call site: 00539 abort
15 1193 ada::url_pattern_helpers::canonicalize_search(std::__1::basic_string_view >) call site: 01193 _ZN2tl8expectedINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEN3ada6errorsEEC2IS7_TnPNS1_9enable_ifIXsr3std14is_convertibleIOT_S7_EE5valueEvE4typeELPv0ETnPNSC_IXaaaaaasr3std16is_constructibleIS7_SE_EE5valuentsr3std7is_sameINS1_5decayISD_E4typeENS_10in_place_tEEE5valuentsr3std7is_sameISA_SL_EE5valuentsr3std7is_sameINS_10unexpectedIS9_EESL_EE5valueEvE4typeELSI_0EEESE_
13 1028 ada::url_pattern_helpers::canonicalize_username(std::__1::basic_string_view >) call site: 01028 _ZN2tl8expectedINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEN3ada6errorsEEC2IS7_TnPNS1_9enable_ifIXsr3std14is_convertibleIOT_S7_EE5valueEvE4typeELPv0ETnPNSC_IXaaaaaasr3std16is_constructibleIS7_SE_EE5valuentsr3std7is_sameINS1_5decayISD_E4typeENS_10in_place_tEEE5valuentsr3std7is_sameISA_SL_EE5valuentsr3std7is_sameINS_10unexpectedIS9_EESL_EE5valueEvE4typeELSI_0EEESE_

Runtime coverage analysis

Covered functions
236
Functions that are reachable but not covered
428
Reachable functions
824
Percentage of reachable functions covered
48.06%
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/ada-url/fuzz/url_pattern.cc 3
/src/ada-url/build/singleheader/ada.h 357
/src/ada-url/build/singleheader/ada.cpp 99
/usr/local/bin/../include/c++/v1/optional 21

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
ada_parse_with_base /src/ada-url/build/singleheader/ada.cpp 4 ['N/A', 'size_t', 'N/A', 'size_t'] 11 0 82 13 9 345 0 1797 80
ada_search_params_get_all /src/ada-url/build/singleheader/ada.cpp 3 ['N/A', 'N/A', 'size_t'] 8 0 120 21 21 33 0 69 67
ada::url::get_origin()const /src/ada-url/build/singleheader/ada.cpp 2 ['N/A', 'N/A'] 11 0 211 44 41 234 0 1053 61
ada_parse_search_params /src/ada-url/build/singleheader/ada.cpp 2 ['N/A', 'size_t'] 9 0 75 12 12 34 0 97 49
ada::url_aggregator::get_origin()const /src/ada-url/build/singleheader/ada.cpp 2 ['N/A', 'N/A'] 11 0 227 35 34 306 0 1767 46
ada::url_aggregator::to_string()const /src/ada-url/build/singleheader/ada.cpp 2 ['N/A', 'N/A'] 2 0 603 100 39 23 0 80 42
ada::url::to_string()const /src/ada-url/build/singleheader/ada.cpp 2 ['N/A', 'N/A'] 4 0 421 69 41 22 0 93 41
ada::url_pattern_helpers::canonicalize_port(std::__1::basic_string_view >) /src/ada-url/build/singleheader/ada.cpp 3 ['N/A', 'N/A', 'size_t'] 8 0 237 41 41 43 0 117 41

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

Functions statically reachable by fuzzers
82.0%
718 / 876
Cyclomatic complexity statically reachable by fuzzers
92.0%
6230 / 6783

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 Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

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/ada-url/fuzz/url_search_params.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['LLVMFuzzerTestOneInput', 'ada::url_search_params::has(std::__1::basic_string_view >)']

/src/ada-url/fuzz/idna.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['ada::idna::find_direction(unsigned int)']

/src/ada-url/fuzz/can_parse.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['ada::checkers::is_windows_drive_letter(std::__1::basic_string_view >)', 'ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >)', 'ada::url_aggregator::clear_hostname()', 'ada::url_aggregator::clear_search()', 'ada::url_aggregator ada::parser::parse_url_impl(std::__1::basic_string_view >, ada::url_aggregator const*)', 'ada::url_aggregator::clear_pathname()', 'ada::url_aggregator::append_base_password(std::__1::basic_string_view >)', 'ada::url_aggregator::append_base_username(std::__1::basic_string_view >)', 'ada::url_aggregator::update_base_search(std::__1::basic_string_view >)', 'ada::url_aggregator::append_base_password(std::__1::basic_string_view >)']

/src/ada-url/fuzz/ada_c.c

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=['ada::url_aggregator::has_hostname() const', 'ada::url_aggregator::has_port() const', 'ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >)', 'ada::url_aggregator ada::parser::parse_url_impl(std::__1::basic_string_view >, ada::url_aggregator const*)', 'ada::url_aggregator::get_search() const', 'void ada::helpers::inner_concat > >(std::__1::basic_string, std::__1::allocator >&, char const*, std::__1::basic_string_view >)', 'ada::url_aggregator::has_empty_hostname() const', 'ada::url_aggregator::get_host() const', 'ada::checkers::is_normalized_windows_drive_letter(std::__1::basic_string_view >)', 'ada::url_aggregator ada::parser::parse_url_impl(std::__1::basic_string_view >, ada::url_aggregator const*)']

/src/ada-url/fuzz/parse.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['ada::url_aggregator::get_hostname() const', 'ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >)', 'ada::url ada::parser::parse_url_impl(std::__1::basic_string_view >, ada::url const*)', 'ada::url_aggregator ada::parser::parse_url_impl(std::__1::basic_string_view >, ada::url_aggregator const*)', 'ada::url_aggregator::clear_search()', 'void ada::helpers::inner_concat > >(std::__1::basic_string, std::__1::allocator >&, char const*, std::__1::basic_string_view >)', 'LLVMFuzzerTestOneInput', 'ada::url_aggregator::get_search() const', 'ada::url ada::parser::parse_url_impl(std::__1::basic_string_view >, ada::url const*)', 'ada::url::set_href(std::__1::basic_string_view >)']

/src/ada-url/fuzz/url_pattern.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['ada::url_aggregator::update_base_hostname(std::__1::basic_string_view >)', 'ada::url_aggregator ada::parser::parse_url_impl(std::__1::basic_string_view >, ada::url_aggregator const*)', 'tl::expected::operator->()', 'ada::url_aggregator::get_hostname() const', 'ada::url_aggregator::add_authority_slashes_if_needed()', 'ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >)', 'ada::url_aggregator ada::parser::parse_url_impl(std::__1::basic_string_view >, ada::url_aggregator const*)', '_ZNR2tl8expectedIN3ada14url_aggregatorENS1_6errorsEEdeIS2_TnPNSt3__19enable_ifIXntsr3std7is_voidIT_EE5valueEvE4typeELPv0EEERS8_v', 'ada::url_pattern_helpers::canonicalize_pathname(std::__1::basic_string_view >)', 'ada::url_aggregator::update_base_pathname(std::__1::basic_string_view >)']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/ada-url/fuzz/url_search_params.cc ['url_search_params'] ['url_search_params']
/src/ada-url/fuzz/ada_c.c ['ada_c'] ['ada_c']
/src/ada-url/fuzz/url_pattern.cc ['url_pattern'] ['url_pattern']
/usr/local/bin/../include/c++/v1/__algorithm/ranges_replace.h [] []
/usr/local/bin/../include/c++/v1/stdexcept [] []
/src/ada-url/fuzz/idna.cc ['idna'] ['idna']
/usr/local/bin/../include/c++/v1/variant [] []
/src/ada-url/build/singleheader/ada.h ['url_search_params', 'can_parse', 'ada_c', 'parse', 'url_pattern'] ['url_search_params', 'can_parse', 'ada_c', 'parse', 'url_pattern']
/src/ada-url/fuzz/can_parse.cc ['can_parse'] ['can_parse']
/usr/local/bin/../include/c++/v1/__exception/exception.h [] []
/usr/local/bin/../include/c++/v1/__algorithm/ranges_find_if_not.h [] []
/usr/local/bin/../include/c++/v1/optional ['can_parse', 'ada_c', 'parse', 'url_pattern'] []
/usr/local/bin/../include/c++/v1/string [] []
/usr/local/bin/../include/c++/v1/__charconv/from_chars_integral.h [] []
/usr/local/bin/../include/c++/v1/__iterator/move_iterator.h [] []
/src/ada-url/fuzz/parse.cc ['parse'] ['parse']
/src/ada-url/build/singleheader/ada.cpp ['url_search_params', 'idna', 'can_parse', 'ada_c', 'parse', 'url_pattern'] ['url_search_params', 'idna', 'can_parse', 'ada_c', 'parse', 'url_pattern']

Directories in report

Directory
/usr/local/bin/../include/c++/v1/__exception/
/usr/local/bin/../include/c++/v1/__iterator/
/usr/local/bin/../include/c++/v1/
/usr/local/bin/../include/c++/v1/__charconv/
/src/ada-url/fuzz/
/usr/local/bin/../include/c++/v1/__algorithm/
/src/ada-url/build/singleheader/