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
luaL_buffsub_test /src/testdir/tests/capi/luaL_buffsub_test.cc 429 465 51 16 26480 5899 luaL_buffsub_test.cc
luaL_bufflen_test /src/testdir/tests/capi/luaL_bufflen_test.c 430 455 51 16 26466 5876 luaL_bufflen_test.c
luaL_traceback_test /src/testdir/tests/capi/luaL_traceback_test.c 446 439 51 16 27090 6030 luaL_traceback_test.c
luaL_gsub_test /src/testdir/tests/capi/luaL_gsub_test.cc 434 460 51 16 26521 5934 luaL_gsub_test.cc
lua_dump_test /src/testdir/tests/capi/lua_dump_test.c 679 207 51 21 34037 8041 lua_dump_test.c
luaL_addgsub_test /src/testdir/tests/capi/luaL_addgsub_test.cc 432 462 51 16 26505 5919 luaL_addgsub_test.cc
luaL_loadstring_test /src/testdir/tests/capi/luaL_loadstring_test.c 682 543 51 21 34829 8178 luaL_loadstring_test.c
fuzz_lua /src/fuzz_lua.c 752 141 51 20 37643 8799 fuzz_lua.c
lua_load_test /src/testdir/tests/capi/lua_load_test.cc 681 555 51 21 34830 8176 lua_load_test.cc
luaL_loadbuffer_test /src/testdir/tests/capi/luaL_loadbuffer_test.c 681 544 51 21 34820 8174 luaL_loadbuffer_test.c
luaL_loadbuffer_proto_test /src/testdir/tests/capi/luaL_loadbuffer_proto/luaL_loadbuffer_proto_test.cc 848 594 52 22 36820 9581 luaL_loadbuffer_proto_test.cc
luaL_loadbufferx_test /src/testdir/tests/capi/luaL_loadbufferx_test.c 659 226 51 20 33469 7896 luaL_loadbufferx_test.c
luaL_buffaddr_test /src/testdir/tests/capi/luaL_buffaddr_test.c 430 455 51 16 26466 5877 luaL_buffaddr_test.c
torture_test /src/testdir/tests/capi/torture_test.cc 415 596 51 16 25642 5712 torture_test.cc
lua_stringtonumber_test /src/testdir/tests/capi/lua_stringtonumber_test.c 371 514 51 16 23414 5234 lua_stringtonumber_test.c
luaL_dostring_test /src/testdir/tests/capi/luaL_dostring_test.c 682 543 51 21 34829 8178 luaL_dostring_test.c

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: 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 3739 73.9%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1318 26.0%
All colors 5057 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
747 3545 luaF_newtbcupval call site: 03545 luaG_traceexec
585 2940 GCTM call site: 02940 luaG_traceexec
212 1840 luaS_new call site: 01840 luaG_runerror
188 2596 luaV_finishset call site: 02596 luaG_typeerror
145 1686 luaD_precall call site: 01686 luaD_growstack
131 1314 luaE_extendCI call site: 01314 luaE_extendCI
116 4570 newbuffsize call site: 04570 luaL_error
106 1457 luaS_newlstr call site: 01457 luaD_throw
94 2238 getgeneric call site: 02238 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1208 checkmajorminor call site: 01208 atomic2gen
81 668 traversetable call site: 00668 traverseproto

Runtime coverage analysis

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

Files reached

filename functions hit
/src/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 28
/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 19
/src/testdir/build/lua-master/source/ldebug.c 42
/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 3739 73.9%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.23%
lawngreen 50+ 1304 25.7%
All colors 5055 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
747 3545 luaF_newtbcupval call site: 03545 luaG_traceexec
585 2940 GCTM call site: 02940 luaG_traceexec
212 1840 luaS_new call site: 01840 luaG_runerror
188 2596 luaV_finishset call site: 02596 luaG_typeerror
145 1686 luaD_precall call site: 01686 luaD_growstack
131 1314 luaE_extendCI call site: 01314 luaE_extendCI
116 4570 newbuffsize call site: 04570 luaL_error
106 1457 luaS_newlstr call site: 01457 luaD_throw
94 2238 getgeneric call site: 02238 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1208 checkmajorminor call site: 01208 atomic2gen
81 668 traversetable call site: 00668 traverseproto

