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 421 457 50 16 25607 5718 luaL_buffsub_test.cc
luaL_buffaddr_test /src/testdir/tests/capi/luaL_buffaddr_test.c 422 447 50 16 25593 5696 luaL_buffaddr_test.c
luaL_gsub_test /src/testdir/tests/capi/luaL_gsub_test.cc 426 452 50 16 25648 5753 luaL_gsub_test.cc
lua_stringtonumber_test /src/testdir/tests/capi/lua_stringtonumber_test.c 362 507 50 16 22527 5050 lua_stringtonumber_test.c
lua_dump_test /src/testdir/tests/capi/lua_dump_test.c 664 206 50 21 32973 7800 lua_dump_test.c
luaL_traceback_test /src/testdir/tests/capi/luaL_traceback_test.c 438 431 50 16 26217 5849 luaL_traceback_test.c
luaL_dostring_test /src/testdir/tests/capi/luaL_dostring_test.c 667 546 50 21 33765 7937 luaL_dostring_test.c
fuzz_lua /src/fuzz_lua.c 737 140 50 20 36576 8557 fuzz_lua.c
luaL_loadbuffer_test /src/testdir/tests/capi/luaL_loadbuffer_test.c 666 547 50 21 33756 7933 luaL_loadbuffer_test.c
luaL_addgsub_test /src/testdir/tests/capi/luaL_addgsub_test.cc 424 454 50 16 25632 5738 luaL_addgsub_test.cc
luaL_loadbuffer_proto_test /src/testdir/tests/capi/luaL_loadbuffer_proto/luaL_loadbuffer_proto_test.cc 899 532 51 23 38538 9960 luaL_loadbuffer_proto_test.cc
luaL_bufflen_test /src/testdir/tests/capi/luaL_bufflen_test.c 422 447 50 16 25593 5695 luaL_bufflen_test.c
luaL_loadbufferx_test /src/testdir/tests/capi/luaL_loadbufferx_test.c 644 225 50 20 32405 7655 luaL_loadbufferx_test.c
luaL_loadstring_test /src/testdir/tests/capi/luaL_loadstring_test.c 667 546 50 21 33765 7937 luaL_loadstring_test.c
lua_load_test /src/testdir/tests/capi/lua_load_test.cc 666 558 50 21 33766 7935 lua_load_test.cc
torture_test /src/testdir/tests/capi/torture_test.cc 406 589 50 16 24752 5527 torture_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_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 3649 73.9%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1288 26.0%
All colors 4937 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4793 9542 4 :

['luaC_step', 'luaF_newCclosure', '__asan_memcpy', '__asan_report_load1']

4865 9614 lua_pushcclosure call site: 04743 /src/testdir/build/lua-master/source/lapi.c:605
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01205 /src/testdir/build/lua-master/source/lgc.c:1472
4751 4751 1 :

['f_pintern']

9502 9517 luaS_newextlstr call site: 04870 /src/testdir/build/lua-master/source/lstring.c:327
4751 4751 2 :

['__asan_report_load4', 'luaS_resize']

4751 4751 checkSizes call site: 01294 /src/testdir/build/lua-master/source/lgc.c:937
4751 4751 2 :

['__asan_handle_no_return', 'luaD_throw']

4751 4751 luaS_newextlstr call site: 04885 /src/testdir/build/lua-master/source/lstring.c:346
4751 4751 2 :

['luaG_runerror', '__asan_handle_no_return']

4751 4751 setnodevector call site: 02570 /src/testdir/build/lua-master/source/ltable.c:601
4749 4749 1 :

['growstrtab']

4781 9530 internshrstr call site: 00948 /src/testdir/build/lua-master/source/lstring.c:231
4749 4749 1 :

['luaD_growstack']

4757 4757 lua_checkstack call site: 04731 /src/testdir/build/lua-master/source/lapi.c:115
4749 4749 1 :

['luaV_execute']

4753 4753 ccall call site: 00927 /src/testdir/build/lua-master/source/ldo.c:745
4749 4749 1 :

['luaG_runerror']

4751 4751 luaH_resize call site: 02564 /src/testdir/build/lua-master/source/ltable.c:711
4749 4749 1 :

['luaD_call']

4749 4749 callclosemethod call site: 00921 /src/testdir/build/lua-master/source/lfunc.c:116
176 176 1 :

['reinsertOldSlice']

4935 9981 luaH_resize call site: 02567 /src/testdir/build/lua-master/source/ltable.c:716

Runtime coverage analysis

Covered functions
184
Functions that are reachable but not covered
241
Reachable functions
421
Percentage of reachable functions covered
42.76%
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 20
/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 56
/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 15
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 34

Fuzzer: luaL_buffaddr_test

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 3631 73.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 11 0.22%
lawngreen 50+ 1296 26.2%
All colors 4938 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4793 9542 4 :

['luaC_step', 'luaF_newCclosure', '__asan_memcpy', '__asan_report_load1']

4865 9614 lua_pushcclosure call site: 04743 /src/testdir/build/lua-master/source/lapi.c:605
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01205 /src/testdir/build/lua-master/source/lgc.c:1472
4751 4751 1 :

['f_pintern']

9502 9517 luaS_newextlstr call site: 04871 /src/testdir/build/lua-master/source/lstring.c:327
4751 4751 2 :

['__asan_report_load4', 'luaS_resize']

4751 4751 checkSizes call site: 01294 /src/testdir/build/lua-master/source/lgc.c:937
4751 4751 2 :

['__asan_handle_no_return', 'luaD_throw']

4751 4751 luaS_newextlstr call site: 04886 /src/testdir/build/lua-master/source/lstring.c:346
4751 4751 2 :

['luaG_runerror', '__asan_handle_no_return']

4751 4751 setnodevector call site: 02570 /src/testdir/build/lua-master/source/ltable.c:601
4749 4749 1 :

['growstrtab']

4781 9530 internshrstr call site: 00948 /src/testdir/build/lua-master/source/lstring.c:231
4749 4749 1 :

['luaD_growstack']

4757 4757 lua_checkstack call site: 04731 /src/testdir/build/lua-master/source/lapi.c:115
4749 4749 1 :

['luaV_execute']

4753 4753 ccall call site: 00927 /src/testdir/build/lua-master/source/ldo.c:745
4749 4749 1 :

['luaG_runerror']

4751 4751 luaH_resize call site: 02564 /src/testdir/build/lua-master/source/ltable.c:711
4749 4749 1 :

['luaD_call']

4749 4749 callclosemethod call site: 00921 /src/testdir/build/lua-master/source/lfunc.c:116
176 176 1 :

['reinsertOldSlice']

4935 9981 luaH_resize call site: 02567 /src/testdir/build/lua-master/source/ltable.c:716

