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

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
lua_stringtonumber_test /src/testdir/tests/capi/lua_stringtonumber_test.c 367 511 50 16 23155 5174 lua_stringtonumber_test.c
luaL_addgsub_test /src/testdir/tests/capi/luaL_addgsub_test.cc 428 459 50 16 26243 5858 luaL_addgsub_test.cc
luaL_bufflen_test /src/testdir/tests/capi/luaL_bufflen_test.c 426 452 50 16 26204 5815 luaL_bufflen_test.c
luaL_buffsub_test /src/testdir/tests/capi/luaL_buffsub_test.cc 425 462 50 16 26218 5838 luaL_buffsub_test.cc
luaL_buffaddr_test /src/testdir/tests/capi/luaL_buffaddr_test.c 426 452 50 16 26204 5816 luaL_buffaddr_test.c
luaL_gsub_test /src/testdir/tests/capi/luaL_gsub_test.cc 430 457 50 16 26259 5873 luaL_gsub_test.cc
fuzz_lua /src/fuzz_lua.c 745 141 50 20 37312 8715 fuzz_lua.c
luaL_loadbufferx_test /src/testdir/tests/capi/luaL_loadbufferx_test.c 652 226 50 20 33141 7813 luaL_loadbufferx_test.c
torture_test /src/testdir/tests/capi/torture_test.cc 411 593 50 16 25380 5651 torture_test.cc
luaL_dostring_test /src/testdir/tests/capi/luaL_dostring_test.c 675 549 50 21 34501 8095 luaL_dostring_test.c
luaL_loadbuffer_test /src/testdir/tests/capi/luaL_loadbuffer_test.c 674 550 50 21 34492 8091 luaL_loadbuffer_test.c
luaL_loadstring_test /src/testdir/tests/capi/luaL_loadstring_test.c 675 549 50 21 34501 8095 luaL_loadstring_test.c
luaL_traceback_test /src/testdir/tests/capi/luaL_traceback_test.c 442 436 50 16 26828 5969 luaL_traceback_test.c
lua_dump_test /src/testdir/tests/capi/lua_dump_test.c 672 207 50 21 33709 7958 lua_dump_test.c
lua_load_test /src/testdir/tests/capi/lua_load_test.cc 674 561 50 21 34502 8093 lua_load_test.cc
luaL_loadbuffer_proto_test /src/testdir/tests/capi/luaL_loadbuffer_proto/luaL_loadbuffer_proto_test.cc 838 599 51 22 36436 9484 luaL_loadbuffer_proto_test.cc

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: lua_stringtonumber_test

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 4091 90.1%
gold [1:9] 0 0.0%
yellow [10:29] 6 0.13%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 441 9.71%
All colors 4538 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
1082 2858 luaH_new call site: 02858 luaH_resize
644 1928 luaS_new call site: 01928 luaG_runerror
618 1299 callallpendingfinalizers call site: 01299 GCTM
399 436 freeobj call site: 00436 entergen
280 3975 luaV_tonumber_ call site: 03975 luaG_forerror
206 2643 luaH_resize call site: 02643 luaH_newkey
145 1152 separatetobefnz call site: 01152 propagateall
118 1030 internshrstr call site: 01030 luaM_toobig
101 284 luaF_closeupval call site: 00284 luaC_barrier_
81 4261 luaH_setint call site: 04261 luaH_newkey
70 857 luaF_close call site: 00857 prepcallclosemth
44 198 luaM_free_ call site: 00198 freeupval

Runtime coverage analysis

Covered functions
73
Functions that are reachable but not covered
294
Reachable functions
367
Percentage of reachable functions covered
19.89%
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/testdir/tests/capi/lua_stringtonumber_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 9
/src/testdir/build/lua-master/source/lstate.c 19
/src/testdir/build/lua-master/source/lobject.c 21
/src/testdir/build/lua-master/source/ldo.c 27
/src/testdir/build/lua-master/source/lmem.c 5
/src/testdir/build/lua-master/source/lgc.c 71
/src/testdir/build/lua-master/source/ltable.c 53
/src/testdir/build/lua-master/source/lfunc.c 14
/src/testdir/build/lua-master/source/lstring.c 16
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 9

Fuzzer: luaL_addgsub_test

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 3695 73.2%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1350 26.7%
All colors 5045 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
746 3511 luaF_newtbcupval call site: 03511 luaG_traceexec
635 2860 luaH_new call site: 02860 luaH_resize
206 1930 luaS_new call site: 01930 luaG_runerror
186 2665 luaV_finishset call site: 02665 luaG_typeerror
157 1762 luaD_precall call site: 01762 luaD_growstack
126 1506 luaS_newlstr call site: 01506 luaD_throw
124 4530 newbuffsize call site: 04530 luaL_error
123 1371 luaD_callnoyield call site: 01371 luaE_checkcstack
93 2312 getgeneric call site: 02312 luaG_runerror
87 581 genlink call site: 00581 traverseephemeron
87 1205 checkmajorminor call site: 01205 atomic2gen
81 670 traversetable call site: 00670 traverseproto

Runtime coverage analysis

Covered functions
188
Functions that are reachable but not covered
244
Reachable functions
428
Percentage of reachable functions covered
42.99%
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/testdir/tests/capi/luaL_addgsub_test.cc 1
/src/testdir/build/lua-master/source/lauxlib.c 23
/src/testdir/build/lua-master/source/lstate.c 19
/src/testdir/build/lua-master/source/lobject.c 21
/src/testdir/build/lua-master/source/ldo.c 27
/src/testdir/build/lua-master/source/lmem.c 5
/src/testdir/build/lua-master/source/lgc.c 74
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 15
/src/testdir/build/lua-master/source/lstring.c 19
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 34