Runtime coverage analysis

Covered functions
187
Functions that are reachable but not covered
247
Reachable functions
430
Percentage of reachable functions covered
42.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.
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 28
/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 19
/src/testdir/build/lua-master/source/ldebug.c 42
/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_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 3858 74.5%
gold [1:9] 1 0.01%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1314 25.4%
All colors 5173 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
747 3543 luaF_newtbcupval call site: 03543 luaG_traceexec
585 2938 GCTM call site: 02938 luaG_traceexec
212 1838 luaS_new call site: 01838 luaG_runerror
188 2594 luaV_finishset call site: 02594 luaG_typeerror
145 1684 luaD_precall call site: 01684 luaD_growstack
131 1312 luaE_extendCI call site: 01312 luaE_extendCI
115 4579 newbuffsize call site: 04579 luaL_error
106 1455 luaS_newlstr call site: 01455 luaD_throw
106 4981 luaL_traceback call site: 04981 luaL_addvalue
94 2236 getgeneric call site: 02236 luaG_runerror
87 577 genlink call site: 00577 traverseephemeron
87 1206 checkmajorminor call site: 01206 atomic2gen

Runtime coverage analysis

Covered functions
190
Functions that are reachable but not covered
260
Reachable functions
446
Percentage of reachable functions covered
41.7%
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 28
/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 19
/src/testdir/build/lua-master/source/ldebug.c 42
/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: 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 3736 73.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1338 26.3%
All colors 5074 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
747 3543 luaF_newtbcupval call site: 03543 luaG_traceexec
585 2938 GCTM call site: 02938 luaG_traceexec
212 1838 luaS_new call site: 01838 luaG_runerror
188 2594 luaV_finishset call site: 02594 luaG_typeerror
145 1684 luaD_precall call site: 01684 luaD_growstack
131 1313 luaE_extendCI call site: 01313 luaE_extendCI
116 4588 newbuffsize call site: 04588 luaL_error
106 1456 luaS_newlstr call site: 01456 luaD_throw
94 2236 getgeneric call site: 02236 luaG_runerror
87 578 genlink call site: 00578 traverseephemeron
87 1207 checkmajorminor call site: 01207 atomic2gen
81 667 traversetable call site: 00667 traverseproto

Runtime coverage analysis

Covered functions
191
Functions that are reachable but not covered
247
Reachable functions
434
Percentage of reachable functions covered
43.09%
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 28
/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 19
/src/testdir/build/lua-master/source/ldebug.c 42
/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: 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 3412 47.5%
gold [1:9] 33 0.46%
yellow [10:29] 14 0.19%
greenyellow [30:49] 22 0.30%
lawngreen 50+ 3692 51.4%
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
473 3086 luaV_tointegerns call site: 03086 luaG_traceexec
387 3576 luaV_equalobj call site: 03576 luaT_callTMres
263 1566 luaE_checkcstack call site: 01566 luaD_errerr
170 4672 luaF_newproto call site: 04672 loadFunction
161 3997 luaO_str2num call site: 03997 luaG_forerror
136 1914 luaP_isIT call site: 01914 luaD_hook
122 4165 luaF_newLclosure call site: 04165 luaF_findupval
112 2670 luaH_pset call site: 02670 luaG_runerror
106 2931 luaD_pcall call site: 02931 dothecall
93 2237 luaH_get call site: 02237 luaG_runerror
87 577 genlink call site: 00577 traverseephemeron
87 1206 checkmajorminor call site: 01206 atomic2gen

Runtime coverage analysis