Runtime coverage analysis

Covered functions
186
Functions that are reachable but not covered
240
Reachable functions
422
Percentage of reachable functions covered
43.13%
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 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 56
/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 15
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 34

Fuzzer: luaL_gsub_test

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 3631 73.2%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1325 26.7%
All colors 4956 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4793 9542 4 :

['luaC_step', 'luaF_newCclosure', '__asan_memcpy', '__asan_report_load1']

4865 9614 lua_pushcclosure call site: 04756 /src/testdir/build/lua-master/source/lapi.c:605
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01204 /src/testdir/build/lua-master/source/lgc.c:1472
4751 4751 1 :

['f_pintern']

9502 9517 luaS_newextlstr call site: 04887 /src/testdir/build/lua-master/source/lstring.c:327
4751 4751 2 :

['__asan_report_load4', 'luaS_resize']

4751 4751 checkSizes call site: 01293 /src/testdir/build/lua-master/source/lgc.c:937
4751 4751 2 :

['__asan_handle_no_return', 'luaD_throw']

4751 4751 luaS_newextlstr call site: 04902 /src/testdir/build/lua-master/source/lstring.c:346
4751 4751 2 :

['luaG_runerror', '__asan_handle_no_return']

4751 4751 setnodevector call site: 02568 /src/testdir/build/lua-master/source/ltable.c:601
4749 4749 1 :

['growstrtab']

4781 9530 internshrstr call site: 00947 /src/testdir/build/lua-master/source/lstring.c:231
4749 4749 1 :

['luaD_growstack']

4757 4757 lua_checkstack call site: 04744 /src/testdir/build/lua-master/source/lapi.c:115
4749 4749 1 :

['luaV_execute']

4753 4753 ccall call site: 00926 /src/testdir/build/lua-master/source/ldo.c:745
4749 4749 1 :

['luaG_runerror']

4751 4751 luaH_resize call site: 02562 /src/testdir/build/lua-master/source/ltable.c:711
4749 4749 1 :

['luaD_call']

4749 4749 callclosemethod call site: 00920 /src/testdir/build/lua-master/source/lfunc.c:116
176 176 1 :

['reinsertOldSlice']

4935 9981 luaH_resize call site: 02565 /src/testdir/build/lua-master/source/ltable.c:716

Runtime coverage analysis

Covered functions
190
Functions that are reachable but not covered
240
Reachable functions
426
Percentage of reachable functions covered
43.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/testdir/tests/capi/luaL_gsub_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 56
/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 15
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 35

Fuzzer: 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 4022 90.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 0.13%
lawngreen 50+ 438 9.80%
All colors 4466 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
9508 9508 6 :

['__asan_report_load8', '__asan_handle_no_return', 'luaM_toobig', '__asan_memcpy', '__asan_report_load1', 'luaS_createlngstrobj']

9508 9508 luaS_newlstr call site: 00931 /src/testdir/build/lua-master/source/lstring.c:250
4799 4799 4 :

['getintfromhash', 'rawfinishnodeset', '__asan_report_store8', 'luaH_newkey']

4801 4801 luaH_setint call site: 04261 /src/testdir/build/lua-master/source/ltable.c:1190
4759 14262 6 :

['__asan_report_load8', '__asan_handle_no_return', '__asan_report_store4', 'luaO_ceillog2', 'luaM_malloc_', 'luaG_runerror']

4773 14276 setnodevector call site: 02565 /src/testdir/build/lua-master/source/ltable.c:593
4749 4749 1 :

['growstrtab']

4781 9530 internshrstr call site: 00946 /src/testdir/build/lua-master/source/lstring.c:231
4749 4749 1 :

['luaG_runerror']

4751 4751 luaH_resize call site: 02562 /src/testdir/build/lua-master/source/ltable.c:711
176 176 1 :

['reinsertOldSlice']

4935 9981 luaH_resize call site: 02565 /src/testdir/build/lua-master/source/ltable.c:716
6 16 5 :

['__asan_report_load8', '__asan_handle_no_return', 'luaM_free_', 'concretesize', '__asan_memcpy']

6 16 resizearray call site: 00260 /src/testdir/build/lua-master/source/ltable.c:570
2 2 1 :

['__asan_report_store1']

9504 9504 luaC_changemode call site: 04335 /src/testdir/build/lua-master/source/lgc.c:1442
0 4770 1 :

['close_state']

0 4770 lua_newstate call site: 00087 /src/testdir/build/lua-master/source/lstate.c:382
0 0 None 212 212 reinserthash call site: 02612 /src/testdir/build/lua-master/source/ltable.c:632
0 0 None 38 38 index2value call site: 04375 /src/testdir/build/lua-master/source/lapi.c:66
0 0 None 22 9576 close_state call site: 04331 /src/testdir/build/lua-master/source/lstate.c:257

Runtime coverage analysis

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

Files reached

filename functions hit
/src/testdir/tests/capi/lua_stringtonumber_test.c 1
/src/testdir/build/lua-master/source/lauxlib.c 8
/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 52
/src/testdir/build/lua-master/source/lfunc.c 14
/src/testdir/build/lua-master/source/lstring.c 15
/src/testdir/build/lua-master/source/ltm.c 15
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 9

Fuzzer: 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 3291 47.1%
gold [1:9] 34 0.48%
yellow [10:29] 33 0.47%
greenyellow [30:49] 9 0.12%
lawngreen 50+ 3617 51.7%
All colors 6984 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4773 9522 5 :

['__asan_report_load1', 'luaE_resetthread', 'luaD_throw', '__asan_memcpy', 'abort']

4807 9556 luaD_throw call site: 00829 /src/testdir/build/lua-master/source/ldo.c:118
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01203 /src/testdir/build/lua-master/source/lgc.c:1472
4753 4753 2 :

['luaD_callnoyield', '__asan_memcpy']

4887 14385 luaG_errormsg call site: 01589 /src/testdir/build/lua-master/source/ldebug.c:833
4751 4751 2 :

['__asan_report_load4', 'luaD_errerr']

4753 4753 luaE_checkcstack call site: 01371 /src/testdir/build/lua-master/source/lstate.c:132
176 176 1 :

['reinsertOldSlice']

186 9981 luaH_resize call site: 02565 /src/testdir/build/lua-master/source/ltable.c:716
28 4799 4 :

['getintfromhash', 'rawfinishnodeset', '__asan_report_store8', 'luaH_newkey']

30 4801 luaH_setint call site: 04261 /src/testdir/build/lua-master/source/ltable.c:1190
10 18 4 :

['__asan_report_store8', '__asan_report_load4', 'luaM_free_', '__asan_report_load8']

