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_gsub_test /src/testdir/tests/capi/luaL_gsub_test.cc 431 460 50 16 26317 5885 luaL_gsub_test.cc
luaL_traceback_test /src/testdir/tests/capi/luaL_traceback_test.c 443 439 50 16 26886 5981 luaL_traceback_test.c
luaL_addgsub_test /src/testdir/tests/capi/luaL_addgsub_test.cc 429 462 50 16 26301 5870 luaL_addgsub_test.cc
luaL_bufflen_test /src/testdir/tests/capi/luaL_bufflen_test.c 427 455 50 16 26262 5827 luaL_bufflen_test.c
lua_dump_test /src/testdir/tests/capi/lua_dump_test.c 676 207 50 21 33818 7987 lua_dump_test.c
luaL_loadbufferx_test /src/testdir/tests/capi/luaL_loadbufferx_test.c 656 226 50 20 33250 7842 luaL_loadbufferx_test.c
luaL_buffsub_test /src/testdir/tests/capi/luaL_buffsub_test.cc 426 465 50 16 26276 5850 luaL_buffsub_test.cc
fuzz_lua /src/fuzz_lua.c 749 141 50 20 37421 8744 fuzz_lua.c
lua_stringtonumber_test /src/testdir/tests/capi/lua_stringtonumber_test.c 368 514 50 16 23213 5186 lua_stringtonumber_test.c
lua_load_test /src/testdir/tests/capi/lua_load_test.cc 678 555 50 21 34611 8122 lua_load_test.cc
luaL_loadbuffer_test /src/testdir/tests/capi/luaL_loadbuffer_test.c 678 544 50 21 34601 8120 luaL_loadbuffer_test.c
luaL_buffaddr_test /src/testdir/tests/capi/luaL_buffaddr_test.c 427 455 50 16 26262 5828 luaL_buffaddr_test.c
luaL_dostring_test /src/testdir/tests/capi/luaL_dostring_test.c 679 543 50 21 34610 8124 luaL_dostring_test.c
torture_test /src/testdir/tests/capi/torture_test.cc 412 596 50 16 25438 5663 torture_test.cc
luaL_loadstring_test /src/testdir/tests/capi/luaL_loadstring_test.c 679 543 50 21 34610 8124 luaL_loadstring_test.c
luaL_loadbuffer_proto_test /src/testdir/tests/capi/luaL_loadbuffer_proto/luaL_loadbuffer_proto_test.cc 842 594 51 22 36545 9513 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: 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 3685 73.2%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1344 26.7%
All colors 5029 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
745 3517 luaF_newtbcupval call site: 03517 luaG_traceexec
643 2858 luaH_new call site: 02858 luaH_resize
207 1925 luaS_new call site: 01925 luaG_runerror
184 2665 luaV_finishset call site: 02665 luaG_typeerror
157 1757 luaD_precall call site: 01757 luaD_growstack
123 1370 luaD_callnoyield call site: 01370 luaE_checkcstack
123 1505 luaS_newlstr call site: 01505 luaD_throw
114 4548 newbuffsize call site: 04548 luaL_error
94 2311 getgeneric call site: 02311 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
244
Reachable functions
431
Percentage of reachable functions covered
43.39%
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 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: 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 3804 74.0%
gold [1:9] 1 0.01%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.23%
lawngreen 50+ 1320 25.6%
All colors 5137 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
745 3517 luaF_newtbcupval call site: 03517 luaG_traceexec
643 2858 luaH_new call site: 02858 luaH_resize
207 1925 luaS_new call site: 01925 luaG_runerror
184 2665 luaV_finishset call site: 02665 luaG_typeerror
157 1757 luaD_precall call site: 01757 luaD_growstack
123 1369 luaD_callnoyield call site: 01369 luaE_checkcstack
123 1504 luaS_newlstr call site: 01504 luaD_throw
115 4937 luaL_traceback call site: 04937 luaL_addvalue
113 4538 newbuffsize call site: 04538 luaL_error
94 2311 getgeneric call site: 02311 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
256
Reachable functions
443
Percentage of reachable functions covered
42.21%
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 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_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 3688 73.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1336 26.5%
All colors 5024 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
745 3519 luaF_newtbcupval call site: 03519 luaG_traceexec
643 2860 luaH_new call site: 02860 luaH_resize
207 1927 luaS_new call site: 01927 luaG_runerror
184 2667 luaV_finishset call site: 02667 luaG_typeerror
157 1759 luaD_precall call site: 01759 luaD_growstack
123 1371 luaD_callnoyield call site: 01371 luaE_checkcstack
123 1506 luaS_newlstr call site: 01506 luaD_throw
114 4531 newbuffsize call site: 04531 luaL_error
94 2313 getgeneric call site: 02313 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
245
Reachable functions
429
Percentage of reachable functions covered
42.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/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 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 3689 73.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.23%
lawngreen 50+ 1309 26.1%
All colors 5010 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
745 3519 luaF_newtbcupval call site: 03519 luaG_traceexec
643 2860 luaH_new call site: 02860 luaH_resize
207 1927 luaS_new call site: 01927 luaG_runerror
184 2667 luaV_finishset call site: 02667 luaG_typeerror
157 1759 luaD_precall call site: 01759 luaD_growstack
123 1371 luaD_callnoyield call site: 01371 luaE_checkcstack
123 1506 luaS_newlstr call site: 01506 luaD_throw
114 4529 newbuffsize call site: 04529 luaL_error
94 2313 getgeneric call site: 02313 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
244
Reachable functions
427
Percentage of reachable functions covered
42.86%
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 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: 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 3378 47.3%
gold [1:9] 35 0.49%
yellow [10:29] 24 0.33%
greenyellow [30:49] 29 0.40%
lawngreen 50+ 3671 51.4%
All colors 7137 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
467 3066 luaV_tointegerns call site: 03066 luaG_traceexec
387 3551 luaV_equalobj call site: 03551 luaT_callTMres
271 1643 luaD_reallocstack call site: 01643 luaD_reallocstack
173 4628 luaF_newproto call site: 04628 loadFunction
159 2858 luaH_new call site: 02858 luaH_resize
157 3968 luaO_str2num call site: 03968 luaG_forerror
137 1995 luaP_isIT call site: 01995 luaD_hook
127 4132 luaF_newLclosure call site: 04132 luaF_findupval
112 2737 luaH_pset call site: 02737 luaG_runerror
93 2312 luaH_get call site: 02312 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen

