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

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

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 851 69.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 372 30.4%
All colors 1223 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
202 317 xlrd.sheet.Sheet.fixed_BIFF2_xfindex call site: 00317 xlrd.formula.decompile_formula
164 1035 xlrd.formula.evaluate_name_formula call site: 01035 xlrd.formula.evaluate_name_formula
99 689 xlrd.book.Book.handle_country call site: 00689 xlrd.formula.decompile_formula
44 577 xlrd.sheet.Sheet.read call site: 00577 xlrd.sheet.Sheet.handle_hlink
32 645 xlrd.sheet.Sheet.read call site: 00645 xlrd.sheet.Sheet.handle_note
20 274 xlrd.sheet.Sheet.read call site: 00274 xlrd.biffh.BaseObject.dump
18 867 xlrd.sheet.Sheet.read call site: 00867 xlrd.sheet.Sheet.fixed_BIFF2_xfindex
15 623 xlrd.sheet.Sheet.read call site: 00623 xlrd.biffh.BaseObject.dump
13 977 xlrd.book.Book.parse_globals call site: 00977 xlrd.book.Book.handle_sheethdr
12 996 xlrd.book.Book.handle_supbook call site: 00996 xlrd.biffh.unpack_unicode_update_pos
11 73 xlrd.compdoc.CompDoc.__init__ call site: 00073 xlrd.compdoc.dump_list
11 564 xlrd.sheet.Sheet.read call site: 00564 xlrd.sheet.Sheet.put_cell_ragged

Runtime coverage analysis

Covered functions
108
Functions that are reachable but not covered
141
Reachable functions
213
Percentage of reachable functions covered
33.8%
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
/ 1
...fuzz_open_workbook 3
xlrd 10
xlrd.book 74
xlrd.compdoc 28
xlrd.timemachine 6
xlrd.formatting 6
xlrd.sheet 80
xlrd.biffh 17
xlrd.formula 56

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
xlrd.book.Name.area2d 38 19 50.0% ['fuzz_open_workbook']
xlrd.book.Book.handle_externsheet 35 15 42.85% ['fuzz_open_workbook']
xlrd.book.Book.handle_supbook 38 12 31.57% ['fuzz_open_workbook']
xlrd.biffh.biff_dump 42 0 0.0% []
xlrd.sheet.Sheet.tidy_dimensions 37 20 54.05% ['fuzz_open_workbook']
xlrd.sheet.Sheet.put_cell_ragged 46 0 0.0% ['fuzz_open_workbook']
xlrd.sheet.Sheet.read 485 257 52.98% ['fuzz_open_workbook']
xlrd.sheet.Sheet.handle_hlink.get_nul_terminated_unicode 70 0 0.0% ['fuzz_open_workbook']
xlrd.sheet.Sheet.handle_obj 42 2 4.761% ['fuzz_open_workbook']
xlrd.sheet.Sheet.handle_note 43 0 0.0% ['fuzz_open_workbook']
xlrd.sheet.Sheet.handle_txo 40 2 5.0% ['fuzz_open_workbook']
xlrd.formatting.handle_font 62 7 11.29% ['fuzz_open_workbook']
xlrd.formatting.handle_style 33 2 6.060% ['fuzz_open_workbook']
xlrd.formatting.handle_xf 129 68 52.71% ['fuzz_open_workbook']
xlrd.formatting.xf_epilogue.check_same 41 10 24.39% ['fuzz_open_workbook']
xlrd.formula.get_externsheet_local_range 34 0 0.0% ['fuzz_open_workbook']
xlrd.formula.evaluate_name_formula.not_in_name_formula 419 39 9.307% ['fuzz_open_workbook']
xlrd.formula.decompile_formula.unexpected_opcode 371 0 0.0% ['fuzz_open_workbook']
xlrd.formula.dump_formula 142 0 0.0% ['fuzz_open_workbook']