10 18 luaE_shrinkCI call site: 01359 /src/testdir/build/lua-master/source/lstate.c:107
4 4 1 :

['__asan_memcpy']

50 50 luaH_finishset call site: 02514 /src/testdir/build/lua-master/source/ltable.c:1147
4 4 2 :

['__asan_report_store8', '__asan_report_store1']

4 4753 luaH_finishset call site: 02520 /src/testdir/build/lua-master/source/ltable.c:1154
4 4 1 :

['__asan_report_load8']

4 4 checkbuffer call site: 04477 /src/testdir/build/lua-master/source/lzio.c:52
2 9500 3 :

['luaO_pushfstring', '__asan_handle_no_return', 'luaD_throw']

2 9500 checkmode call site: 04462 /src/testdir/build/lua-master/source/ldo.c:1096
2 4785 2 :

['lexerror', '__asan_handle_no_return']

2 4785 save call site: 04914 /src/testdir/build/lua-master/source/llex.c:66

Runtime coverage analysis

Covered functions
467
Functions that are reachable but not covered
203
Reachable functions
664
Percentage of reachable functions covered
69.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/testdir/tests/capi/lua_dump_test.c 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 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 15
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 9
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 102
/src/testdir/build/lua-master/source/lcode.c 105
/src/testdir/build/lua-master/source/ldump.c 17

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 3729 73.9%
gold [1:9] 1 0.01%
yellow [10:29] 0 0.0%
greenyellow [30:49] 11 0.21%
lawngreen 50+ 1302 25.8%
All colors 5043 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4793 9542 4 :

['luaC_step', 'luaF_newCclosure', '__asan_memcpy', '__asan_report_load1']

4865 9614 lua_pushcclosure call site: 04751 /src/testdir/build/lua-master/source/lapi.c:605
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01203 /src/testdir/build/lua-master/source/lgc.c:1472
4751 4751 1 :

['f_pintern']

9502 9517 luaS_newextlstr call site: 04976 /src/testdir/build/lua-master/source/lstring.c:327
4751 4751 2 :

['__asan_report_load4', 'luaS_resize']

4751 4751 checkSizes call site: 01292 /src/testdir/build/lua-master/source/lgc.c:937
4751 4751 2 :

['__asan_handle_no_return', 'luaD_throw']

4751 4751 luaS_newextlstr call site: 04991 /src/testdir/build/lua-master/source/lstring.c:346
4751 4751 2 :

['luaG_runerror', '__asan_handle_no_return']

4751 4751 setnodevector call site: 02568 /src/testdir/build/lua-master/source/ltable.c:601
4749 4749 1 :

['growstrtab']

4781 9530 internshrstr call site: 00946 /src/testdir/build/lua-master/source/lstring.c:231
4749 4749 1 :

['luaD_growstack']

4757 4757 lua_checkstack call site: 04739 /src/testdir/build/lua-master/source/lapi.c:115
4749 4749 1 :

['luaV_execute']

4753 4753 ccall call site: 00925 /src/testdir/build/lua-master/source/ldo.c:745
4749 4749 1 :

['luaG_runerror']

4751 4751 luaH_resize call site: 02562 /src/testdir/build/lua-master/source/ltable.c:711
4749 4749 1 :

['luaD_call']

4749 4749 callclosemethod call site: 00919 /src/testdir/build/lua-master/source/lfunc.c:116
176 176 1 :

['reinsertOldSlice']

4935 9981 luaH_resize call site: 02565 /src/testdir/build/lua-master/source/ltable.c:716

Runtime coverage analysis

Covered functions
190
Functions that are reachable but not covered
252
Reachable functions
438
Percentage of reachable functions covered
42.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.
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 28
/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 58
/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 15
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 40

Fuzzer: 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 376 5.32%
gold [1:9] 45 0.63%
yellow [10:29] 32 0.45%
greenyellow [30:49] 3 0.04%
lawngreen 50+ 6605 93.5%
All colors 7061 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
5567 20106 4 :

['lua_pushstring', 'checkload', 'loadfunc', 'lua_pushfstring']

5567 20106 searcher_Croot call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:573
5567 10582 2 :

['checkload', 'loadfunc']

5567 10582 searcher_C call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:560
4775 9539 2 :

['luaS_newextlstr', 'getaddr_']

4851 14570 loadString call site: 04814 /src/testdir/build/lua-master/source/lundump.c:169
4775 4775 1 :

['getaddr_']

4803 38412 loadDebug call site: 04896 /src/testdir/build/lua-master/source/lundump.c:298
4775 4775 1 :

['getaddr_']

4779 4779 loadCode call site: 04764 /src/testdir/build/lua-master/source/lundump.c:190
4763 4763 2 :

['numerror', '__asan_handle_no_return']

4763 4763 checknumsize call site: 04688 /src/testdir/build/lua-master/source/lundump.c:359
4755 4755 2 :

['luaD_throwbaselevel', '__asan_handle_no_return']

4755 4755 lua_closethread call site: 00000 /src/testdir/build/lua-master/source/lstate.c:329
32 4781 5 :

['__asan_handle_no_return', 'luaS_newlstr', '__asan_report_store8', '__asan_report_load1', '__asan_report_store1']

48 4797 lua_concat call site: 00000 /src/testdir/build/lua-master/source/lapi.c:1291
24 9522 5 :

['__asan_report_load1', 'luaE_resetthread', 'luaD_throw', '__asan_memcpy', 'abort']

58 9556 luaD_throw call site: 00829 /src/testdir/build/lua-master/source/ldo.c:118
12 12 2 :

['__asan_report_load8', '__asan_handle_no_return']

12 9596 resume call site: 00000 /src/testdir/build/lua-master/source/ldo.c:915
8 36548 9 :

['lua_pushstring', '__asan_set_shadow_f8', 'strstr', 'luaL_addlstring', 'luaL_buffinit', 'luaL_addstring', 'luaL_prepbuffsize', '__asan_report_store1', 'luaL_pushresult']

16 46126 setpath call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:282
6 4755 4 :

['__asan_report_load4', '__asan_report_store4', '__asan_handle_no_return', 'luaD_throw']

6 4755 luaG_traceexec call site: 02007 /src/testdir/build/lua-master/source/ldebug.c:963

Runtime coverage analysis

Covered functions
1043
Functions that are reachable but not covered
50
Reachable functions
667
Percentage of reachable functions covered
92.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/luaL_dostring_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 15
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 102
/src/testdir/build/lua-master/source/lcode.c 105

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 2695 35.8%
gold [1:9] 376 5.00%
yellow [10:29] 144 1.91%
greenyellow [30:49] 81 1.07%
lawngreen 50+ 4211 56.0%
All colors 7507 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
426572 613947 55 :