Runtime coverage analysis

Covered functions
476
Functions that are reachable but not covered
206
Reachable functions
676
Percentage of reachable functions covered
69.53%
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 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_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 3376 48.1%
gold [1:9] 26 0.37%
yellow [10:29] 15 0.21%
greenyellow [30:49] 29 0.41%
lawngreen 50+ 3572 50.8%
All colors 7018 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
467 3066 luaV_tointegerns call site: 03066 luaG_traceexec
387 3551 luaV_equalobj call site: 03551 luaT_callTMres
271 1643 luaD_reallocstack call site: 01643 luaD_reallocstack
173 4622 luaF_newproto call site: 04622 loadFunction
159 2858 luaH_new call site: 02858 luaH_resize
157 3968 luaO_str2num call site: 03968 luaG_forerror
137 1995 luaP_isIT call site: 01995 luaD_hook
127 4132 luaF_newLclosure call site: 04132 luaF_findupval
112 2737 luaH_pset call site: 02737 luaG_runerror
93 2312 luaH_get call site: 02312 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen

Runtime coverage analysis

Covered functions
459
Functions that are reachable but not covered
203
Reachable functions
656
Percentage of reachable functions covered
69.05%
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 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_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 3687 73.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1325 26.4%
All colors 5012 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
745 3519 luaF_newtbcupval call site: 03519 luaG_traceexec
643 2860 luaH_new call site: 02860 luaH_resize
207 1927 luaS_new call site: 01927 luaG_runerror
184 2667 luaV_finishset call site: 02667 luaG_typeerror
157 1759 luaD_precall call site: 01759 luaD_growstack
123 1371 luaD_callnoyield call site: 01371 luaE_checkcstack
123 1506 luaS_newlstr call site: 01506 luaD_throw
114 4529 newbuffsize call site: 04529 luaL_error
94 2313 getgeneric call site: 02313 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
244
Reachable functions
426
Percentage of reachable functions covered
42.72%
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 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: 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 2719 35.4%
gold [1:9] 351 4.57%
yellow [10:29] 191 2.48%
greenyellow [30:49] 112 1.45%
lawngreen 50+ 4305 56.0%
All colors 7678 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
129 3796 luaV_execute call site: 03796 luaD_pretailcall
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen
84 7465 pushfuncname call site: 07465 pushglobalfuncname
81 4714 luaS_newextlstr call site: 04714 loadProtos
79 4622 luaF_newproto call site: 04622 loadFunction
69 2868 luaV_execute call site: 02868 youngcollection
63 4017 luaV_execute call site: 04017 luaF_newtbcupval
62 4530 checkmode call site: 04530 luaU_undump
60 4167 luaV_execute call site: 04167 luaT_getvarargs
50 6547 checktoclose call site: 06547 globalstatfunc
49 3551 luaV_equalobj call site: 03551 luaT_callTMres