Covered functions
476
Functions that are reachable but not covered
209
Reachable functions
679
Percentage of reachable functions covered
69.22%
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 32
/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 19
/src/testdir/build/lua-master/source/ldebug.c 35
/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 107
/src/testdir/build/lua-master/source/lcode.c 108
/src/testdir/build/lua-master/source/ldump.c 17

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 3738 73.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1331 26.2%
All colors 5069 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
747 3545 luaF_newtbcupval call site: 03545 luaG_traceexec
585 2940 GCTM call site: 02940 luaG_traceexec
212 1840 luaS_new call site: 01840 luaG_runerror
188 2596 luaV_finishset call site: 02596 luaG_typeerror
145 1686 luaD_precall call site: 01686 luaD_growstack
131 1314 luaE_extendCI call site: 01314 luaE_extendCI
116 4572 newbuffsize call site: 04572 luaL_error
106 1457 luaS_newlstr call site: 01457 luaD_throw
94 2238 getgeneric call site: 02238 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1208 checkmajorminor call site: 01208 atomic2gen
81 668 traversetable call site: 00668 traverseproto

Runtime coverage analysis

Covered functions
188
Functions that are reachable but not covered
248
Reachable functions
432
Percentage of reachable functions covered
42.59%
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 28
/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 19
/src/testdir/build/lua-master/source/ldebug.c 42
/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_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 809 11.1%
gold [1:9] 125 1.72%
yellow [10:29] 77 1.06%
greenyellow [30:49] 38 0.52%
lawngreen 50+ 6204 85.5%
All colors 7253 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
42 3576 luaV_equalobj call site: 03576 luaT_callTMres
35 4233 luaV_execute call site: 04233 luaG_traceexec
21 2214 equalkey call site: 02214 luaS_eqstr
20 666 traversetable call site: 00666 traverseudata
18 579 genlink call site: 00579 traverseweakvalue
18 2447 luaH_finishset call site: 02447 luaS_normstr
17 6490 forstat call site: 06490 repeatstat
16 1973 luaV_execute call site: 01973 luaG_traceexec
15 4272 luaT_adjustvarargs call site: 04272 createvarargtab
14 7233 f_call call site: 07233 luaD_call
13 603 iscleared call site: 00603 genlink
13 964 luaC_fullgc call site: 00964 luaD_throw

Runtime coverage analysis

Covered functions
952
Functions that are reachable but not covered
62
Reachable functions
682
Percentage of reachable functions covered
90.91%
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 32
/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 19
/src/testdir/build/lua-master/source/ldebug.c 35
/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 107
/src/testdir/build/lua-master/source/lcode.c 108

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 2383 30.9%
gold [1:9] 394 5.10%
yellow [10:29] 248 3.21%
greenyellow [30:49] 139 1.80%
lawngreen 50+ 4547 58.9%
All colors 7711 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 577 genlink call site: 00577 traverseephemeron
87 1206 checkmajorminor call site: 01206 atomic2gen
83 4753 luaS_newextlstr call site: 04753 loadProtos
74 4666 luaF_newproto call site: 04666 loadFunction
65 2801 luaV_execute call site: 02801 youngcollection
64 4570 checkmode call site: 04570 luaU_undump
63 4051 luaV_execute call site: 04051 luaF_newtbcupval
62 7513 findfield call site: 07513 findfield
50 3576 luaV_equalobj call site: 03576 luaT_callTMres
47 7258 lua_getinfo call site: 07258 collectvalidlines
40 3110 luaV_execute call site: 03110 luaG_traceexec
34 2077 luaV_finishget call site: 02077 luaT_callTMres

Runtime coverage analysis

Covered functions
591
Functions that are reachable but not covered
168
Reachable functions
752
Percentage of reachable functions covered
77.66%
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 32
/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 19
/src/testdir/build/lua-master/source/ldebug.c 44
/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 107
/src/testdir/build/lua-master/source/lcode.c 108

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 788 10.8%
gold [1:9] 58 0.79%
yellow [10:29] 52 0.71%
greenyellow [30:49] 25 0.34%
lawngreen 50+ 6330 87.2%
All colors 7253 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
83 4949 luaS_newextlstr call site: 04949 loadProtos
71 4864 luaF_newproto call site: 04864 loadFunction
42 3576 luaV_equalobj call site: 03576 luaT_callTMres
35 4233 luaV_execute call site: 04233 luaG_traceexec
34 2598 luaV_finishset call site: 02598 luaT_callTM
21 2214 equalkey call site: 02214 luaS_eqstr
20 667 traversetable call site: 00667 traverseudata
18 580 genlink call site: 00580 traverseweakvalue
18 2447 luaH_finishset call site: 02447 luaS_normstr
16 1545 luaG_errormsg call site: 01545 luaD_callnoyield
15 4272 luaT_adjustvarargs call site: 04272 createvarargtab
14 1848 typeerror call site: 01848 luaG_runerror