['pushclosure', 'lessequalothers', 'luaV_concat', '__asan_report_load8', 'luaT_callorderiTM', 'lessthanothers', 'luaV_finishset', 'luaG_traceexec', 'luaC_barrier_', 'luaV_objlen', 'luaV_mod', '__asan_report_load1', 'luaD_poscall', 'luaD_hookcall', 'luaF_close', 'luaF_newtbcupval', 'luaG_tracecall', 'luaC_barrierback_', 'luaD_precall', '__asan_report_load4', '__asan_handle_no_return', 'forprep', 'luaC_step', 'pow', 'luaT_trybinTM', 'luaH_new', '__asan_report_store8', 'luaV_equalobj', 'luaT_adjustvarargs', 'luaV_idiv', 'luaH_getshortstr', 'luaH_psetshortstr', '__asan_report_store1', 'luaH_psetint', 'luaH_getint', 'luaP_isIT', 'luaT_getvarargs', 'LTnum', 'LEnum', 'luaT_trybiniTM', 'luaH_resize', '__asan_report_store4', '__asan_memcpy', 'luaF_closeupval', 'luaT_trybinassocTM', 'floatforloop', 'luaH_get', 'luaV_shiftl', 'luaH_resizearray', 'luaD_pretailcall', 'luaV_modf', 'luaD_call', 'luaH_pset', 'luaV_finishget', 'luaV_tointegerns']

426574 613949 luaV_execute call site: 03855 /src/testdir/build/lua-master/source/lvm.c:1791
6963 12089 2 :

['luaX_lookahead', 'globalstatfunc']

6991 19114 statement call site: 05255 /src/testdir/build/lua-master/source/lparser.c:2016
6963 6963 1 :

['localfunc']

6991 7025 statement call site: 05255 /src/testdir/build/lua-master/source/lparser.c:1983
5257 24390 8 :

['lua_settop', '__asan_report_load8', '__asan_report_load4', 'lua_pushfstring', 'lua_tolstring', '__asan_report_load1', 'pushglobalfuncname', 'lua_rotate']

5257 29159 pushfuncname call site: 07315 /src/testdir/build/lua-master/source/lauxlib.c:99
5055 5055 2 :

['strchr', 'luaU_undump']

5067 14580 f_parser call site: 04446 /src/testdir/build/lua-master/source/ldo.c:1109
4983 9738 4 :

['lua_type', 'lua_typename', 'luaL_callmeta', 'lua_pushfstring']

4983 15399 msghandler call site: 06891 /src/fuzz_lua.c:101
4799 4799 3 :

['undefgoto', '__asan_report_load4', '__asan_handle_no_return']

4803 4803 leaveblock call site: 06055 /src/testdir/build/lua-master/source/lparser.c:736
4793 9542 4 :

['luaC_step', 'luaF_newCclosure', '__asan_memcpy', '__asan_report_load1']

4865 9614 lua_pushcclosure call site: 06863 /src/testdir/build/lua-master/source/lapi.c:605
4773 9522 5 :

['__asan_report_load1', 'luaE_resetthread', 'luaD_throw', '__asan_memcpy', 'abort']

4807 9556 luaD_throw call site: 00829 /src/testdir/build/lua-master/source/ldo.c:118
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01203 /src/testdir/build/lua-master/source/lgc.c:1472
4755 4755 2 :

['rethook', '__asan_report_load8']

4755 4790 moveresults call site: 01739 /src/testdir/build/lua-master/source/ldo.c:565
4751 4751 1 :

['f_pintern']

4753 9517 luaS_newextlstr call site: 04627 /src/testdir/build/lua-master/source/lstring.c:327

Runtime coverage analysis

Covered functions
560
Functions that are reachable but not covered
184
Reachable functions
737
Percentage of reachable functions covered
75.03%
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 32
/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 15
/src/testdir/build/lua-master/source/ldebug.c 43
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 50
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 102
/src/testdir/build/lua-master/source/lcode.c 105

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 816 11.5%
gold [1:9] 87 1.23%
yellow [10:29] 83 1.17%
greenyellow [30:49] 14 0.19%
lawngreen 50+ 6057 85.8%
All colors 7057 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
6963 6963 1 :

['globalfunc']

6963 6963 globalstatfunc call site: 06592 /src/testdir/build/lua-master/source/lparser.c:1863
5567 20106 4 :

['lua_pushstring', 'checkload', 'loadfunc', 'lua_pushfstring']

5567 20106 searcher_Croot call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:573
5567 10582 2 :

['checkload', 'loadfunc']

5567 10582 searcher_C call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:560
4799 4799 3 :

['undefgoto', '__asan_report_load4', '__asan_handle_no_return']

4803 4803 leaveblock call site: 06218 /src/testdir/build/lua-master/source/lparser.c:736
4775 9539 2 :

['luaS_newextlstr', 'getaddr_']

4851 14570 loadString call site: 04810 /src/testdir/build/lua-master/source/lundump.c:169
4775 4775 1 :

['getaddr_']

4803 38412 loadDebug call site: 04892 /src/testdir/build/lua-master/source/lundump.c:298
4775 4775 1 :

['getaddr_']

4779 4779 loadCode call site: 04760 /src/testdir/build/lua-master/source/lundump.c:190
4773 9522 5 :

['__asan_report_load1', 'luaE_resetthread', 'luaD_throw', '__asan_memcpy', 'abort']

4807 9556 luaD_throw call site: 00829 /src/testdir/build/lua-master/source/ldo.c:118
4755 4755 2 :

['rethook', '__asan_report_load8']

4755 4790 moveresults call site: 01739 /src/testdir/build/lua-master/source/ldo.c:565
4751 4751 1 :

['f_pintern']

4753 9517 luaS_newextlstr call site: 04812 /src/testdir/build/lua-master/source/lstring.c:327
98 4905 5 :

['luaT_callTMres', '__asan_handle_no_return', '__asan_report_load8', '__asan_report_load1', 'luaT_gettm']

98 4905 luaV_equalobj call site: 03540 /src/testdir/build/lua-master/source/lvm.c:607
32 4781 5 :

['__asan_handle_no_return', 'luaS_newlstr', '__asan_report_store8', '__asan_report_load1', '__asan_report_store1']

48 4797 lua_concat call site: 00000 /src/testdir/build/lua-master/source/lapi.c:1291

Runtime coverage analysis

Covered functions
891
Functions that are reachable but not covered
63
Reachable functions
666
Percentage of reachable functions covered
90.54%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/testdir/tests/capi/luaL_loadbuffer_test.c 1
/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 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 15
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 102
/src/testdir/build/lua-master/source/lcode.c 105

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 3630 73.3%
gold [1:9] 0 0.0%
yellow [10:29] 5 0.10%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1316 26.5%
All colors 4951 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4793 9542 4 :

