Fuzz introspector

Project overview

High level conclusions

Fuzzers reach 17.25% of all functions. Improvements need to be made
Fuzzers reach 16.72% of cyclomatic complexity. Improvements could be made
Fuzzer theme-load-fuzz is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer server-fuzz is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer irssi-fuzz is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer event-get-params-fuzz is blocked: runtime coverage only covers 0.0% of its reachable functions.

Reachability and coverage overview

Functions statically reachable by fuzzers
17.25%
747/4330
Cyclomatic complexity statically reachable by fuzzers
16.73%
4856/29034
Functions covered at runtime
0

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
server-fuzz ../../src/irssi/src/fe-fuzz/server.c 577 3753 24 75 8455 3518 server.c
event-get-params-fuzz ../../src/irssi/src/fe-fuzz/irc/core/event-get-params.c 284 3469 23 34 4027 1632 event-get-params.c
theme-load-fuzz ../../src/irssi/src/fe-fuzz/fe-common/core/theme-load.c 514 3023 25 63 8061 3298 theme-load.c
irssi-fuzz ../../src/irssi/src/fe-fuzz/irssi.c 388 3149 23 55 5747 2362 irssi.c

Fuzzer details

Fuzzer: server-fuzz

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
2170 0 EP call site test_server

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
577
Reachable functions
577
Percentage of reachable functions covered
0.0%
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
../../src/irssi/src/fe-fuzz/server.c 3
/ 83
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/giounix.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmem.c 7
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmessages.c 19
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstrfuncs.c 15
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gprintf.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/vasnprintf.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf-parse.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/xsize.h 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf-args.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gtestutils.c 20
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gpattern.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutf8.c 8
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gslist.c 17
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gslice.c 39
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gthread-posix.c 19
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutils.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/glib-init.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmain.c 27
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutils.h 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gcharset.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/libcharset/localcharset.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/genviron.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstring.c 16
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstring.h 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gconvert.c 14
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/ghash.c 24
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grefcount.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gquark.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/ggettext.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gthread.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gerror.c 8
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/giochannel.c 15
//usr/include/x86_64-linux-gnu/sys/stat.h 1
../../src/irssi/src/core/chat-protocols.c 5
../../src/irssi/src/core/servers-setup.c 12
../../src/irssi/src/core/chatnets.c 1
../../src/irssi/src/core/servers.c 11
../../src/irssi/src/core/modules.c 6
../../src/irssi/src/core/settings.c 5
../../src/irssi/src/lib-config/get.c 9
../../src/irssi/src/lib-config/set.c 5
//usr/include/ctype.h 1
//usr/include/stdlib.h 1
../../src/irssi/src/core/signals.c 10
../../src/irssi/src/core/network.c 5
../../src/irssi/src/core/net-sendbuffer.c 9
../../src/irssi/src/irc/core/irc-session.c 8
../../src/irssi/src/core/misc.c 6
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/glist.c 7
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gwakeup.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gpoll.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/garray.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/glib-unix.c 4
../../src/irssi/src/irc/core/irc-servers.c 8
../../src/irssi/src/core/channels-setup.c 1
../../src/irssi/src/irc/core/irc.c 16
../../src/irssi/src/core/rawlog.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gqueue.c 3
../../src/irssi/src/core/write-buffer.c 4
../../src/irssi/src/irc/core/servers-redirect.c 13
//src/irssi/subprojects/glib-2.58.3/glib/gstring.h 1
../../src/irssi/src/irc/core/irc-nicklist.c 2
../../src/irssi/src/core/nicklist.c 3
../../src/irssi/src/core/refstrings.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grefstring.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/garcbox.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grcbox.c 1
../../src/irssi/src/core/line-split.c 5
../../src/irssi/src/core/net-nonblock.c 1
../../src/irssi/src/core/channels.c 1
../../src/irssi/src/core/queries.c 1
../../src/irssi/src/core/net-disconnect.c 4

Fuzzer: event-get-params-fuzz

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
884 0 EP call site _g_gnulib_vasnprintf

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
284
Reachable functions
284
Percentage of reachable functions covered
0.0%
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
../../src/irssi/src/fe-fuzz/irc/core/event-get-params.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstrfuncs.c 9
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmem.c 6
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmessages.c 19
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gprintf.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/vasnprintf.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf-parse.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/xsize.h 2
/ 67
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf-args.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gtestutils.c 20
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gpattern.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutf8.c 6
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gslist.c 8
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gslice.c 37
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gthread-posix.c 17
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutils.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/glib-init.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmain.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutils.h 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gcharset.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/libcharset/localcharset.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/genviron.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstring.c 12
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstring.h 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gconvert.c 14
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/ghash.c 12
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grefcount.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gquark.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/ggettext.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gthread.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gerror.c 7
../../src/irssi/src/irc/core/irc.c 3