Fuzzer: luaL_bufflen_test

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 3696 73.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.23%
lawngreen 50+ 1323 26.2%
All colors 5031 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
746 3511 luaF_newtbcupval call site: 03511 luaG_traceexec
635 2860 luaH_new call site: 02860 luaH_resize
206 1930 luaS_new call site: 01930 luaG_runerror
186 2665 luaV_finishset call site: 02665 luaG_typeerror
157 1762 luaD_precall call site: 01762 luaD_growstack
126 1506 luaS_newlstr call site: 01506 luaD_throw
124 4528 newbuffsize call site: 04528 luaL_error
123 1371 luaD_callnoyield call site: 01371 luaE_checkcstack
93 2312 getgeneric call site: 02312 luaG_runerror
87 581 genlink call site: 00581 traverseephemeron
87 1205 checkmajorminor call site: 01205 atomic2gen
81 670 traversetable call site: 00670 traverseproto

Runtime coverage analysis

Covered functions
187
Functions that are reachable but not covered
243
Reachable functions
426
Percentage of reachable functions covered
42.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/testdir/tests/capi/luaL_bufflen_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 22
/src/testdir/build/lua-master/source/lstate.c 19
/src/testdir/build/lua-master/source/lobject.c 21
/src/testdir/build/lua-master/source/ldo.c 27
/src/testdir/build/lua-master/source/lmem.c 5
/src/testdir/build/lua-master/source/lgc.c 74
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 15
/src/testdir/build/lua-master/source/lstring.c 19
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 34

Fuzzer: luaL_buffsub_test

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 3696 73.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1337 26.5%
All colors 5033 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
746 3511 luaF_newtbcupval call site: 03511 luaG_traceexec
635 2860 luaH_new call site: 02860 luaH_resize
206 1930 luaS_new call site: 01930 luaG_runerror
186 2665 luaV_finishset call site: 02665 luaG_typeerror
157 1762 luaD_precall call site: 01762 luaD_growstack
126 1506 luaS_newlstr call site: 01506 luaD_throw
124 4528 newbuffsize call site: 04528 luaL_error
123 1371 luaD_callnoyield call site: 01371 luaE_checkcstack
93 2312 getgeneric call site: 02312 luaG_runerror
87 581 genlink call site: 00581 traverseephemeron
87 1205 checkmajorminor call site: 01205 atomic2gen
81 670 traversetable call site: 00670 traverseproto

Runtime coverage analysis

Covered functions
186
Functions that are reachable but not covered
243
Reachable functions
425
Percentage of reachable functions covered
42.82%
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/testdir/tests/capi/luaL_buffsub_test.cc 1
/src/testdir/build/lua-master/source/lauxlib.c 21
/src/testdir/build/lua-master/source/lstate.c 19
/src/testdir/build/lua-master/source/lobject.c 21
/src/testdir/build/lua-master/source/ldo.c 27
/src/testdir/build/lua-master/source/lmem.c 5
/src/testdir/build/lua-master/source/lgc.c 74
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 15
/src/testdir/build/lua-master/source/lstring.c 19
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 34

Fuzzer: luaL_buffaddr_test

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 3694 73.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.23%
lawngreen 50+ 1325 26.3%
All colors 5031 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
746 3511 luaF_newtbcupval call site: 03511 luaG_traceexec
635 2860 luaH_new call site: 02860 luaH_resize
206 1930 luaS_new call site: 01930 luaG_runerror
186 2665 luaV_finishset call site: 02665 luaG_typeerror
157 1762 luaD_precall call site: 01762 luaD_growstack
126 1506 luaS_newlstr call site: 01506 luaD_throw
124 4528 newbuffsize call site: 04528 luaL_error
123 1371 luaD_callnoyield call site: 01371 luaE_checkcstack
93 2312 getgeneric call site: 02312 luaG_runerror
87 581 genlink call site: 00581 traverseephemeron
87 1205 checkmajorminor call site: 01205 atomic2gen
81 670 traversetable call site: 00670 traverseproto

Runtime coverage analysis

Covered functions
187
Functions that are reachable but not covered
243
Reachable functions
426
Percentage of reachable functions covered
42.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/testdir/tests/capi/luaL_buffaddr_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 22
/src/testdir/build/lua-master/source/lstate.c 19
/src/testdir/build/lua-master/source/lobject.c 21
/src/testdir/build/lua-master/source/ldo.c 27
/src/testdir/build/lua-master/source/lmem.c 5
/src/testdir/build/lua-master/source/lgc.c 74
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 15
/src/testdir/build/lua-master/source/lstring.c 19
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 34

Fuzzer: luaL_gsub_test

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 3689 73.0%
gold [1:9] 5 0.09%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1356 26.8%
All colors 5050 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
746 3509 luaF_newtbcupval call site: 03509 luaG_traceexec
635 2858 luaH_new call site: 02858 luaH_resize
206 1928 luaS_new call site: 01928 luaG_runerror
186 2663 luaV_finishset call site: 02663 luaG_typeerror
157 1760 luaD_precall call site: 01760 luaD_growstack
126 1505 luaS_newlstr call site: 01505 luaD_throw
124 4548 newbuffsize call site: 04548 luaL_error
123 1370 luaD_callnoyield call site: 01370 luaE_checkcstack
93 2310 getgeneric call site: 02310 luaG_runerror
87 580 genlink call site: 00580 traverseephemeron
87 1204 checkmajorminor call site: 01204 atomic2gen
81 669 traversetable call site: 00669 traverseproto

Runtime coverage analysis