['luaC_step', 'luaF_newCclosure', '__asan_memcpy', '__asan_report_load1']

4865 9614 lua_pushcclosure call site: 04745 /src/testdir/build/lua-master/source/lapi.c:605
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01205 /src/testdir/build/lua-master/source/lgc.c:1472
4751 4751 1 :

['f_pintern']

9502 9517 luaS_newextlstr call site: 04875 /src/testdir/build/lua-master/source/lstring.c:327
4751 4751 2 :

['__asan_report_load4', 'luaS_resize']

4751 4751 checkSizes call site: 01294 /src/testdir/build/lua-master/source/lgc.c:937
4751 4751 2 :

['__asan_handle_no_return', 'luaD_throw']

4751 4751 luaS_newextlstr call site: 04890 /src/testdir/build/lua-master/source/lstring.c:346
4751 4751 2 :

['luaG_runerror', '__asan_handle_no_return']

4751 4751 setnodevector call site: 02570 /src/testdir/build/lua-master/source/ltable.c:601
4749 4749 1 :

['growstrtab']

4781 9530 internshrstr call site: 00948 /src/testdir/build/lua-master/source/lstring.c:231
4749 4749 1 :

['luaD_growstack']

4757 4757 lua_checkstack call site: 04733 /src/testdir/build/lua-master/source/lapi.c:115
4749 4749 1 :

['luaV_execute']

4753 4753 ccall call site: 00927 /src/testdir/build/lua-master/source/ldo.c:745
4749 4749 1 :

['luaG_runerror']

4751 4751 luaH_resize call site: 02564 /src/testdir/build/lua-master/source/ltable.c:711
4749 4749 1 :

['luaD_call']

4749 4749 callclosemethod call site: 00921 /src/testdir/build/lua-master/source/lfunc.c:116
176 176 1 :

['reinsertOldSlice']

4935 9981 luaH_resize call site: 02567 /src/testdir/build/lua-master/source/ltable.c:716

Runtime coverage analysis

Covered functions
187
Functions that are reachable but not covered
241
Reachable functions
424
Percentage of reachable functions covered
43.16%
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 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 56
/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 15
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 34

Fuzzer: luaL_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 883 11.4%
gold [1:9] 36 0.46%
yellow [10:29] 26 0.33%
greenyellow [30:49] 34 0.43%
lawngreen 50+ 6753 87.3%
All colors 7732 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
9670 9670 1 :

['settabss']

38738 38738 db_getinfo call site: 00000 /src/testdir/build/lua-master/source/ldblib.c:186
9638 9638 2 :

['settabsb', 'settabsi']

19428 19428 db_getinfo call site: 00000 /src/testdir/build/lua-master/source/ldblib.c:194
6963 6963 1 :

['globalstatfunc']

6991 13988 statement call site: 05645 /src/testdir/build/lua-master/source/lparser.c:2018
5567 20106 4 :

['lua_pushstring', 'checkload', 'loadfunc', 'lua_pushfstring']

5567 20106 searcher_Croot call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:573
5567 10582 2 :

['checkload', 'loadfunc']

5567 10582 searcher_C call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:560
5416 5416 1 :

['addfield']

5422 10413 tconcat call site: 00000 /src/testdir/build/lua-master/source/ltablib.c:179
4893 4893 1 :

['treatstackoption']

4893 4893 db_getinfo call site: 00000 /src/testdir/build/lua-master/source/ldblib.c:200
4837 9603 2 :

['lua_createtable', 'setallfields']

4841 9607 os_date call site: 00000 /src/testdir/build/lua-master/source/loslib.c:320
4785 4785 1 :

['codeextraarg']

4787 9576 luaK_setlist call site: 06082 /src/testdir/build/lua-master/source/lcode.c:1848
4785 4785 1 :

['codeextraarg']

4785 9572 luaK_codek call site: 05848 /src/testdir/build/lua-master/source/lcode.c:461
4775 9539 2 :

['luaS_newextlstr', 'getaddr_']

4851 14570 loadString call site: 05035 /src/testdir/build/lua-master/source/lundump.c:169
4775 4775 1 :

['getaddr_']

4803 38412 loadDebug call site: 05117 /src/testdir/build/lua-master/source/lundump.c:298

Runtime coverage analysis

Covered functions
3487
Functions that are reachable but not covered
81
Reachable functions
899
Percentage of reachable functions covered
90.99%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
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 7
/src/testdir/build/lua-master/source/lauxlib.c 25
/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 57
/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 15
/src/testdir/build/lua-master/source/ldebug.c 43
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 44
/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 102
/src/testdir/build/lua-master/source/lcode.c 105
/src/testdir/build/lua-master/source/ldump.c 17

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 3636 73.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 11 0.22%
lawngreen 50+ 1291 26.1%
All colors 4938 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4793 9542 4 :

['luaC_step', 'luaF_newCclosure', '__asan_memcpy', '__asan_report_load1']

4865 9614 lua_pushcclosure call site: 04743 /src/testdir/build/lua-master/source/lapi.c:605
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01205 /src/testdir/build/lua-master/source/lgc.c:1472
4751 4751 1 :

['f_pintern']

9502 9517 luaS_newextlstr call site: 04871 /src/testdir/build/lua-master/source/lstring.c:327
4751 4751 2 :

['__asan_report_load4', 'luaS_resize']

4751 4751 checkSizes call site: 01294 /src/testdir/build/lua-master/source/lgc.c:937
4751 4751 2 :

['__asan_handle_no_return', 'luaD_throw']

4751 4751 luaS_newextlstr call site: 04886 /src/testdir/build/lua-master/source/lstring.c:346
4751 4751 2 :

['luaG_runerror', '__asan_handle_no_return']

4751 4751 setnodevector call site: 02570 /src/testdir/build/lua-master/source/ltable.c:601
4749 4749 1 :

['growstrtab']

4781 9530 internshrstr call site: 00948 /src/testdir/build/lua-master/source/lstring.c:231
4749 4749 1 :

['luaD_growstack']

4757 4757 lua_checkstack call site: 04731 /src/testdir/build/lua-master/source/lapi.c:115
4749 4749 1 :

['luaV_execute']

4753 4753 ccall call site: 00927 /src/testdir/build/lua-master/source/ldo.c:745
4749 4749 1 :

['luaG_runerror']

4751 4751 luaH_resize call site: 02564 /src/testdir/build/lua-master/source/ltable.c:711
4749 4749 1 :

['luaD_call']

4749 4749 callclosemethod call site: 00921 /src/testdir/build/lua-master/source/lfunc.c:116
176 176 1 :