Runtime coverage analysis

Covered functions
950
Functions that are reachable but not covered
73
Reachable functions
681
Percentage of reachable functions covered
89.28%
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 32
/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 19
/src/testdir/build/lua-master/source/ldebug.c 35
/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 107
/src/testdir/build/lua-master/source/lcode.c 108

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 564 7.78%
gold [1:9] 47 0.64%
yellow [10:29] 9 0.12%
greenyellow [30:49] 34 0.46%
lawngreen 50+ 6595 90.9%
All colors 7249 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
42 3576 luaV_equalobj call site: 03576 luaT_callTMres
21 2214 equalkey call site: 02214 luaS_eqstr
20 666 traversetable call site: 00666 traverseudata
18 579 genlink call site: 00579 traverseweakvalue
18 2447 luaH_finishset call site: 02447 luaS_normstr
15 4272 luaT_adjustvarargs call site: 04272 createvarargtab
14 1848 typeerror call site: 01848 luaG_runerror
13 603 iscleared call site: 00603 genlink
13 964 luaC_fullgc call site: 00964 luaD_throw
13 1973 luaV_execute call site: 01973 luaG_traceexec
12 1398 addnum2buff call site: 01398 addnum2buff
11 3528 checkclosemth call site: 03528 luaG_runerror

Runtime coverage analysis

Covered functions
965
Functions that are reachable but not covered
55
Reachable functions
681
Percentage of reachable functions covered
91.92%
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 32
/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 19
/src/testdir/build/lua-master/source/ldebug.c 35
/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 107
/src/testdir/build/lua-master/source/lcode.c 108

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 1377 18.4%
gold [1:9] 83 1.11%
yellow [10:29] 82 1.09%
greenyellow [30:49] 45 0.60%
lawngreen 50+ 5886 78.7%
All colors 7473 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 582 genlink call site: 00582 traverseephemeron
83 5168 luaS_newextlstr call site: 05168 loadProtos
71 5083 luaF_newproto call site: 05083 loadFunction
60 4991 checkmode call site: 04991 luaU_undump
42 3577 luaV_equalobj call site: 03577 luaT_callTMres
28 1597 precallC call site: 01597 luaD_hook
28 2714 luaV_execute call site: 02714 luaV_finishset
23 2270 luaV_execute call site: 02270 luaV_finishget
22 1631 luaD_poscall call site: 01631 rethook
22 4234 luaV_execute call site: 04234 luaG_traceexec
21 1087 remarkupvals call site: 01087 reallymarkobject
21 2215 equalkey call site: 02215 luaS_eqstr

Runtime coverage analysis

Covered functions
3274
Functions that are reachable but not covered
112
Reachable functions
848
Percentage of reachable functions covered
86.79%
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 32
/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 19
/src/testdir/build/lua-master/source/ldebug.c 35
/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 76
/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 107
/src/testdir/build/lua-master/source/lcode.c 108

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 3410 48.3%
gold [1:9] 29 0.41%
yellow [10:29] 11 0.15%
greenyellow [30:49] 24 0.34%
lawngreen 50+ 3575 50.7%
All colors 7049 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
473 3086 luaV_tointegerns call site: 03086 luaG_traceexec
387 3576 luaV_equalobj call site: 03576 luaT_callTMres
263 1566 luaE_checkcstack call site: 01566 luaD_errerr
170 4666 luaF_newproto call site: 04666 loadFunction
161 3997 luaO_str2num call site: 03997 luaG_forerror
136 1914 luaP_isIT call site: 01914 luaD_hook
122 4165 luaF_newLclosure call site: 04165 luaF_findupval
112 2670 luaH_pset call site: 02670 luaG_runerror
106 2931 luaD_pcall call site: 02931 dothecall
93 2237 luaH_get call site: 02237 luaG_runerror
87 577 genlink call site: 00577 traverseephemeron
87 1206 checkmajorminor call site: 01206 atomic2gen