Covered functions
191
Functions that are reachable but not covered
243
Reachable functions
430
Percentage of reachable functions covered
43.49%
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/testdir/tests/capi/luaL_gsub_test.cc 1
/src/testdir/build/lua-master/source/lauxlib.c 24
/src/testdir/build/lua-master/source/lstate.c 19
/src/testdir/build/lua-master/source/lobject.c 21
/src/testdir/build/lua-master/source/ldo.c 27
/src/testdir/build/lua-master/source/lmem.c 5
/src/testdir/build/lua-master/source/lgc.c 74
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 15
/src/testdir/build/lua-master/source/lstring.c 19
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 35

Fuzzer: fuzz_lua

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 2398 31.3%
gold [1:9] 366 4.79%
yellow [10:29] 164 2.14%
greenyellow [30:49] 47 0.61%
lawngreen 50+ 4664 61.0%
All colors 7639 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
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen
81 4712 luaS_newextlstr call site: 04712 loadProtos
79 4620 luaF_newproto call site: 04620 loadFunction
67 2868 luaV_execute call site: 02868 youngcollection
66 7435 findfield call site: 07435 findfield
63 4019 luaV_execute call site: 04019 luaF_newtbcupval
62 4528 checkmode call site: 04528 luaU_undump
53 7170 lua_getinfo call site: 07170 collectvalidlines
49 3541 luaV_equalobj call site: 03541 luaT_callTMres
47 4173 luaV_execute call site: 04173 luaT_getvarargs
38 3140 luaV_execute call site: 03140 luaG_traceexec

Runtime coverage analysis

Covered functions
579
Functions that are reachable but not covered
173
Reachable functions
745
Percentage of reachable functions covered
76.78%
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/fuzz_lua.c 8
/src/testdir/build/lua-master/source/lauxlib.c 33
/src/testdir/build/lua-master/source/lstate.c 20
/src/testdir/build/lua-master/source/lobject.c 24
/src/testdir/build/lua-master/source/ldo.c 31
/src/testdir/build/lua-master/source/lmem.c 8
/src/testdir/build/lua-master/source/lgc.c 74
/src/testdir/build/lua-master/source/ltable.c 59
/src/testdir/build/lua-master/source/lfunc.c 17
/src/testdir/build/lua-master/source/lstring.c 19
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 43
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 50
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 105
/src/testdir/build/lua-master/source/lcode.c 107

Fuzzer: luaL_loadbufferx_test

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 3371 48.3%
gold [1:9] 31 0.44%
yellow [10:29] 17 0.24%
greenyellow [30:49] 26 0.37%
lawngreen 50+ 3523 50.5%
All colors 6968 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
461 3064 luaV_tointegerns call site: 03064 luaG_traceexec
399 3541 luaV_equalobj call site: 03541 luaT_callTMres
271 1646 luaD_reallocstack call site: 01646 luaD_reallocstack
173 4620 luaF_newproto call site: 04620 loadFunction
158 3970 luaO_str2num call site: 03970 luaG_forerror
156 2858 luaH_new call site: 02858 luaH_resize
137 1997 luaP_isIT call site: 01997 luaD_hook
117 4135 luaF_newLclosure call site: 04135 luaF_findupval
114 2735 luaH_pset call site: 02735 luaG_runerror
92 2311 luaH_get call site: 02311 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen

Runtime coverage analysis

Covered functions
456
Functions that are reachable but not covered
202
Reachable functions
652
Percentage of reachable functions covered
69.02%
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/testdir/tests/capi/luaL_loadbufferx_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 11
/src/testdir/build/lua-master/source/lstate.c 20
/src/testdir/build/lua-master/source/lobject.c 24
/src/testdir/build/lua-master/source/ldo.c 31
/src/testdir/build/lua-master/source/lmem.c 8
/src/testdir/build/lua-master/source/lgc.c 71
/src/testdir/build/lua-master/source/ltable.c 56
/src/testdir/build/lua-master/source/lfunc.c 16
/src/testdir/build/lua-master/source/lstring.c 18
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 8
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 105
/src/testdir/build/lua-master/source/lcode.c 107

Fuzzer: torture_test

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 2998 61.1%
gold [1:9] 148 3.02%
yellow [10:29] 326 6.65%
greenyellow [30:49] 146 2.97%
lawngreen 50+ 1282 26.1%
All colors 4900 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
296 3064 luaV_tointegerns call site: 03064 luaG_traceexec
262 3672 LEnum call site: 03672 lessequalothers
206 1928 luaS_new call site: 01928 luaG_runerror
198 2858 luaH_new call site: 02858 luaH_resize
157 1760 luaD_precall call site: 01760 luaD_growstack
150 3978 luaV_tonumber_ call site: 03978 luaG_forerror
117 4135 luaF_newLclosure call site: 04135 luaF_findupval
116 2733 luaH_pset call site: 02733 luaG_runerror
92 2311 luaH_get call site: 02311 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen
61 857 luaF_close call site: 00857 prepcallclosemth

Runtime coverage analysis

Covered functions
552
Functions that are reachable but not covered
166
Reachable functions
411
Percentage of reachable functions covered
59.61%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/testdir/tests/capi/torture_test.cc 5
/src/testdir/build/lua-master/source/lauxlib.c 14
/src/testdir/build/lua-master/source/lstate.c 19
/src/testdir/build/lua-master/source/lobject.c 21
/src/testdir/build/lua-master/source/ldo.c 27
/src/testdir/build/lua-master/source/lmem.c 5
/src/testdir/build/lua-master/source/lgc.c 74
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 15
/src/testdir/build/lua-master/source/lstring.c 16
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 43
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 23