['reinsertOldSlice']

4935 9981 luaH_resize call site: 02567 /src/testdir/build/lua-master/source/ltable.c:716

Runtime coverage analysis

Covered functions
186
Functions that are reachable but not covered
240
Reachable functions
422
Percentage of reachable functions covered
43.13%
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 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 56
/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 15
/src/testdir/build/lua-master/source/ldebug.c 41
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 34

Fuzzer: luaL_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 3291 47.9%
gold [1:9] 29 0.42%
yellow [10:29] 23 0.33%
greenyellow [30:49] 30 0.43%
lawngreen 50+ 3497 50.9%
All colors 6870 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4773 9522 5 :

['__asan_report_load1', 'luaE_resetthread', 'luaD_throw', '__asan_memcpy', 'abort']

4807 9556 luaD_throw call site: 00829 /src/testdir/build/lua-master/source/ldo.c:118
4773 4779 4 :

['luaO_applyparam', 'atomic2gen', 'setminordebt', '__asan_report_load1']

4785 4791 checkmajorminor call site: 01203 /src/testdir/build/lua-master/source/lgc.c:1472
4753 4753 2 :

['luaD_callnoyield', '__asan_memcpy']

4887 14385 luaG_errormsg call site: 01589 /src/testdir/build/lua-master/source/ldebug.c:833
4751 4751 2 :

['__asan_report_load4', 'luaD_errerr']

4753 4753 luaE_checkcstack call site: 01371 /src/testdir/build/lua-master/source/lstate.c:132
176 176 1 :

['reinsertOldSlice']

186 9981 luaH_resize call site: 02565 /src/testdir/build/lua-master/source/ltable.c:716
28 4799 4 :

['getintfromhash', 'rawfinishnodeset', '__asan_report_store8', 'luaH_newkey']

30 4801 luaH_setint call site: 04261 /src/testdir/build/lua-master/source/ltable.c:1190
10 18 4 :

['__asan_report_store8', '__asan_report_load4', 'luaM_free_', '__asan_report_load8']

10 18 luaE_shrinkCI call site: 01359 /src/testdir/build/lua-master/source/lstate.c:107
4 4 1 :

['__asan_memcpy']

50 50 luaH_finishset call site: 02514 /src/testdir/build/lua-master/source/ltable.c:1147
4 4 2 :

['__asan_report_store8', '__asan_report_store1']

4 4753 luaH_finishset call site: 02520 /src/testdir/build/lua-master/source/ltable.c:1154
4 4 1 :

['__asan_report_load8']

4 4 checkbuffer call site: 04471 /src/testdir/build/lua-master/source/lzio.c:52
2 9500 3 :

['luaO_pushfstring', '__asan_handle_no_return', 'luaD_throw']

2 9500 checkmode call site: 04456 /src/testdir/build/lua-master/source/ldo.c:1096
2 4785 2 :

['lexerror', '__asan_handle_no_return']

2 4785 save call site: 04908 /src/testdir/build/lua-master/source/llex.c:66

Runtime coverage analysis

Covered functions
450
Functions that are reachable but not covered
200
Reachable functions
644
Percentage of reachable functions covered
68.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.
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 10
/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 15
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 8
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 102
/src/testdir/build/lua-master/source/lcode.c 105

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 461 6.52%
gold [1:9] 112 1.58%
yellow [10:29] 51 0.72%
greenyellow [30:49] 18 0.25%
lawngreen 50+ 6419 90.9%
All colors 7061 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
5567 20106 4 :

['lua_pushstring', 'checkload', 'loadfunc', 'lua_pushfstring']

5567 20106 searcher_Croot call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:573
5567 10582 2 :

['checkload', 'loadfunc']

5567 10582 searcher_C call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:560
4775 9539 2 :

['luaS_newextlstr', 'getaddr_']

4851 14570 loadString call site: 04814 /src/testdir/build/lua-master/source/lundump.c:169
4775 4775 1 :

['getaddr_']

4803 38412 loadDebug call site: 04896 /src/testdir/build/lua-master/source/lundump.c:298
4775 4775 1 :

['getaddr_']

4779 4779 loadCode call site: 04764 /src/testdir/build/lua-master/source/lundump.c:190
4763 4763 2 :

['numerror', '__asan_handle_no_return']

4763 4763 checknumsize call site: 04688 /src/testdir/build/lua-master/source/lundump.c:359
4755 4755 2 :

['luaD_throwbaselevel', '__asan_handle_no_return']

4755 4755 lua_closethread call site: 00000 /src/testdir/build/lua-master/source/lstate.c:329
32 55347 13 :

['end_capture', '__asan_report_load8', 'max_expand', 'singlematch', 'match', 'match_capture', 'matchbalance', 'start_capture', 'classend', 'matchbracketclass', 'luaL_error', '__asan_report_load1', 'min_expand']

34 55349 match call site: 00000 /src/testdir/build/lua-master/source/lstrlib.c:588
32 4781 5 :

['__asan_handle_no_return', 'luaS_newlstr', '__asan_report_store8', '__asan_report_load1', '__asan_report_store1']

48 4797 lua_concat call site: 00000 /src/testdir/build/lua-master/source/lapi.c:1291
24 9522 5 :

['__asan_report_load1', 'luaE_resetthread', 'luaD_throw', '__asan_memcpy', 'abort']

58 9556 luaD_throw call site: 00829 /src/testdir/build/lua-master/source/ldo.c:118
18 18 1 :

['findvararg']

18 18 luaG_findlocal call site: 03477 /src/testdir/build/lua-master/source/ldebug.c:202
12 12 2 :

['__asan_report_load8', '__asan_handle_no_return']

12 9596 resume call site: 00000 /src/testdir/build/lua-master/source/ldo.c:915

Runtime coverage analysis

Covered functions
1028
Functions that are reachable but not covered
51
Reachable functions
667
Percentage of reachable functions covered
92.35%
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 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 15
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 102
/src/testdir/build/lua-master/source/lcode.c 105

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 761 10.7%
gold [1:9] 48 0.67%
yellow [10:29] 95 1.34%
greenyellow [30:49] 5 0.07%
lawngreen 50+ 6152 87.1%
All colors 7061 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
5567 20106 4 :

['lua_pushstring', 'checkload', 'loadfunc', 'lua_pushfstring']

5567 20106 searcher_Croot call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:573
5567 10582 2 :

['checkload', 'loadfunc']

5567 10582 searcher_C call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:560
4755 4755 2 :

['luaD_throwbaselevel', '__asan_handle_no_return']

4755 4755 lua_closethread call site: 00000 /src/testdir/build/lua-master/source/lstate.c:329
4751 4751 1 :

['f_pintern']