Runtime coverage analysis

Covered functions
572
Functions that are reachable but not covered
184
Reachable functions
749
Percentage of reachable functions covered
75.43%
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 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_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 4094 90.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 0.13%
lawngreen 50+ 439 9.67%
All colors 4539 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
1080 2858 luaH_new call site: 02858 luaH_resize
649 1925 luaS_new call site: 01925 luaG_runerror
615 1299 callallpendingfinalizers call site: 01299 GCTM
399 436 freeobj call site: 00436 entergen
289 3973 luaV_tonumber_ call site: 03973 luaG_forerror
204 2645 luaH_resize call site: 02645 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_
76 4268 luaH_setint call site: 04268 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
295
Reachable functions
368
Percentage of reachable functions covered
19.84%
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 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: 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 964 13.3%
gold [1:9] 63 0.87%
yellow [10:29] 39 0.54%
greenyellow [30:49] 73 1.01%
lawngreen 50+ 6081 84.2%
All colors 7220 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 4910 luaS_newextlstr call site: 04910 loadProtos
76 4820 luaF_newproto call site: 04820 loadFunction
41 3551 luaV_equalobj call site: 03551 luaT_callTMres
40 4187 luaV_execute call site: 04187 luaG_traceexec
31 2669 luaV_finishset call site: 02669 luaT_callTM
23 3812 luaD_pretailcall call site: 03812 precallC
21 2289 equalkey call site: 02289 luaS_eqstr
20 669 traversetable call site: 00669 traverseudata
20 1120 atomic call site: 01120 iscleared
18 582 genlink call site: 00582 traverseweakvalue
18 2520 luaH_finishset call site: 02520 luaS_normstr
18 6717 globalstatfunc call site: 06717 globalfunc

Runtime coverage analysis

Covered functions
931
Functions that are reachable but not covered
78
Reachable functions
678
Percentage of reachable functions covered
88.5%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
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 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 519 7.19%
gold [1:9] 98 1.35%
yellow [10:29] 14 0.19%
greenyellow [30:49] 8 0.11%
lawngreen 50+ 6577 91.1%
All colors 7216 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 3551 luaV_equalobj call site: 03551 luaT_callTMres
27 4187 luaV_execute call site: 04187 luaG_traceexec
21 2289 equalkey call site: 02289 luaS_eqstr
20 668 traversetable call site: 00668 traverseudata
18 581 genlink call site: 00581 traverseweakvalue
18 2520 luaH_finishset call site: 02520 luaS_normstr
15 4244 luaT_adjustvarargs call site: 04244 createvarargtab
13 605 iscleared call site: 00605 genlink
13 964 luaC_fullgc call site: 00964 luaD_throw
13 2054 luaV_execute call site: 02054 luaG_traceexec
12 1447 addnum2buff call site: 01447 addnum2buff
12 1935 typeerror call site: 01935 luaG_runerror