Fuzzer: luaL_dostring_test

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 619 8.62%
gold [1:9] 75 1.04%
yellow [10:29] 66 0.91%
greenyellow [30:49] 46 0.64%
lawngreen 50+ 6371 88.7%
All colors 7177 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
41 3541 luaV_equalobj call site: 03541 luaT_callTMres
27 4193 luaV_execute call site: 04193 luaG_traceexec
21 2288 equalkey call site: 02288 luaS_eqstr
20 668 traversetable call site: 00668 traverseudata
18 581 genlink call site: 00581 traverseweakvalue
18 2518 luaH_finishset call site: 02518 luaS_normstr
15 4237 luaT_adjustvarargs call site: 04237 createvarargtab
13 605 iscleared call site: 00605 genlink
13 964 luaC_fullgc call site: 00964 luaD_throw
12 1447 addnum2buff call site: 01447 addnum2buff
10 4854 loadAlign call site: 04854 getaddr_
10 5624 numarith call site: 05624 intarith

Runtime coverage analysis

Covered functions
1020
Functions that are reachable but not covered
57
Reachable functions
675
Percentage of reachable functions covered
91.56%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/testdir/tests/capi/luaL_dostring_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 14
/src/testdir/build/lua-master/source/lstate.c 20
/src/testdir/build/lua-master/source/lobject.c 24
/src/testdir/build/lua-master/source/ldo.c 31
/src/testdir/build/lua-master/source/lmem.c 8
/src/testdir/build/lua-master/source/lgc.c 71
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 17
/src/testdir/build/lua-master/source/lstring.c 18
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 105
/src/testdir/build/lua-master/source/lcode.c 107

Fuzzer: luaL_loadbuffer_test

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 757 10.5%
gold [1:9] 83 1.15%
yellow [10:29] 22 0.30%
greenyellow [30:49] 1 0.01%
lawngreen 50+ 6310 87.9%
All colors 7173 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
85 581 genlink call site: 00581 traverseephemeron
41 3541 luaV_equalobj call site: 03541 luaT_callTMres
27 4193 luaV_execute call site: 04193 luaG_traceexec
24 1671 precallC call site: 01671 luaD_hook
21 2288 equalkey call site: 02288 luaS_eqstr
20 668 traversetable call site: 00668 traverseudata
20 1120 atomic call site: 01120 iscleared
20 1701 luaD_poscall call site: 01701 rethook
18 1997 luaP_isIT call site: 01997 luaD_hook
18 2518 luaH_finishset call site: 02518 luaS_normstr
15 4237 luaT_adjustvarargs call site: 04237 createvarargtab
14 7152 f_call call site: 07152 luaD_call

Runtime coverage analysis

Covered functions
916
Functions that are reachable but not covered
60
Reachable functions
674
Percentage of reachable functions covered
91.1%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/testdir/tests/capi/luaL_loadbuffer_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 13
/src/testdir/build/lua-master/source/lstate.c 20
/src/testdir/build/lua-master/source/lobject.c 24
/src/testdir/build/lua-master/source/ldo.c 31
/src/testdir/build/lua-master/source/lmem.c 8
/src/testdir/build/lua-master/source/lgc.c 71
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 17
/src/testdir/build/lua-master/source/lstring.c 18
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 105
/src/testdir/build/lua-master/source/lcode.c 107

Fuzzer: luaL_loadstring_test

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 542 7.55%
gold [1:9] 79 1.10%
yellow [10:29] 50 0.69%
greenyellow [30:49] 34 0.47%
lawngreen 50+ 6472 90.1%
All colors 7177 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
41 3541 luaV_equalobj call site: 03541 luaT_callTMres
27 4193 luaV_execute call site: 04193 luaG_traceexec
21 2288 equalkey call site: 02288 luaS_eqstr
20 668 traversetable call site: 00668 traverseudata
18 581 genlink call site: 00581 traverseweakvalue
15 4237 luaT_adjustvarargs call site: 04237 createvarargtab
13 605 iscleared call site: 00605 genlink
13 964 luaC_fullgc call site: 00964 luaD_throw
10 4854 loadAlign call site: 04854 getaddr_
10 5624 numarith call site: 05624 intarith
9 355 getgclist call site: 00355 linkgclist_
9 657 traverseephemeron call site: 00657 linkgclist_

Runtime coverage analysis

Covered functions
1030
Functions that are reachable but not covered
54
Reachable functions
675
Percentage of reachable functions covered
92.0%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/testdir/tests/capi/luaL_loadstring_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 14
/src/testdir/build/lua-master/source/lstate.c 20
/src/testdir/build/lua-master/source/lobject.c 24
/src/testdir/build/lua-master/source/ldo.c 31
/src/testdir/build/lua-master/source/lmem.c 8
/src/testdir/build/lua-master/source/lgc.c 71
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 17
/src/testdir/build/lua-master/source/lstring.c 18
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 105
/src/testdir/build/lua-master/source/lcode.c 107

Fuzzer: luaL_traceback_test

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 3806 73.8%
gold [1:9] 1 0.01%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.23%
lawngreen 50+ 1336 25.9%
All colors 5155 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
746 3509 luaF_newtbcupval call site: 03509 luaG_traceexec
635 2858 luaH_new call site: 02858 luaH_resize
206 1928 luaS_new call site: 01928 luaG_runerror
186 2663 luaV_finishset call site: 02663 luaG_typeerror
157 1760 luaD_precall call site: 01760 luaD_growstack
126 1504 luaS_newlstr call site: 01504 luaD_throw
123 1369 luaD_callnoyield call site: 01369 luaE_checkcstack
123 4537 newbuffsize call site: 04537 luaL_error
112 4953 luaL_traceback call site: 04953 luaL_addvalue
93 2310 getgeneric call site: 02310 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen

Runtime coverage analysis