Runtime coverage analysis

Covered functions
459
Functions that are reachable but not covered
206
Reachable functions
659
Percentage of reachable functions covered
68.74%
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 32
/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 19
/src/testdir/build/lua-master/source/ldebug.c 35
/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 107
/src/testdir/build/lua-master/source/lcode.c 108

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 3739 73.9%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.23%
lawngreen 50+ 1304 25.7%
All colors 5055 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
747 3545 luaF_newtbcupval call site: 03545 luaG_traceexec
585 2940 GCTM call site: 02940 luaG_traceexec
212 1840 luaS_new call site: 01840 luaG_runerror
188 2596 luaV_finishset call site: 02596 luaG_typeerror
145 1686 luaD_precall call site: 01686 luaD_growstack
131 1314 luaE_extendCI call site: 01314 luaE_extendCI
116 4570 newbuffsize call site: 04570 luaL_error
106 1457 luaS_newlstr call site: 01457 luaD_throw
94 2238 getgeneric call site: 02238 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1208 checkmajorminor call site: 01208 atomic2gen
81 668 traversetable call site: 00668 traverseproto

Runtime coverage analysis

Covered functions
187
Functions that are reachable but not covered
247
Reachable functions
430
Percentage of reachable functions covered
42.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.
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 28
/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 19
/src/testdir/build/lua-master/source/ldebug.c 42
/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: 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 3049 61.8%
gold [1:9] 188 3.81%
yellow [10:29] 272 5.52%
greenyellow [30:49] 158 3.20%
lawngreen 50+ 1259 25.5%
All colors 4926 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
285 3086 luaV_tointegerns call site: 03086 luaG_traceexec
265 3693 LEnum call site: 03693 lessequalothers
152 4006 luaV_tonumber_ call site: 04006 luaG_forerror
147 2931 luaD_pcall call site: 02931 dothecall
145 1684 luaD_precall call site: 01684 luaD_growstack
136 1914 luaP_isIT call site: 01914 luaD_hook
122 4165 luaF_newLclosure call site: 04165 luaF_findupval
114 2668 luaH_pset call site: 02668 luaG_runerror
93 2237 luaH_get call site: 02237 luaG_runerror
87 577 genlink call site: 00577 traverseephemeron
87 1206 checkmajorminor call site: 01206 atomic2gen
75 2791 luaH_new call site: 02791 luaH_resize

Runtime coverage analysis

Covered functions
552
Functions that are reachable but not covered
170
Reachable functions
415
Percentage of reachable functions covered
59.04%
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 28
/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 19
/src/testdir/build/lua-master/source/ldebug.c 44
/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: 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 4137 90.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 0.13%
lawngreen 50+ 437 9.54%
All colors 4580 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
1095 2868 callallpendingfinalizers call site: 02868 GCTM
674 1155 separatetobefnz call site: 01155 propagateall
661 1838 luaS_new call site: 01838 luaG_runerror
401 434 freeobj call site: 00434 entergen
287 4003 luaV_tonumber_ call site: 04003 luaG_forerror
210 2572 luaH_resize call site: 02572 luaH_newkey
118 1033 internshrstr call site: 01033 luaM_toobig
100 284 luaF_closeupval call site: 00284 luaC_barrier_
95 4296 luaH_setint call site: 04296 luaH_newkey
75 2791 luaH_new call site: 02791 luaH_resize
71 856 luaF_close call site: 00856 prepcallclosemth
44 198 luaM_free_ call site: 00198 freeupval

Runtime coverage analysis

Covered functions
73
Functions that are reachable but not covered
298
Reachable functions
371
Percentage of reachable functions covered
19.68%
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 28
/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 19
/src/testdir/build/lua-master/source/ldebug.c 35
/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_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 600 8.27%
gold [1:9] 77 1.06%
yellow [10:29] 47 0.64%
greenyellow [30:49] 41 0.56%
lawngreen 50+ 6488 89.4%
All colors 7253 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
42 3576 luaV_equalobj call site: 03576 luaT_callTMres
21 2214 equalkey call site: 02214 luaS_eqstr
20 666 traversetable call site: 00666 traverseudata
18 579 genlink call site: 00579 traverseweakvalue
18 2447 luaH_finishset call site: 02447 luaS_normstr
15 4272 luaT_adjustvarargs call site: 04272 createvarargtab
13 603 iscleared call site: 00603 genlink
13 964 luaC_fullgc call site: 00964 luaD_throw
13 1973 luaV_execute call site: 01973 luaG_traceexec
12 1398 addnum2buff call site: 01398 addnum2buff
10 4891 loadAlign call site: 04891 getaddr_
10 5663 numarith call site: 05663 intarith