4753 9517 luaS_newextlstr call site: 04812 /src/testdir/build/lua-master/source/lstring.c:327
32 4781 5 :

['__asan_handle_no_return', 'luaS_newlstr', '__asan_report_store8', '__asan_report_load1', '__asan_report_store1']

48 4797 lua_concat call site: 00000 /src/testdir/build/lua-master/source/lapi.c:1291
24 9522 5 :

['__asan_report_load1', 'luaE_resetthread', 'luaD_throw', '__asan_memcpy', 'abort']

58 9556 luaD_throw call site: 00830 /src/testdir/build/lua-master/source/ldo.c:118
12 12 2 :

['__asan_report_load8', '__asan_handle_no_return']

12 9596 resume call site: 00000 /src/testdir/build/lua-master/source/ldo.c:915
8 36548 9 :

['lua_pushstring', '__asan_set_shadow_f8', 'strstr', 'luaL_addlstring', 'luaL_buffinit', 'luaL_addstring', 'luaL_prepbuffsize', '__asan_report_store1', 'luaL_pushresult']

16 46126 setpath call site: 00000 /src/testdir/build/lua-master/source/loadlib.c:282
6 4755 4 :

['__asan_report_load4', '__asan_report_store4', '__asan_handle_no_return', 'luaD_throw']

6 4755 luaG_traceexec call site: 02007 /src/testdir/build/lua-master/source/ldebug.c:963
6 6 1 :

['__asan_report_load4']

36 4826 check_readonly call site: 06442 /src/testdir/build/lua-master/source/lparser.c:305
6 6 2 :

['__asan_report_store4', 'getc']

6 6 skipcomment call site: 00000 /src/testdir/build/lua-master/source/lauxlib.c:797
4 4753 2 :

['luaD_callnoyield', '__asan_memcpy']

138 14385 luaG_errormsg call site: 01589 /src/testdir/build/lua-master/source/ldebug.c:833

Runtime coverage analysis

Covered functions
934
Functions that are reachable but not covered
68
Reachable functions
666
Percentage of reachable functions covered
89.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/lua_load_test.cc 2
/src/testdir/build/lua-master/source/lauxlib.c 10
/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 15
/src/testdir/build/lua-master/source/ldebug.c 34
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 2
/src/testdir/build/lua-master/source/llex.c 25
/src/testdir/build/lua-master/source/lapi.c 25
/src/testdir/build/lua-master/source/linit.c 1
/src/testdir/build/lua-master/source/lzio.c 5
/src/testdir/build/lua-master/source/lundump.c 23
/src/testdir/build/lua-master/source/lparser.c 102
/src/testdir/build/lua-master/source/lcode.c 105

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 2926 60.9%
gold [1:9] 181 3.76%
yellow [10:29] 278 5.78%
greenyellow [30:49] 170 3.54%
lawngreen 50+ 1247 25.9%
All colors 4802 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
24602 29505 8 :

['lua_settop', 'lua_toclose', 'newbox', 'newbuffsize', '__asan_report_store8', '__asan_memcpy', 'resizebox', 'lua_rotate']

24612 29515 prepbuffsize call site: 00000 /src/testdir/build/lua-master/source/lauxlib.c:566
12089 12089 2 :

['luaX_lookahead', 'globalstatfunc']

12117 19114 statement call site: 00000 /src/testdir/build/lua-master/source/lparser.c:2016
9614 14363 9 :

['__asan_report_load8', '__asan_handle_no_return', '__asan_report_load4', 'unroll', '__asan_report_store8', '__asan_report_load1', 'luaD_poscall', 'luaV_execute', '__asan_report_store1']

9614 14363 resume call site: 00000 /src/testdir/build/lua-master/source/ldo.c:901
9500 9500 3 :

['luaO_pushfstring', '__asan_handle_no_return', 'luaD_throw']

9500 9500 checkmode call site: 00000 /src/testdir/build/lua-master/source/ldo.c:1096
5359 5359 1 :

['luaK_prefix']

5379 40366 subexpr call site: 00000 /src/testdir/build/lua-master/source/lparser.c:1335
5268 5268 1 :

['codearith']

5268 5268 codecommutative call site: 00000 /src/testdir/build/lua-master/source/lcode.c:1557
5183 5183 1 :

['adjust_assign']

5189 10416 restassign call site: 00000 /src/testdir/build/lua-master/source/lparser.c:1463
5055 5055 2 :

['strchr', 'luaU_undump']

5067 14580 f_parser call site: 00000 /src/testdir/build/lua-master/source/ldo.c:1109
4948 4975 2 :

['luaL_error', 'lua_isstring']

4948 9768 luaL_tolstring call site: 00000 /src/testdir/build/lua-master/source/lauxlib.c:924
4876 23556 5 :

['__asan_report_load4', 'suffixedexp', 'luaE_incCstack', 'restassign', 'check_conflict']

4886 28793 restassign call site: 00000 /src/testdir/build/lua-master/source/lparser.c:1449
4805 4805 1 :

['luaK_concat']

33739 33739 exp2reg call site: 00000 /src/testdir/build/lua-master/source/lcode.c:937
4799 4799 3 :

['undefgoto', '__asan_report_load4', '__asan_handle_no_return']

4803 4803 leaveblock call site: 00000 /src/testdir/build/lua-master/source/lparser.c:736

Runtime coverage analysis

Covered functions
548
Functions that are reachable but not covered
164
Reachable functions
406
Percentage of reachable functions covered
59.61%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/testdir/tests/capi/torture_test.cc 5
/src/testdir/build/lua-master/source/lauxlib.c 13
/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 56
/src/testdir/build/lua-master/source/lfunc.c 15
/src/testdir/build/lua-master/source/lstring.c 15
/src/testdir/build/lua-master/source/ltm.c 15
/src/testdir/build/lua-master/source/ldebug.c 43
/src/testdir/build/lua-master/source/lvm.c 29
/src/testdir/build/lua-master/source/lopcodes.c 1
/src/testdir/build/lua-master/source/llex.c 1
/src/testdir/build/lua-master/source/lapi.c 23

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 18 3 2 395 0 5604 249
str_gsub /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 173 0 440 57 18 447 0 5933 227
io_lines /src/testdir/build/lua-master/source/liolib.c 1 ['N/A'] 175 0 98 12 5 452 0 5874 159
str_format /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 173 0 712 99 23 439 0 5880 135
luaB_loadfile /src/testdir/build/lua-master/source/lbaselib.c 1 ['N/A'] 172 0 53 3 2 675 0 8052 116
sort /src/testdir/build/lua-master/source/ltablib.c 1 ['N/A'] 171 0 78 12 5 394 0 5473 112
str_pack /src/testdir/build/lua-master/source/lstrlib.c 1 ['N/A'] 172 0 818 84 24 428 0 5806 83
searcher_Croot /src/testdir/build/lua-master/source/loadlib.c 1 ['N/A'] 174 0 110 12 6 435 0 5784 72
__lua_getiuservalue(lua_State*,FuzzedDataProvider*) /src/testdir/tests/capi/torture_test.cc 2 ['N/A', 'N/A'] 41 0 58 7 2 331 0 4866 68
db_sethook /src/testdir/build/lua-master/source/ldblib.c 1 ['N/A'] 173 0 173 16 7 400 0 5566 51

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