Covered functions
191
Functions that are reachable but not covered
255
Reachable functions
442
Percentage of reachable functions covered
42.31%
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/testdir/tests/capi/luaL_traceback_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 29
/src/testdir/build/lua-master/source/lstate.c 19
/src/testdir/build/lua-master/source/lobject.c 21
/src/testdir/build/lua-master/source/ldo.c 27
/src/testdir/build/lua-master/source/lmem.c 5
/src/testdir/build/lua-master/source/lgc.c 74
/src/testdir/build/lua-master/source/ltable.c 59
/src/testdir/build/lua-master/source/lfunc.c 15
/src/testdir/build/lua-master/source/lstring.c 19
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 40

Fuzzer: lua_dump_test

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 3379 47.6%
gold [1:9] 34 0.47%
yellow [10:29] 21 0.29%
greenyellow [30:49] 20 0.28%
lawngreen 50+ 3634 51.2%
All colors 7088 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
461 3064 luaV_tointegerns call site: 03064 luaG_traceexec
399 3541 luaV_equalobj call site: 03541 luaT_callTMres
271 1646 luaD_reallocstack call site: 01646 luaD_reallocstack
173 4626 luaF_newproto call site: 04626 loadFunction
158 3970 luaO_str2num call site: 03970 luaG_forerror
156 2858 luaH_new call site: 02858 luaH_resize
137 1997 luaP_isIT call site: 01997 luaD_hook
117 4135 luaF_newLclosure call site: 04135 luaF_findupval
114 2735 luaH_pset call site: 02735 luaG_runerror
92 2311 luaH_get call site: 02311 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen

Runtime coverage analysis

Covered functions
473
Functions that are reachable but not covered
205
Reachable functions
672
Percentage of reachable functions covered
69.49%
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/testdir/tests/capi/lua_dump_test.c 2
/src/testdir/build/lua-master/source/lauxlib.c 12
/src/testdir/build/lua-master/source/lstate.c 20
/src/testdir/build/lua-master/source/lobject.c 24
/src/testdir/build/lua-master/source/ldo.c 31
/src/testdir/build/lua-master/source/lmem.c 8
/src/testdir/build/lua-master/source/lgc.c 71
/src/testdir/build/lua-master/source/ltable.c 56
/src/testdir/build/lua-master/source/lfunc.c 16
/src/testdir/build/lua-master/source/lstring.c 18
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 9
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 105
/src/testdir/build/lua-master/source/lcode.c 107
/src/testdir/build/lua-master/source/ldump.c 17

Fuzzer: lua_load_test

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 860 11.9%
gold [1:9] 57 0.79%
yellow [10:29] 41 0.57%
greenyellow [30:49] 36 0.50%
lawngreen 50+ 6182 86.1%
All colors 7176 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
80 4915 luaS_newextlstr call site: 04915 loadProtos
76 4825 luaF_newproto call site: 04825 loadFunction
41 3541 luaV_equalobj call site: 03541 luaT_callTMres
31 2667 luaV_finishset call site: 02667 luaT_callTM
27 4193 luaV_execute call site: 04193 luaG_traceexec
21 2288 equalkey call site: 02288 luaS_eqstr
20 669 traversetable call site: 00669 traverseudata
20 1120 atomic call site: 01120 iscleared
18 582 genlink call site: 00582 traverseweakvalue
18 1594 luaG_errormsg call site: 01594 luaD_callnoyield
18 2518 luaH_finishset call site: 02518 luaS_normstr
16 3820 luaD_pretailcall call site: 03820 luaD_growstack

Runtime coverage analysis

Covered functions
937
Functions that are reachable but not covered
73
Reachable functions
674
Percentage of reachable functions covered
89.17%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/testdir/tests/capi/lua_load_test.cc 2
/src/testdir/build/lua-master/source/lauxlib.c 11
/src/testdir/build/lua-master/source/lstate.c 20
/src/testdir/build/lua-master/source/lobject.c 24
/src/testdir/build/lua-master/source/ldo.c 31
/src/testdir/build/lua-master/source/lmem.c 8
/src/testdir/build/lua-master/source/lgc.c 71
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 17
/src/testdir/build/lua-master/source/lstring.c 18
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 105
/src/testdir/build/lua-master/source/lcode.c 107

Fuzzer: luaL_loadbuffer_proto_test

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 1088 14.7%
gold [1:9] 21 0.28%
yellow [10:29] 2 0.02%
greenyellow [30:49] 30 0.40%
lawngreen 50+ 6255 84.5%
All colors 7396 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
85 584 genlink call site: 00584 traverseephemeron
80 5131 luaS_newextlstr call site: 05131 loadProtos
76 5042 luaF_newproto call site: 05042 loadFunction
41 3542 luaV_equalobj call site: 03542 luaT_callTMres
28 2779 luaV_execute call site: 02779 luaV_finishset
27 4194 luaV_execute call site: 04194 luaG_traceexec
23 1673 precallC call site: 01673 luaD_hook
23 2343 luaV_execute call site: 02343 luaV_finishget
21 1084 remarkupvals call site: 01084 reallymarkobject
21 2289 equalkey call site: 02289 luaS_eqstr
20 671 traversetable call site: 00671 traverseudata
20 1122 atomic call site: 01122 iscleared

Runtime coverage analysis