Fuzzer: theme-load-fuzz

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
1833 0 EP call site theme_load

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
514
Reachable functions
514
Percentage of reachable functions covered
0.0%
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
../../src/irssi/src/fe-fuzz/fe-common/core/theme-load.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstrfuncs.c 18
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmem.c 7
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmessages.c 19
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gprintf.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/vasnprintf.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf-parse.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/xsize.h 2
/ 82
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf-args.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gtestutils.c 20
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gpattern.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutf8.c 6
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gslist.c 15
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gslice.c 38
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gthread-posix.c 17
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutils.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/glib-init.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmain.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutils.h 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gcharset.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/libcharset/localcharset.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/genviron.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstring.c 15
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstring.h 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gconvert.c 14
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/ghash.c 22
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grefcount.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gquark.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/ggettext.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gthread.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gerror.c 7
../../src/irssi/src/fe-common/core/themes.c 32
../../src/irssi/src/core/core.c 1
//usr/include/x86_64-linux-gnu/sys/stat.h 1
../../src/irssi/src/core/misc.c 4
../../src/irssi/src/core/signals.c 6
../../src/irssi/src/core/modules.c 4
../../src/irssi/src/lib-config/parse.c 14
//usr/include/ctype.h 1
../../src/irssi/src/fe-common/core/printtext.c 6
../../src/irssi/src/fe-common/core/formats.c 18
../../src/irssi/src/fe-common/core/fe-windows.c 3
../../src/irssi/src/fe-common/core/window-items.c 2
../../src/irssi/src/core/settings.c 8
../../src/irssi/src/lib-config/get.c 10
../../src/irssi/src/lib-config/set.c 4
//src/irssi/subprojects/glib-2.58.3/glib/gstring.h 1
../../src/irssi/src/core/special-vars.c 13
../../src/irssi/src/core/expandos.c 2
//usr/include/stdlib.h 1
../../src/irssi/src/core/refstrings.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grefstring.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/garcbox.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grcbox.c 1
../../src/irssi/src/core/utf8.c 4
../../src/irssi/src/core/recode.c 1
../../src/irssi/src/core/wcwidth-wrapper.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gscanner.c 19
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gdataset.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gbitlock.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gtree.c 14

Fuzzer: irssi-fuzz

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
1255 0 EP call site printtext_string

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
388
Reachable functions
388
Percentage of reachable functions covered
0.0%
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
../../src/irssi/src/fe-fuzz/irssi.c 1
../../src/irssi/src/fe-common/core/printtext.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmessages.c 19
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstrfuncs.c 14
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gprintf.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/vasnprintf.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf-parse.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/xsize.h 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmem.c 7
/ 71
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gnulib/printf-args.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gtestutils.c 20
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gpattern.c 5
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutf8.c 6
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gslist.c 13
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gslice.c 38
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gthread-posix.c 17
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutils.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/glib-init.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gmain.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gutils.h 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gcharset.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/libcharset/localcharset.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/genviron.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstring.c 15
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstring.h 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gconvert.c 14
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/ghash.c 17
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grefcount.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gquark.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/ggettext.c 4
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gthread.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gerror.c 7
../../src/irssi/src/fe-common/core/formats.c 17
../../src/irssi/src/core/modules.c 3
../../src/irssi/src/fe-common/core/fe-windows.c 3
../../src/irssi/src/fe-common/core/window-items.c 2
../../src/irssi/src/core/settings.c 8
../../src/irssi/src/lib-config/get.c 7
../../src/irssi/src/lib-config/set.c 2
//usr/include/ctype.h 1
../../src/irssi/src/core/signals.c 5
//src/irssi/subprojects/glib-2.58.3/glib/gstring.h 1
../../src/irssi/src/core/special-vars.c 11
../../src/irssi/src/core/misc.c 2
../../src/irssi/src/core/expandos.c 2
//usr/include/stdlib.h 1
../../src/irssi/src/core/refstrings.c 1
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grefstring.c 3
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/garcbox.c 2
build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/grcbox.c 1
../../src/irssi/src/core/utf8.c 4
../../src/irssi/src/core/recode.c 1
../../src/irssi/src/core/wcwidth-wrapper.c 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
LLVMFuzzerInitialize /work/Build/../../src/irssi/src/fe-fuzz/server.c 2 ['int *', 'char ***'] 80 0 25 3 2 2697 0 20086 15375
internal_dfa_exec /work/Build/build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/pcre/pcre_dfa_exec.c 9 ['struct.dfa_match_data *', 'char *', 'char *', 'int ', 'int *', 'int ', 'int *', 'int ', 'int '] 5 0 11965 2361 767 11 4 1667 1534
g_variant_dict_end /work/Build/build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gvariant.c 1 ['struct._GVariantDict *'] 31 0 59 9 4 476 0 2572 895
g_test_trap_subprocess /work/Build/build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gtestutils.c 3 ['char *', 'size_t ', 'int '] 24 0 139 23 8 476 0 2813 348
g_str_match_string /work/Build/build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gstrfuncs.c 3 ['char *', 'char *', 'int '] 22 0 145 35 14 326 0 1986 293
g_regex_match_all /work/Build/build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gregex.c 4 ['struct._GRegex *', 'char *', 'int ', 'struct._GMatchInfo **'] 23 0 12 3 2 301 0 2750 160
g_test_init /work/Build/build-subprojects/glib/../../../../src/irssi/subprojects/glib-2.58.3/glib/gtestutils.c 2 ['int *', 'char ***'] 22 0 238 50 19 314 0 1818 149

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

Functions statically reachable by fuzzers
69.4%
3005/4330
Cyclomatic complexity statically reachable by fuzzers
78.68%
22843 / 29034

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