Runtime coverage analysis

Covered functions
1036
Functions that are reachable but not covered
55
Reachable functions
682
Percentage of reachable functions covered
91.94%
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 32
/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 19
/src/testdir/build/lua-master/source/ldebug.c 35
/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 107
/src/testdir/build/lua-master/source/lcode.c 108

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'] 162 0 17 3 2 403 0 5786 249
str_gsub /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 163 0 429 60 19 454 0 6113 228
io_lines /src/testdir/build/lua-master/source/liolib.c 1 ['N/A'] 165 0 95 12 5 456 0 6047 153
str_format /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 163 0 686 99 23 446 0 6059 135
luaB_loadfile /src/testdir/build/lua-master/source/lbaselib.c 1 ['N/A'] 162 0 48 3 2 689 0 8291 116
sort /src/testdir/build/lua-master/source/ltablib.c 1 ['N/A'] 161 0 76 12 5 402 0 5655 110
searcher_Croot /src/testdir/build/lua-master/source/loadlib.c 1 ['N/A'] 164 0 105 12 6 449 0 5995 90
str_pack /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 162 0 770 84 24 435 0 5985 83
__lua_getiuservalue(lua_State*,FuzzedDataProvider*) /src/testdir/tests/capi/torture_test.cc 2 ['N/A', 'N/A'] 42 0 54 7 2 341 0 5073 68
db_sethook /src/testdir/build/lua-master/source/ldblib.c 1 ['N/A'] 163 0 164 16 7 407 0 5745 51

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

Functions statically reachable by fuzzers
73.0%
975 / 1336
Cyclomatic complexity statically reachable by fuzzers
87.0%
11557 / 13308

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/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', 'GCTM', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaE_extendCI', 'newbuffsize', 'luaS_newlstr', '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', 'GCTM', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaE_extendCI', 'newbuffsize', 'luaS_newlstr', 'getgeneric', 'genlink']

/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', 'GCTM', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaE_extendCI', 'newbuffsize', 'luaS_newlstr', 'luaL_traceback', 'getgeneric']

/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', 'GCTM', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaE_extendCI', 'newbuffsize', 'luaS_newlstr', 'getgeneric', 'genlink']

/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', 'luaE_checkcstack', 'luaF_newproto', 'luaO_str2num', 'luaP_isIT', 'luaF_newLclosure', 'luaH_pset', 'luaD_pcall', 'luaH_get']

/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', 'GCTM', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaE_extendCI', 'newbuffsize', 'luaS_newlstr', 'getgeneric', 'genlink']

/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', 'luaH_finishset', 'forstat', 'luaT_adjustvarargs', 'f_call']

/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', 'checkmode', 'findfield', 'luaV_equalobj', 'lua_getinfo']

/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_execute', 'luaV_finishset', 'equalkey', 'traversetable', 'genlink', 'luaH_finishset', 'luaG_errormsg']

/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=['luaV_equalobj', 'equalkey', 'traversetable', 'genlink', 'luaH_finishset', 'luaT_adjustvarargs', 'typeerror', 'iscleared', 'luaC_fullgc', 'luaV_execute']

/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', 'checkmode', 'luaV_equalobj', 'precallC', 'luaV_execute', 'luaD_poscall']

/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', 'luaE_checkcstack', 'luaF_newproto', 'luaO_str2num', 'luaP_isIT', 'luaF_newLclosure', 'luaH_pset', 'luaD_pcall', 'luaH_get']

/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', 'GCTM', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaE_extendCI', 'newbuffsize', 'luaS_newlstr', 'getgeneric', 'genlink']

