Fuzz introspector

Project overview

High level conclusions

Fuzzers reach 77.39% of cyclomatic complexity. This is pretty nice.
Fuzzers reach 73.58% of all functions. This is good, but improvements can be made

Reachability and coverage overview

Functions statically reachable by fuzzers
73.58%
39/53
Cyclomatic complexity statically reachable by fuzzers
77.4%
113/146
Functions covered at runtime
539

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzzer_radius bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
fuzzer_dns bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
bin/fuzzer.c bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
fuzzer_tacacs bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
fuzzer_dhcpv6 bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
fuzzer_dhcpv4 bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
fuzzer_util bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
bin/fuzzer.c bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
bin/fuzzer.c bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
bin/fuzzer.c bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
bin/fuzzer.c bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
bin/fuzzer.c bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
bin/fuzzer.c bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
fuzzer_vmps bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
fuzzer_tftp bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c
bin/fuzzer.c bin/fuzzer.c 39 14 3 4 158 113 fuzzer.c

Fuzzer details

Fuzzer: fuzzer_radius

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: fuzzer_dns

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: bin/fuzzer.c

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: fuzzer_tacacs

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: fuzzer_dhcpv6

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: fuzzer_dhcpv4

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: fuzzer_util

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: bin/fuzzer.c

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: bin/fuzzer.c

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: bin/fuzzer.c

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: bin/fuzzer.c

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: bin/fuzzer.c

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: bin/fuzzer.c

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: fuzzer_vmps

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: fuzzer_tftp

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

Fuzzer: bin/fuzzer.c

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 34 LLVMFuzzerInitialize call site __asan_report_load8
4 52 LLVMFuzzerInitialize call site fr_perror
2 28 exitHandler call site __errno_location
2 46 LLVMFuzzerInitialize call site __asan_report_load8
2 49 LLVMFuzzerInitialize call site fr_perror
2 58 LLVMFuzzerInitialize call site fr_perror
2 63 LLVMFuzzerInitialize call site fr_perror
2 67 LLVMFuzzerInitialize call site fr_perror
2 71 LLVMFuzzerTestOneInput call site fr_perror
1 0 EP call site __asan_stack_malloc_2

Functions hit (dynamic analysis based)

Covered functions
539
Functions that are reachable but not covered
24
Reachable functions
39
Percentage of reachable functions covered
38.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
bin/fuzzer.c 3
/ 35
freeradius-devel/util/talloc.h 1
//usr/include/stdlib.h 1

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 reaches a high amount of 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

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

Functions statically reachable by fuzzers
73.58%
39/53
Cyclomatic complexity statically reachable by fuzzers
77.4%
113 / 146

All functions overview

The status of all functions in the project will be as follows if you implement fuzzers for these functions

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

Runtime coverage analysis

This section gives analysis based on data about the runtime coverage information

For futher technical details on how this section is made, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered
dict_process_flag_field 305 47 15.40
fr_ext_copy 70 8 11.42
delete_fixup 60 4 6.666
fr_value_box_cmp 139 20 14.38
fr_value_box_copy 79 9 11.39
fr_value_box_from_substr 501 38 7.584
fr_sbuff_out_unescape_until 163 10 6.134
fr_sbuff_terminal_search 60 8 13.33
fr_value_box_cast 155 11 7.096
fr_value_box_print 264 14 5.303
fr_value_box_cast_to_ipv4prefix 91 16 17.58
fr_value_box_cast_to_integer 89 6 6.741