Runtime coverage analysis

Covered functions
964
Functions that are reachable but not covered
53
Reachable functions
678
Percentage of reachable functions covered
92.18%
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 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_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 3689 73.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.23%
lawngreen 50+ 1309 26.1%
All colors 5010 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
745 3519 luaF_newtbcupval call site: 03519 luaG_traceexec
643 2860 luaH_new call site: 02860 luaH_resize
207 1927 luaS_new call site: 01927 luaG_runerror
184 2667 luaV_finishset call site: 02667 luaG_typeerror
157 1759 luaD_precall call site: 01759 luaD_growstack
123 1371 luaD_callnoyield call site: 01371 luaE_checkcstack
123 1506 luaS_newlstr call site: 01506 luaD_throw
114 4529 newbuffsize call site: 04529 luaL_error
94 2313 getgeneric call site: 02313 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
244
Reachable functions
427
Percentage of reachable functions covered
42.86%
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 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_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 601 8.32%
gold [1:9] 77 1.06%
yellow [10:29] 80 1.10%
greenyellow [30:49] 54 0.74%
lawngreen 50+ 6408 88.7%
All colors 7220 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 3551 luaV_equalobj call site: 03551 luaT_callTMres
40 4187 luaV_execute call site: 04187 luaG_traceexec
21 2289 equalkey call site: 02289 luaS_eqstr
20 668 traversetable call site: 00668 traverseudata
18 581 genlink call site: 00581 traverseweakvalue
18 2520 luaH_finishset call site: 02520 luaS_normstr
14 4245 luaT_adjustvarargs call site: 04245 createvarargtab
13 605 iscleared call site: 00605 genlink
13 964 luaC_fullgc call site: 00964 luaD_throw
13 2054 luaV_execute call site: 02054 luaG_traceexec
12 1447 addnum2buff call site: 01447 addnum2buff
10 4849 loadAlign call site: 04849 getaddr_

Runtime coverage analysis

Covered functions
1028
Functions that are reachable but not covered
55
Reachable functions
679
Percentage of reachable functions covered
91.9%
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 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: 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 3003 61.4%
gold [1:9] 196 4.01%
yellow [10:29] 278 5.69%
greenyellow [30:49] 133 2.72%
lawngreen 50+ 1273 26.0%
All colors 4883 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 3066 luaV_tointegerns call site: 03066 luaG_traceexec
260 3672 LEnum call site: 03672 lessequalothers
200 2858 luaH_new call site: 02858 luaH_resize
157 1757 luaD_precall call site: 01757 luaD_growstack
149 3976 luaV_tonumber_ call site: 03976 luaG_forerror
137 1995 luaP_isIT call site: 01995 luaD_hook
127 4132 luaF_newLclosure call site: 04132 luaF_findupval
114 2735 luaH_pset call site: 02735 luaG_runerror
93 2312 luaH_get call site: 02312 luaG_runerror
87 579 genlink call site: 00579 traverseephemeron
87 1203 checkmajorminor call site: 01203 atomic2gen
68 1925 luaS_new call site: 01925 luaG_runerror

Runtime coverage analysis