/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', 'luaV_tonumber_', 'luaD_pcall', 'luaD_precall', 'luaP_isIT', 'luaF_newLclosure', 'luaH_pset', 'luaH_get', 'genlink']

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

/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', 'equalkey', 'traversetable', 'genlink', 'luaH_finishset', 'luaT_adjustvarargs', 'iscleared', 'luaC_fullgc', 'luaV_execute', 'addnum2buff']

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_dostring_test', 'lua_load_test', 'luaL_loadbuffer_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::ConsumeField(google::protobuf::Message*) 199 82 41.20%
google::protobuf::TextFormat::Parser::ParserImpl::SkipFieldValue() 53 24 45.28%
google::protobuf::TextFormat::Parser::ParserImpl::ConsumeFieldValue(google::protobuf::Message*,google::protobuf::Reflectionconst*,google::protobuf::FieldDescriptorconst*) 118 44 37.28%
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/lutf8lib.c [] []
/src/testdir/tests/capi/luaL_dostring_test.c ['luaL_dostring_test'] ['luaL_dostring_test']
/src/testdir/tests/capi/luaL_loadbufferx_test.c ['luaL_loadbufferx_test'] ['luaL_loadbufferx_test']
/src/testdir/build/lua-master/source/ldebug.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_traceback_test', 'lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/ltable.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/ldump.c ['lua_dump_test'] ['lua_dump_test']
/src/testdir/build/lua-master/source/lopcodes.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'torture_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lapi.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lparser.c ['lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_dostring_test'] ['lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lundump.c ['lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_dostring_test'] ['lua_dump_test', 'luaL_loadstring_test', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbufferx_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/ldo.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lstate.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lmem.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/tests/capi/luaL_gsub_test.cc ['luaL_gsub_test'] ['luaL_gsub_test']
/src/testdir/build/lua-master/source/loadlib.c [] []
/src/testdir/build/lua-master/source/ldblib.c [] []
/src/testdir/tests/capi/lua_dump_test.c ['lua_dump_test'] ['lua_dump_test']
/src/testdir/tests/capi/luaL_loadstring_test.c ['luaL_loadstring_test'] ['luaL_loadstring_test']
/src/fuzz_lua.c ['fuzz_lua'] ['fuzz_lua']
/usr/local/bin/../include/c++/v1/string [] []
/src/testdir/tests/capi/luaL_loadbuffer_test.c ['luaL_loadbuffer_test'] ['luaL_loadbuffer_test']
/src/testdir/build/lua-master/source/lgc.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/ltablib.c [] []
/src/testdir/build/lua-master/source/loslib.c [] []
/src/testdir/build/lua-master/source/lobject.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lstring.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lfunc.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/tests/capi/luaL_buffsub_test.cc ['luaL_buffsub_test'] ['luaL_buffsub_test']
/src/testdir/build/lua-master/source/lcode.c ['lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_dostring_test'] ['lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/llex.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/tests/capi/luaL_loadbuffer_proto/luaL_loadbuffer_proto_test.cc ['luaL_loadbuffer_proto_test'] ['luaL_loadbuffer_proto_test']
/src/testdir/tests/capi/luaL_bufflen_test.c ['luaL_bufflen_test'] ['luaL_bufflen_test']
/src/testdir/tests/capi/luaL_addgsub_test.cc ['luaL_addgsub_test'] ['luaL_addgsub_test']
/src/testdir/build/lua-master/source/lvm.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lmathlib.c [] []
/src/testdir/build/lua-master/source/lzio.c ['lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_dostring_test'] ['lua_dump_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_dostring_test']
/src/testdir/tests/capi/luaL_traceback_test.c ['luaL_traceback_test'] ['luaL_traceback_test']
/src/testdir/build/lua-master/source/lbaselib.c [] []
/src/testdir/tests/capi/lua_load_test.cc ['lua_load_test'] ['lua_load_test']
/src/testdir/tests/capi/luaL_loadbuffer_proto/serializer.cc ['luaL_loadbuffer_proto_test'] ['luaL_loadbuffer_proto_test']
/src/testdir/build/lua-master/source/linit.c ['luaL_loadstring_test', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_dostring_test'] ['luaL_loadstring_test', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_dostring_test']
/src/testdir/build/lua-master/source/lstrlib.c [] []
/src/testdir/tests/capi/torture_test.cc ['torture_test'] ['torture_test']
/src/testdir/tests/capi/lua_stringtonumber_test.c ['lua_stringtonumber_test'] ['lua_stringtonumber_test']
/src/testdir/build/lua-master/source/liolib.c [] []
/src/testdir/tests/capi/luaL_buffaddr_test.c ['luaL_buffaddr_test'] ['luaL_buffaddr_test']
/src/testdir/build/lua-master/source/lauxlib.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_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/ltm.c ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test'] ['luaL_buffsub_test', 'luaL_bufflen_test', 'luaL_traceback_test', 'luaL_gsub_test', 'lua_dump_test', 'luaL_addgsub_test', 'luaL_loadstring_test', 'fuzz_lua', 'lua_load_test', 'luaL_loadbuffer_test', 'luaL_loadbuffer_proto_test', 'luaL_loadbufferx_test', 'luaL_buffaddr_test', 'torture_test', 'lua_stringtonumber_test', 'luaL_dostring_test']

Directories in report

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

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
luaL_buffsub_test fuzzerLogFile-0-Q2tRhIOU7g.data fuzzerLogFile-0-Q2tRhIOU7g.data.yaml luaL_buffsub_test.covreport
luaL_bufflen_test fuzzerLogFile-0-5fUUsChvG6.data fuzzerLogFile-0-5fUUsChvG6.data.yaml luaL_bufflen_test.covreport
luaL_traceback_test fuzzerLogFile-0-hevSHnIDvt.data fuzzerLogFile-0-hevSHnIDvt.data.yaml luaL_traceback_test.covreport
luaL_gsub_test fuzzerLogFile-0-CFmqVHmdej.data fuzzerLogFile-0-CFmqVHmdej.data.yaml luaL_gsub_test.covreport
lua_dump_test fuzzerLogFile-0-VoJhqIkWXu.data fuzzerLogFile-0-VoJhqIkWXu.data.yaml lua_dump_test.covreport
luaL_addgsub_test fuzzerLogFile-0-9cIbJHR4dn.data fuzzerLogFile-0-9cIbJHR4dn.data.yaml luaL_addgsub_test.covreport
luaL_loadstring_test fuzzerLogFile-0-ANzx8jj19q.data fuzzerLogFile-0-ANzx8jj19q.data.yaml luaL_loadstring_test.covreport
fuzz_lua fuzzerLogFile-0-pKtBAxJoxT.data fuzzerLogFile-0-pKtBAxJoxT.data.yaml fuzz_lua.covreport
lua_load_test fuzzerLogFile-0-VeLhwX1oFT.data fuzzerLogFile-0-VeLhwX1oFT.data.yaml lua_load_test.covreport
luaL_loadbuffer_test fuzzerLogFile-0-OSIvlI5FM8.data fuzzerLogFile-0-OSIvlI5FM8.data.yaml luaL_loadbuffer_test.covreport
luaL_loadbuffer_proto_test fuzzerLogFile-0-p4eSG8uFmp.data fuzzerLogFile-0-p4eSG8uFmp.data.yaml luaL_loadbuffer_proto_test.covreport
luaL_loadbufferx_test fuzzerLogFile-0-dvijiebGd6.data fuzzerLogFile-0-dvijiebGd6.data.yaml luaL_loadbufferx_test.covreport
luaL_buffaddr_test fuzzerLogFile-0-slQ8XChZat.data fuzzerLogFile-0-slQ8XChZat.data.yaml luaL_buffaddr_test.covreport
torture_test fuzzerLogFile-0-m5iWdtHiZc.data fuzzerLogFile-0-m5iWdtHiZc.data.yaml torture_test.covreport
lua_stringtonumber_test fuzzerLogFile-0-7JB3ujYYgw.data fuzzerLogFile-0-7JB3ujYYgw.data.yaml lua_stringtonumber_test.covreport
luaL_dostring_test fuzzerLogFile-0-1nLP0AV5DM.data fuzzerLogFile-0-1nLP0AV5DM.data.yaml luaL_dostring_test.covreport