Functions statically reachable by fuzzers
72.0%
957 / 1321
Cyclomatic complexity statically reachable by fuzzers
87.0%
11312 / 13075

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

/src/testdir/tests/capi/luaL_buffaddr_test.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/testdir/tests/capi/luaL_gsub_test.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/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', 'luaO_str2num', 'luaH_resize', 'separatetobefnz', 'internshrstr', 'luaF_closeupval', 'luaF_close']

/src/testdir/tests/capi/lua_dump_test.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['luaV_tointegerns', 'luaV_equalobj', 'luaD_reallocstack', 'luaF_newproto', 'luaO_str2num', 'luaH_new', 'luaP_isIT', 'luaH_pset', 'luaF_newLclosure', 'luaH_get']

/src/testdir/tests/capi/luaL_traceback_test.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'luaL_traceback']

/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=['equalkey', 'traversetable', 'genlink', 'luaC_fullgc', 'iscleared', 'numarith', 'getgclist', 'traverseephemeron', 'loadAlign', 'closegoto']

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

/src/testdir/tests/capi/luaL_loadbuffer_test.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['genlink', 'precallC', 'luaV_finishset', 'luaD_poscall', 'equalkey', 'traversetable', 'atomic', 'luaG_errormsg', 'typeerror', 'luaP_isIT']

/src/testdir/tests/capi/luaL_addgsub_test.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/testdir/tests/capi/luaL_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', 'localstat', 'luaV_execute', 'luaK_dischargevars', 'equalkey', 'traversetable', 'atomic', 'checkcontrol']

/src/testdir/tests/capi/luaL_bufflen_test.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['luaF_newtbcupval', 'luaH_new', 'luaS_new', 'luaV_finishset', 'luaD_precall', 'luaS_newlstr', 'newbuffsize', 'luaD_callnoyield', 'getgeneric', 'genlink']

/src/testdir/tests/capi/luaL_loadbufferx_test.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['luaV_tointegerns', 'luaV_equalobj', 'luaD_reallocstack', 'luaF_newproto', 'luaO_str2num', 'luaH_new', 'luaP_isIT', 'luaH_pset', 'luaF_newLclosure', 'luaH_get']

/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=['equalkey', 'traversetable', 'genlink', 'typeerror', 'luaC_fullgc', 'iscleared', 'luaV_execute', 'correctgraylist', 'numarith', 'getgclist']

/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_finishset', 'equalkey', 'traversetable', 'atomic', 'genlink', 'luaG_errormsg', 'luaV_execute', 'typeerror']

/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', 'luaH_pset', 'luaH_get', 'genlink', 'checkmajorminor']

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_loadstring_test', 'luaL_dostring_test']
byteoffset 45 23 51.11% ['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 80 39.80%
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 105 45.25%
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 12 29.26%
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 105 52.76%
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 15 38.46%
lua_grammar::Expression::MergeImpl(google::protobuf::Message&,google::protobuf::Messageconst&) 62 12 19.35%
lua_grammar::BinaryOperator::MergeImpl(google::protobuf::Message&,google::protobuf::Messageconst&) 73 12 16.43%

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

Directories in report

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

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-WEnvvejECW.data fuzzerLogFile-0-WEnvvejECW.data.yaml luaL_buffsub_test.covreport
luaL_buffaddr_test fuzzerLogFile-0-OfoxYKN9U0.data fuzzerLogFile-0-OfoxYKN9U0.data.yaml luaL_buffaddr_test.covreport
luaL_gsub_test fuzzerLogFile-0-DCIz9raLgh.data fuzzerLogFile-0-DCIz9raLgh.data.yaml luaL_gsub_test.covreport
lua_stringtonumber_test fuzzerLogFile-0-n3pcFcJd6B.data fuzzerLogFile-0-n3pcFcJd6B.data.yaml lua_stringtonumber_test.covreport
lua_dump_test fuzzerLogFile-0-DTe9y8rMrJ.data fuzzerLogFile-0-DTe9y8rMrJ.data.yaml lua_dump_test.covreport
luaL_traceback_test fuzzerLogFile-0-8BTj7V5ydO.data fuzzerLogFile-0-8BTj7V5ydO.data.yaml luaL_traceback_test.covreport
luaL_dostring_test fuzzerLogFile-0-HfkaVwRzEE.data fuzzerLogFile-0-HfkaVwRzEE.data.yaml luaL_dostring_test.covreport
fuzz_lua fuzzerLogFile-0-JihAEH7iKv.data fuzzerLogFile-0-JihAEH7iKv.data.yaml fuzz_lua.covreport
luaL_loadbuffer_test fuzzerLogFile-0-ZrGcGRfS7H.data fuzzerLogFile-0-ZrGcGRfS7H.data.yaml luaL_loadbuffer_test.covreport
luaL_addgsub_test fuzzerLogFile-0-8QAWihpnyS.data fuzzerLogFile-0-8QAWihpnyS.data.yaml luaL_addgsub_test.covreport
luaL_loadbuffer_proto_test fuzzerLogFile-0-EvkSU9m41b.data fuzzerLogFile-0-EvkSU9m41b.data.yaml luaL_loadbuffer_proto_test.covreport
luaL_bufflen_test fuzzerLogFile-0-t6zlEQ9htS.data fuzzerLogFile-0-t6zlEQ9htS.data.yaml luaL_bufflen_test.covreport
luaL_loadbufferx_test fuzzerLogFile-0-GlBuXHPV0g.data fuzzerLogFile-0-GlBuXHPV0g.data.yaml luaL_loadbufferx_test.covreport
luaL_loadstring_test fuzzerLogFile-0-FM5EtGbadB.data fuzzerLogFile-0-FM5EtGbadB.data.yaml luaL_loadstring_test.covreport
lua_load_test fuzzerLogFile-0-0AIxvVGkzr.data fuzzerLogFile-0-0AIxvVGkzr.data.yaml lua_load_test.covreport
torture_test fuzzerLogFile-0-rVa5LpWQpQ.data fuzzerLogFile-0-rVa5LpWQpQ.data.yaml torture_test.covreport