Covered functions
3465
Functions that are reachable but not covered
96
Reachable functions
838
Percentage of reachable functions covered
88.54%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/testdir/tests/capi/luaL_loadbuffer_proto/luaL_loadbuffer_proto_test.cc 5
/src/testdir/build/lua-master/source/lauxlib.c 13
/src/testdir/build/lua-master/source/lstate.c 20
/src/testdir/build/lua-master/source/lobject.c 24
/src/testdir/build/lua-master/source/ldo.c 31
/src/testdir/build/lua-master/source/lmem.c 8
/src/testdir/build/lua-master/source/lgc.c 71
/src/testdir/build/lua-master/source/ltable.c 57
/src/testdir/build/lua-master/source/lfunc.c 17
/src/testdir/build/lua-master/source/lstring.c 18
/src/testdir/build/lua-master/source/ltm.c 17
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/tests/capi/luaL_loadbuffer_proto/serializer.cc 75
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 105
/src/testdir/build/lua-master/source/lcode.c 107

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
luaB_cowrap /src/testdir/build/lua-master/source/lcorolib.c 1 ['N/A'] 208 0 17 3 2 399 0 5726 249
str_gsub /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 173 0 418 57 18 450 0 6051 227
io_lines /src/testdir/build/lua-master/source/liolib.c 1 ['N/A'] 175 0 95 12 5 455 0 5992 159
str_format /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 173 0 686 99 23 442 0 5998 135
luaB_loadfile /src/testdir/build/lua-master/source/lbaselib.c 1 ['N/A'] 172 0 48 3 2 682 0 8208 116
sort /src/testdir/build/lua-master/source/ltablib.c 1 ['N/A'] 171 0 76 12 5 398 0 5595 110
searcher_Croot /src/testdir/build/lua-master/source/loadlib.c 1 ['N/A'] 174 0 105 12 6 445 0 5934 90
str_pack /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 172 0 770 84 24 431 0 5924 83
__lua_getiuservalue(lua_State*,FuzzedDataProvider*) /src/testdir/tests/capi/torture_test.cc 2 ['N/A', 'N/A'] 41 0 54 7 2 337 0 5013 68
db_sethook /src/testdir/build/lua-master/source/ldblib.c 1 ['N/A'] 173 0 164 16 7 403 0 5685 51

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

Functions statically reachable by fuzzers
73.0%
967 / 1328
Cyclomatic complexity statically reachable by fuzzers
87.0%
11460 / 13213

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/testdir/tests/capi/lua_stringtonumber_test.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=['luaH_new', 'luaS_new', 'callallpendingfinalizers', 'freeobj', 'luaV_tonumber_', 'luaH_resize', 'separatetobefnz', 'internshrstr', 'luaF_closeupval', 'luaH_setint']

/src/testdir/tests/capi/luaL_addgsub_test.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=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/testdir/tests/capi/luaL_bufflen_test.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=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/testdir/tests/capi/luaL_buffsub_test.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=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/testdir/tests/capi/luaL_buffaddr_test.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=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/testdir/tests/capi/luaL_gsub_test.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=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/fuzz_lua.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=['genlink', 'checkmajorminor', 'luaS_newextlstr', 'luaF_newproto', 'luaV_execute', 'findfield', 'checkmode', 'lua_getinfo', 'luaV_equalobj']

/src/testdir/tests/capi/luaL_loadbufferx_test.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=['luaV_tointegerns', 'luaV_equalobj', 'luaD_reallocstack', 'luaF_newproto', 'luaO_str2num', 'luaH_new', 'luaP_isIT', 'luaF_newLclosure', 'luaH_pset', 'luaH_get']

/src/testdir/tests/capi/torture_test.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=['luaV_tointegerns', 'LEnum', 'luaS_new', 'luaH_new', 'luaD_precall', 'luaV_tonumber_', 'luaF_newLclosure', 'luaH_pset', 'luaH_get', 'genlink']

/src/testdir/tests/capi/luaL_dostring_test.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=['luaV_equalobj', 'luaV_execute', 'equalkey', 'traversetable', 'genlink', 'luaH_finishset', 'luaT_adjustvarargs', 'iscleared', 'luaC_fullgc', 'addnum2buff']

/src/testdir/tests/capi/luaL_loadbuffer_test.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=['genlink', 'luaV_equalobj', 'luaV_execute', 'precallC', 'equalkey', 'traversetable', 'atomic', 'luaD_poscall', 'luaP_isIT', 'luaH_finishset']

/src/testdir/tests/capi/luaL_loadstring_test.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=['luaV_equalobj', 'luaV_execute', 'equalkey', 'traversetable', 'genlink', 'luaT_adjustvarargs', 'iscleared', 'luaC_fullgc', 'loadAlign', 'numarith']

/src/testdir/tests/capi/luaL_traceback_test.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=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'luaD_callnoyield', 'newbuffsize', 'luaL_traceback', 'getgeneric']

/src/testdir/tests/capi/lua_dump_test.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=['luaV_tointegerns', 'luaV_equalobj', 'luaD_reallocstack', 'luaF_newproto', 'luaO_str2num', 'luaH_new', 'luaP_isIT', 'luaF_newLclosure', 'luaH_pset', 'luaH_get']

/src/testdir/tests/capi/lua_load_test.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=['luaS_newextlstr', 'luaF_newproto', 'luaV_equalobj', 'luaV_finishset', 'luaV_execute', 'equalkey', 'traversetable', 'atomic', 'genlink', 'luaG_errormsg']