Covered functions
552
Functions that are reachable but not covered
167
Reachable functions
412
Percentage of reachable functions covered
59.47%
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 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: 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 814 11.2%
gold [1:9] 81 1.12%
yellow [10:29] 116 1.60%
greenyellow [30:49] 84 1.16%
lawngreen 50+ 6125 84.8%
All colors 7220 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 3551 luaV_equalobj call site: 03551 luaT_callTMres
40 4187 luaV_execute call site: 04187 luaG_traceexec
21 1447 addnum2buff call site: 01447 addnum2buff
21 2289 equalkey call site: 02289 luaS_eqstr
20 668 traversetable call site: 00668 traverseudata
18 581 genlink call site: 00581 traverseweakvalue
18 2520 luaH_finishset call site: 02520 luaS_normstr
18 6450 forstat call site: 06450 repeatstat
16 2054 luaV_execute call site: 02054 luaG_traceexec
15 4244 luaT_adjustvarargs call site: 04244 createvarargtab
14 7200 f_call call site: 07200 luaD_call
13 605 iscleared call site: 00605 genlink

Runtime coverage analysis

Covered functions
952
Functions that are reachable but not covered
65
Reachable functions
679
Percentage of reachable functions covered
90.43%
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 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 1104 14.8%
gold [1:9] 18 0.24%
yellow [10:29] 0 0.0%
greenyellow [30:49] 41 0.55%
lawngreen 50+ 6274 84.3%
All colors 7437 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 5126 luaS_newextlstr call site: 05126 loadProtos
76 5037 luaF_newproto call site: 05037 loadFunction
41 3552 luaV_equalobj call site: 03552 luaT_callTMres
28 2781 luaV_execute call site: 02781 luaV_finishset
27 4188 luaV_execute call site: 04188 luaG_traceexec
23 1670 precallC call site: 01670 luaD_hook
23 2345 luaV_execute call site: 02345 luaV_finishget
21 1084 remarkupvals call site: 01084 reallymarkobject
21 2290 equalkey call site: 02290 luaS_eqstr
20 671 traversetable call site: 00671 traverseudata
20 1122 atomic call site: 01122 iscleared

Runtime coverage analysis

Covered functions
3467
Functions that are reachable but not covered
97
Reachable functions
842
Percentage of reachable functions covered
88.48%
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 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 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 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'] 208 0 17 3 2 400 0 5738 249
str_gsub /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 173 0 418 57 18 451 0 6063 227
io_lines /src/testdir/build/lua-master/source/liolib.c 1 ['N/A'] 175 0 95 12 5 453 0 5998 153
str_format /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 173 0 686 99 23 443 0 6010 135
luaB_loadfile /src/testdir/build/lua-master/source/lbaselib.c 1 ['N/A'] 172 0 48 3 2 686 0 8237 116
sort /src/testdir/build/lua-master/source/ltablib.c 1 ['N/A'] 171 0 76 12 5 399 0 5607 110
searcher_Croot /src/testdir/build/lua-master/source/loadlib.c 1 ['N/A'] 174 0 105 12 6 446 0 5946 90
str_pack /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 172 0 770 84 24 432 0 5936 83
__lua_getiuservalue(lua_State*,FuzzedDataProvider*) /src/testdir/tests/capi/torture_test.cc 2 ['N/A', 'N/A'] 41 0 54 7 2 338 0 5025 68
db_sethook /src/testdir/build/lua-master/source/ldblib.c 1 ['N/A'] 173 0 164 16 7 404 0 5697 51

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

Functions statically reachable by fuzzers
73.0%
971 / 1332
Cyclomatic complexity statically reachable by fuzzers
87.0%
11489 / 13239

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_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', 'luaD_callnoyield', 'luaS_newlstr', 'newbuffsize', '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', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaD_callnoyield', 'luaS_newlstr', 'luaL_traceback', 'newbuffsize', 'getgeneric']

/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', 'luaD_callnoyield', 'luaS_newlstr', 'newbuffsize', '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', 'luaD_callnoyield', 'luaS_newlstr', 'newbuffsize', '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', 'luaD_reallocstack', 'luaF_newproto', 'luaH_new', 'luaO_str2num', 'luaP_isIT', 'luaF_newLclosure', 'luaH_pset', 'luaH_get']

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