/src/testdir/tests/capi/luaL_loadbuffer_proto/luaL_loadbuffer_proto_test.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=['genlink', 'luaS_newextlstr', 'luaF_newproto', 'luaV_equalobj', 'luaV_execute', 'precallC', 'remarkupvals', 'equalkey']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

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

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
luaV_finishOp 54 18 33.33% ['luaL_loadstring_test', 'luaL_dostring_test', 'lua_load_test']
byteoffset 46 23 50.0% ['luaL_loadbuffer_proto_test']
google::protobuf::DescriptorBuilder::AddSymbol(std::__1::basic_string ,std::__1::allocator >const&,voidconst*,std::__1::basic_string ,std::__1::allocator >const&,google::protobuf::Messageconst&,google::protobuf::Symbol) 40 8 20.0%
google::protobuf::DescriptorBuilder::BuildFile(google::protobuf::FileDescriptorProtoconst&) 49 21 42.85%
google::protobuf::DescriptorBuilder::BuildFileImpl(google::protobuf::FileDescriptorProtoconst&,google::protobuf::internal::FlatAllocator&) 201 79 39.30%
google::protobuf::DescriptorBuilder::BuildMessage(google::protobuf::DescriptorProtoconst&,google::protobuf::Descriptorconst*,google::protobuf::Descriptor*,google::protobuf::internal::FlatAllocator&) 135 68 50.37%
google::protobuf::DescriptorBuilder::BuildFieldOrExtension(google::protobuf::FieldDescriptorProtoconst&,google::protobuf::Descriptor*,google::protobuf::FieldDescriptor*,bool,google::protobuf::internal::FlatAllocator&) 232 103 44.39%
google::protobuf::DescriptorBuilder::BuildEnum(google::protobuf::EnumDescriptorProtoconst&,google::protobuf::Descriptorconst*,google::protobuf::EnumDescriptor*,google::protobuf::internal::FlatAllocator&) 84 37 44.04%
google::protobuf::DescriptorBuilder::BuildEnumValue(google::protobuf::EnumValueDescriptorProtoconst&,google::protobuf::EnumDescriptorconst*,google::protobuf::EnumValueDescriptor*,google::protobuf::internal::FlatAllocator&) 43 21 48.83%
google::protobuf::DescriptorBuilder::CrossLinkField(google::protobuf::FieldDescriptor*,google::protobuf::FieldDescriptorProtoconst&) 193 53 27.46%
google::protobuf::FileDescriptorProto::Clear() 33 15 45.45%
google::protobuf::FileDescriptorProto::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 171 64 37.42%
google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 53 28 52.83%
google::protobuf::OneofDescriptorProto::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 48 24 50.0%
google::protobuf::EnumDescriptorProto::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 88 35 39.77%
google::protobuf::FileOptions::Clear() 55 13 23.63%
google::protobuf::FileOptions::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 241 88 36.51%
google::protobuf::FileOptions::_InternalSerialize(unsignedchar*,google::protobuf::io::EpsCopyOutputStream*)const 139 76 54.67%
google::protobuf::FieldOptions::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 111 28 25.22%
google::protobuf::FieldOptions::_InternalSerialize(unsignedchar*,google::protobuf::io::EpsCopyOutputStream*)const 48 24 50.0%
google::protobuf::Reflection::FieldSize(google::protobuf::Messageconst&,google::protobuf::FieldDescriptorconst*)const 38 15 39.47%
google::protobuf::Reflection::ClearOneof(google::protobuf::Message*,google::protobuf::OneofDescriptorconst*)const 31 5 16.12%
google::protobuf::internal::IsDescendant(google::protobuf::Message&,google::protobuf::Messageconst&) 37 7 18.91%
google::protobuf::Reflection::HasBit(google::protobuf::Messageconst&,google::protobuf::FieldDescriptorconst*)const 50 5 10.0%
google::protobuf::internal::EpsCopyInputStream::NextBuffer(int,int) 41 11 26.82%
google::protobuf::internal::(anonymousnamespace)::UTF8GenericScan(google::protobuf::internal::UTF8StateMachineObjconst*,charconst*,int,int*) 72 3 4.166%
google::protobuf::TextFormat::Parser::ParserImpl::ConsumeFieldValue(google::protobuf::Message*,google::protobuf::Reflectionconst*,google::protobuf::FieldDescriptorconst*) 118 51 43.22%
voidprotobuf_mutator::FieldFunction ::operator() (protobuf_mutator::FieldInstanceconst&)const 39 16 41.02%
lua_grammar::Expression::MergeImpl(google::protobuf::Message&,google::protobuf::Messageconst&) 62 12 19.35%
lua_grammar::BinaryOperator::MergeImpl(google::protobuf::Message&,google::protobuf::Messageconst&) 97 12 12.37%

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/testdir/build/lua-master/source/ldo.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/fuzz_lua.c ['fuzz_lua'] ['fuzz_lua']
/src/testdir/build/lua-master/source/linit.c ['luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/lstrlib.c [] []
/src/testdir/build/lua-master/source/loadlib.c [] []
/src/testdir/build/lua-master/source/ldebug.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/ltm.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/loslib.c [] []
/src/testdir/build/lua-master/source/ltable.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/lparser.c ['fuzz_lua', 'luaL_loadbufferx_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['fuzz_lua', 'luaL_loadbufferx_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/lstring.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/luaL_traceback_test.c ['luaL_traceback_test'] ['luaL_traceback_test']
/src/testdir/build/lua-master/source/lundump.c ['fuzz_lua', 'luaL_loadbufferx_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['luaL_loadbufferx_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/luaL_loadstring_test.c ['luaL_loadstring_test'] ['luaL_loadstring_test']
/src/testdir/tests/capi/luaL_loadbuffer_proto/serializer.cc ['luaL_loadbuffer_proto_test'] ['luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/ldump.c ['lua_dump_test'] ['lua_dump_test']
/src/testdir/build/lua-master/source/lauxlib.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/luaL_addgsub_test.cc ['luaL_addgsub_test'] ['luaL_addgsub_test']
/usr/local/bin/../include/c++/v1/string [] []
/src/testdir/build/lua-master/source/lutf8lib.c [] []
/src/testdir/tests/capi/luaL_loadbuffer_proto/luaL_loadbuffer_proto_test.cc ['luaL_loadbuffer_proto_test'] ['luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/lua_stringtonumber_test.c ['lua_stringtonumber_test'] ['lua_stringtonumber_test']
/src/testdir/tests/capi/lua_load_test.cc ['lua_load_test'] ['lua_load_test']
/src/testdir/build/lua-master/source/lcode.c ['fuzz_lua', 'luaL_loadbufferx_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['fuzz_lua', 'luaL_loadbufferx_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/lmathlib.c [] []
/src/testdir/tests/capi/luaL_loadbufferx_test.c ['luaL_loadbufferx_test'] ['luaL_loadbufferx_test']
/src/testdir/tests/capi/luaL_loadbuffer_test.c ['luaL_loadbuffer_test'] ['luaL_loadbuffer_test']
/src/testdir/tests/capi/torture_test.cc ['torture_test'] ['torture_test']
/src/testdir/build/lua-master/source/lapi.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/lfunc.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/ldblib.c [] []
/src/testdir/build/lua-master/source/lvm.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/luaL_buffsub_test.cc ['luaL_buffsub_test'] ['luaL_buffsub_test']
/src/testdir/build/lua-master/source/lzio.c ['fuzz_lua', 'luaL_loadbufferx_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['fuzz_lua', 'luaL_loadbufferx_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/luaL_buffaddr_test.c ['luaL_buffaddr_test'] ['luaL_buffaddr_test']
/src/testdir/build/lua-master/source/lstate.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/lmem.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/luaL_dostring_test.c ['luaL_dostring_test'] ['luaL_dostring_test']
/usr/local/bin/../include/c++/v1/stdexcept [] []
/src/testdir/build/lua-master/source/lcorolib.c [] []
/src/testdir/build/lua-master/source/lobject.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/lgc.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/liolib.c [] []
/src/testdir/tests/capi/luaL_bufflen_test.c ['luaL_bufflen_test'] ['luaL_bufflen_test']
/src/testdir/build/lua-master/source/lopcodes.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/ltablib.c [] []
/src/testdir/build/lua-master/source/lbaselib.c [] []
/src/testdir/build/lua-master/source/llex.c ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test'] ['lua_stringtonumber_test', 'luaL_addgsub_test', 'luaL_bufflen_test', 'luaL_buffsub_test', 'luaL_buffaddr_test', 'luaL_gsub_test', 'fuzz_lua', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test', 'luaL_loadbuffer_test', 'luaL_loadstring_test', 'luaL_traceback_test', 'lua_dump_test', 'lua_load_test', 'luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/lua_dump_test.c ['lua_dump_test'] ['lua_dump_test']
/src/testdir/tests/capi/luaL_gsub_test.cc ['luaL_gsub_test'] ['luaL_gsub_test']

Directories in report

Directory
/src/testdir/tests/capi/
/src/testdir/tests/capi/luaL_loadbuffer_proto/
/usr/local/bin/../include/c++/v1/
/src/
/src/testdir/build/lua-master/source/

Metadata section

This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.

Fuzzer Calltree file Program data file Coverage file
lua_stringtonumber_test fuzzerLogFile-0-bHnWahlYU3.data fuzzerLogFile-0-bHnWahlYU3.data.yaml lua_stringtonumber_test.covreport
luaL_addgsub_test fuzzerLogFile-0-03fANhe6ya.data fuzzerLogFile-0-03fANhe6ya.data.yaml luaL_addgsub_test.covreport
luaL_bufflen_test fuzzerLogFile-0-hlXPBkGBqJ.data fuzzerLogFile-0-hlXPBkGBqJ.data.yaml luaL_bufflen_test.covreport
luaL_buffsub_test fuzzerLogFile-0-sAqJYOhyXZ.data fuzzerLogFile-0-sAqJYOhyXZ.data.yaml luaL_buffsub_test.covreport
luaL_buffaddr_test fuzzerLogFile-0-XDQm5fJbp9.data fuzzerLogFile-0-XDQm5fJbp9.data.yaml luaL_buffaddr_test.covreport
luaL_gsub_test fuzzerLogFile-0-AJ4cXCpkKJ.data fuzzerLogFile-0-AJ4cXCpkKJ.data.yaml luaL_gsub_test.covreport
fuzz_lua fuzzerLogFile-0-DxOWvbaHyk.data fuzzerLogFile-0-DxOWvbaHyk.data.yaml fuzz_lua.covreport
luaL_loadbufferx_test fuzzerLogFile-0-abTLIO1j4P.data fuzzerLogFile-0-abTLIO1j4P.data.yaml luaL_loadbufferx_test.covreport
torture_test fuzzerLogFile-0-BLuGYdRVJX.data fuzzerLogFile-0-BLuGYdRVJX.data.yaml torture_test.covreport
luaL_dostring_test fuzzerLogFile-0-0dtoGapVDR.data fuzzerLogFile-0-0dtoGapVDR.data.yaml luaL_dostring_test.covreport
luaL_loadbuffer_test fuzzerLogFile-0-lt7lJ2u9oE.data fuzzerLogFile-0-lt7lJ2u9oE.data.yaml luaL_loadbuffer_test.covreport
luaL_loadstring_test fuzzerLogFile-0-puTRfcyUJE.data fuzzerLogFile-0-puTRfcyUJE.data.yaml luaL_loadstring_test.covreport
luaL_traceback_test fuzzerLogFile-0-SuDvnycpXP.data fuzzerLogFile-0-SuDvnycpXP.data.yaml luaL_traceback_test.covreport
lua_dump_test fuzzerLogFile-0-9g1Yvpz9ab.data fuzzerLogFile-0-9g1Yvpz9ab.data.yaml lua_dump_test.covreport
lua_load_test fuzzerLogFile-0-9nmnz2a9Od.data fuzzerLogFile-0-9nmnz2a9Od.data.yaml lua_load_test.covreport
luaL_loadbuffer_proto_test fuzzerLogFile-0-rgroEe0QP2.data fuzzerLogFile-0-rgroEe0QP2.data.yaml luaL_loadbuffer_proto_test.covreport