/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', 'luaD_callnoyield', 'luaS_newlstr', 'newbuffsize', '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=['luaV_execute', 'genlink', 'checkmajorminor', 'pushfuncname', 'luaS_newextlstr', 'luaF_newproto', 'checkmode']

/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/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', 'luaD_pretailcall', 'equalkey', 'traversetable', 'atomic', 'genlink']

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

/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', 'luaD_callnoyield', 'luaS_newlstr', 'newbuffsize', 'getgeneric', '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']

/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', 'luaH_new', 'luaD_precall', 'luaV_tonumber_', 'luaP_isIT', 'luaF_newLclosure', 'luaH_pset', 'luaH_get', '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', 'addnum2buff', 'equalkey', 'traversetable', 'genlink', 'luaH_finishset', 'forstat', 'luaT_adjustvarargs']

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

Directories in report

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

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_gsub_test fuzzerLogFile-0-2XcUJg493R.data fuzzerLogFile-0-2XcUJg493R.data.yaml luaL_gsub_test.covreport
luaL_traceback_test fuzzerLogFile-0-2iFuRKNd6E.data fuzzerLogFile-0-2iFuRKNd6E.data.yaml luaL_traceback_test.covreport
luaL_addgsub_test fuzzerLogFile-0-Zm8zXtxhaO.data fuzzerLogFile-0-Zm8zXtxhaO.data.yaml luaL_addgsub_test.covreport
luaL_bufflen_test fuzzerLogFile-0-FjHusM9ODX.data fuzzerLogFile-0-FjHusM9ODX.data.yaml luaL_bufflen_test.covreport
lua_dump_test fuzzerLogFile-0-iP0zIB9S86.data fuzzerLogFile-0-iP0zIB9S86.data.yaml lua_dump_test.covreport
luaL_loadbufferx_test fuzzerLogFile-0-G2AbUSCsLt.data fuzzerLogFile-0-G2AbUSCsLt.data.yaml luaL_loadbufferx_test.covreport
luaL_buffsub_test fuzzerLogFile-0-MeF3b4aaLE.data fuzzerLogFile-0-MeF3b4aaLE.data.yaml luaL_buffsub_test.covreport
fuzz_lua fuzzerLogFile-0-1Tx74Z8frr.data fuzzerLogFile-0-1Tx74Z8frr.data.yaml fuzz_lua.covreport
lua_stringtonumber_test fuzzerLogFile-0-OElmW5AfWa.data fuzzerLogFile-0-OElmW5AfWa.data.yaml lua_stringtonumber_test.covreport
lua_load_test fuzzerLogFile-0-YsbE9s9lvn.data fuzzerLogFile-0-YsbE9s9lvn.data.yaml lua_load_test.covreport
luaL_loadbuffer_test fuzzerLogFile-0-jjIHNiZhob.data fuzzerLogFile-0-jjIHNiZhob.data.yaml luaL_loadbuffer_test.covreport
luaL_buffaddr_test fuzzerLogFile-0-9FoyJLQGu6.data fuzzerLogFile-0-9FoyJLQGu6.data.yaml luaL_buffaddr_test.covreport
luaL_dostring_test fuzzerLogFile-0-V4xHllaNrj.data fuzzerLogFile-0-V4xHllaNrj.data.yaml luaL_dostring_test.covreport
torture_test fuzzerLogFile-0-lHqJTLn0we.data fuzzerLogFile-0-lHqJTLn0we.data.yaml torture_test.covreport
luaL_loadstring_test fuzzerLogFile-0-cKcHxfxZM6.data fuzzerLogFile-0-cKcHxfxZM6.data.yaml luaL_loadstring_test.covreport
luaL_loadbuffer_proto_test fuzzerLogFile-0-pSTSEZX1xz.data fuzzerLogFile-0-pSTSEZX1xz.data.yaml luaL_loadbuffer_proto_test.covreport