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

Fuzzer details

Fuzzer: fuzz_bn

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 163 73.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 59 26.5%
All colors 222 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
75 49 numpy.ma.core._replace_dtype_fields call site: 00049 numpy.ma.core.make_mask
20 194 numpy.testing._private.utils.assert_array_compare call site: 00194 numpy.testing._private.utils.build_err_msg
19 125 numpy.testing._private.utils.assert_array_compare call site: 00125 numpy.ma.testutils.approx
13 10 numpy.testing._private.utils.assert_array_almost_equal call site: 00010 numpy.testing._private.utils.build_err_msg
10 181 numpy.core._ufunc_config._no_nep50_warning call site: 00181 numpy.core.numeric.isclose.within_tol
8 171 numpy.testing._private.utils.assert_array_compare call site: 00171 numpy.core.numeric.isclose
5 42 numpy.ma.core.getmask call site: 00042 numpy.ma.core.mask_or
3 35 numpy.testing._private.utils.assert_array_compare call site: 00035 numpy.testing._private.utils.assert_array_compare.func_assert_same_pos
2 39 numpy.testing._private.utils.assert_array_compare call site: 00039 numpy.ma.testutils.almost
2 146 numpy.testing._private.utils.assert_array_compare call site: 00146 numpy.ma.testutils.approx
2 161 numpy.testing._private.utils.assert_array_almost_equal.compare call site: 00161 numpy.testing._private.utils.gisinf
1 2 ...fuzz_bn.TestOneInput call site: 00002 atheris.FuzzedDataProvider

Runtime coverage analysis

Covered functions
485
Functions that are reachable but not covered
94
Reachable functions
113
Percentage of reachable functions covered
16.81%
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
/ 1
...fuzz_bn 9
numpy.testing._private.utils 40
numpy.ma.testutils 13
numpy.ma.core 39
numpy.core.fromnumeric 5
numpy.core.numerictypes 2
numpy.core.numeric 10
numpy.core._ufunc_config 2

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
numpy.f2py.f2py2e.run_main numpy.f2py.f2py2e 1 ['N/A'] 5 0 9 8 6 235 2 900 879
bottleneck.slow.move.move_func bottleneck.slow.move 6 ['N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A'] 4 0 2 8 6 245 10 811 686
numpy.f2py.crackfortran.postcrack numpy.f2py.crackfortran 3 ['N/A', 'N/A', 'N/A'] 5 0 9 20 11 189 4 714 578
numpy.linalg.setup.configuration numpy.linalg.setup 2 ['N/A', 'N/A'] 5 0 4 2 4 177 0 591 510
numpy.distutils.command.build_src.build_src.build_sources numpy.distutils.command.build_src 1 ['N/A'] 5 0 6 2 4 169 1 563 434
numpy.f2py.crackfortran.readfortrancode numpy.f2py.crackfortran 3 ['N/A', 'N/A', 'N/A'] 4 0 14 42 20 178 3 701 333
numpy.lib.npyio.genfromtxt numpy.lib.npyio 25 ['N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A'] 4 0 23 86 37 123 2 430 314

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

Functions statically reachable by fuzzers
14.8%
1058/7114
Cyclomatic complexity statically reachable by fuzzers
16.1%
3857 / 23861

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 Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

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
numpy.testing._private.utils.assert_equal 73 0 0.0% []
numpy.testing._private.utils.assert_almost_equal._build_err_msg 32 0 0.0% []
numpy.testing._private.utils.assert_array_compare.func_assert_same_pos 74 28 37.83% ['fuzz_bn']
numpy.testing._private.utils.assert_string_equal 38 0 0.0% []
numpy.testing._private.utils._gen_alignment_data 32 3 9.375% []
numpy.testing._private.utils.suppress_warnings._showwarning 31 0 0.0% []
numpy._pytesttester.PytestTester.__call__ 39 0 0.0% []
numpy.core.numeric.tensordot 54 0 0.0% []
numpy.core.numeric.cross 61 1 1.639% []
numpy.matrixlib.defmatrix.matrix.__new__ 35 0 0.0% []
numpy.core.function_base.linspace 37 0 0.0% []
numpy.core.function_base.geomspace 33 0 0.0% []
numpy.lib.polynomial.polyfit 48 0 0.0% []
numpy.lib.polynomial.poly1d.__str__.fmt_float 35 0 0.0% []
numpy.lib.utils.who 41 0 0.0% []
numpy.lib.utils.info 69 0 0.0% []
numpy.lib.utils._lookfor_generate_cache 89 0 0.0% []
numpy.ma.core.MaskedArray.__new__ 51 16 31.37% []
numpy.ma.core.MaskedArray.__getitem__._scalar_heuristic 41 0 0.0% []
numpy.ma.core.MaskedArray.__setitem__ 50 3 6.0% []
numpy.ma.core.MaskedArray.__setmask__ 37 3 8.108% []
numpy.ma.core.MaskedArray.__repr__ 33 0 0.0% []
numpy.ma.core.MaskedArray.var 35 1 2.857% []
numpy.linalg.linalg.matrix_power 32 0 0.0% []
numpy.linalg.linalg.qr 47 0 0.0% []
numpy.linalg.linalg.svd 41 0 0.0% []
numpy.linalg.linalg.lstsq 38 0 0.0% []
numpy.linalg.linalg.norm 82 0 0.0% []
numpy.ctypeslib.ndpointer 45 0 0.0% []
bottleneck.slow.move.lastrank 32 0 0.0% []
numpy.lib.npyio._read 98 1 1.020% []
numpy.lib.npyio.savetxt.WriteWrap.first_write 67 0 0.0% []
numpy.lib.npyio.genfromtxt 169 0 0.0% []
numpy.lib.npyio.genfromtxt.tobytes_first 77 0 0.0% []
numpy.lib.npyio.genfromtxt.encode_unicode_cols 79 1 1.265% []
numpy.lib.format._read_array_header 37 0 0.0% []
numpy.lib.format.read_array 32 0 0.0% []
numpy.polynomial.chebyshev._zseries_div 31 0 0.0% []
numpy.polynomial.chebyshev.chebint 37 0 0.0% []
numpy.lib._iotools.NameValidator.validate 38 0 0.0% []
numpy.lib._iotools.StringConverter.__init__ 46 0 0.0% []
numpy.core.records.fromfile 33 0 0.0% []
numpy.core.records.array 41 0 0.0% []
numpy.core.arrayprint._formatArray.recurser 58 0 0.0% []
numpy.core.arrayprint.FloatingFormat.fillFormat 56 0 0.0% []
numpy.ma.extras.apply_along_axis 69 1 1.449% []
numpy.ma.extras.average 31 0 0.0% []
numpy.ma.extras._median 36 0 0.0% []
numpy.ma.extras.corrcoef 31 3 9.677% []
numpy.lib.function_base.select 31 0 0.0% []
numpy.lib.function_base.gradient 113 0 0.0% []
numpy.lib.function_base.diff 37 0 0.0% []
numpy.lib.function_base.cov 69 0 0.0% []
numpy.lib.function_base._ureduce 33 16 48.48% []
numpy.lib.function_base._quantile 34 0 0.0% []
numpy.lib.function_base.delete 89 0 0.0% []
numpy.lib.function_base.insert 67 0 0.0% []
numpy.core._machar.MachAr._do_init 178 0 0.0% []
numpy.lib.index_tricks.nd_grid.__getitem__ 55 2 3.636% []
numpy.lib.index_tricks.AxisConcatenator.__getitem__ 82 0 0.0% []
numpy.core.einsumfunc._greedy_path 34 0 0.0% []
numpy.core.einsumfunc._can_dot 31 0 0.0% []
numpy.core.einsumfunc._parse_einsum_input 103 0 0.0% []
numpy.core.einsumfunc.einsum_path 107 0 0.0% []
numpy.core.einsumfunc.einsum 42 0 0.0% []
numpy.lib.nanfunctions.nanvar 34 3 8.823% []
numpy.core.defchararray.array 40 0 0.0% []
numpy.core.memmap.memmap.__new__ 52 0 0.0% []
numpy.core._internal._array_descr 34 0 0.0% []
numpy.core._internal._commastring 33 0 0.0% []
numpy.core._internal.__dtype_from_pep3118 78 0 0.0% []
numpy.lib.histograms._get_bin_edges 40 0 0.0% []
numpy.lib.histograms.histogram 54 0 0.0% []
numpy.lib.histograms.histogramdd 57 0 0.0% []
numpy.lib.arraysetops.in1d 69 0 0.0% []
numpy.lib.arraypad._set_reflect_both 35 0 0.0% []
numpy.lib.arraypad.pad 74 0 0.0% []
numpy.testing._private.nosetester.NoseTester.prepare_test_args 36 0 0.0% []
numpy.testing._private.nosetester.NoseTester.test 34 0 0.0% []
bottleneck.tests.util.array_generator 82 0 0.0% []
numpy.polynomial.polynomial.polyint 35 0 0.0% []
numpy.polynomial.polyutils._fit 53 0 0.0% []
numpy.polynomial._polybase.ABCPolyBase._repr_latex_ 33 0 0.0% []
numpy.polynomial.hermite.hermint 34 0 0.0% []
numpy.polynomial.hermite_e.hermeint 34 0 0.0% []
numpy.polynomial.legendre.legint 38 0 0.0% []
numpy.polynomial.laguerre.lagint 35 0 0.0% []
bottleneck.benchmark.bench.benchsuite.getsetups 53 0 0.0% []

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
[] []
operator [] []
contextlib [] []
numpy.doc.ufuncs [] []
numpy.distutils.fcompiler.absoft [] []
numpy.typing.tests.data.pass.literal [] []
numpy._typing._dtype_like [] []
numpy.core._methods [] []
bottleneck.tests [] []
numpy.typing [] []
json [] []
numpy [] []
numpy.core._add_newdocs [] []
numpy._typing._add_docstring [] []
numpy.linalg.linalg [] []
numpy.compat._inspect [] []
numpy.f2py.__version__ [] []
atexit [] []
numpy.f2py.f2py2e [] []
numpy.lib.ufunclike [] []
numpy.core.einsumfunc [] []
numpy.distutils.misc_util [] []
numpy.array_api._manipulation_functions [] []
numbers [] []
numpy.compat.py3k [] []
numpy.typing.tests.data.pass.numeric [] []
numpy_distutils [] []
numpy.distutils.fcompiler.none [] []
numpy.core._ufunc_config ['fuzz_bn'] []
numpy.distutils.fcompiler.arm [] []
contextvars [] []
numpy.distutils.exec_command [] []
numpy.distutils.ccompiler_opt [] []
sys [] []
numpy.array_api._array_object [] []
numpy.typing.tests.data.pass.simple_py3 [] []
numpy.random._examples.cffi.extending [] []
numpy.typing.tests.data.pass.lib_version [] []
[] []
numpy.distutils.system_info [] []
numpy.random [] []
abc [] []
numpy._version [] []
numpy.compat._pep440 [] []
importlib [] []
numba [] []
numpy.distutils.fcompiler.g95 [] []
bottleneck.benchmark.bench_detailed [] []
numpy._pyinstaller.pyinstaller-smoke [] []
pickle [] []
numpy.lib.arrayterator [] []
numpy.core._dtype [] []
...fuzz_bn ['fuzz_bn'] []
numpy.core.generate_numpy_api [] []
numpy.array_api.linalg [] []
numpy.array_api._utility_functions [] []
numpy._typing.setup [] []
numpy.core._add_newdocs_scalars [] []
functools [] []
traceback [] []
numpy.distutils.msvc9compiler [] []
numpy.distutils.fcompiler.fujitsu [] []
numpy._typing._generic_alias [] []
numpy.lib.npyio [] []
code_generators [] []
numpy.fft [] []
numpy.distutils.command.install_headers [] []
numpy.distutils.numpy_distribution [] []
numpy.typing.tests.data.pass.random [] []
bottleneck.slow.move [] []
zipfile [] []
numpy.f2py.rules [] []
numpy.distutils.fcompiler.pg [] []
numpy.f2py.cb_rules [] []
numpy._typing._char_codes [] []
numpy.distutils.command.install [] []
numpy.conftest [] []
numpy._typing._array_like [] []
numpy.core._string_helpers [] []
numpy.fft._pocketfft [] []
numpy.ma.testutils ['fuzz_bn'] []
numpy.distutils.fcompiler.environment [] []
numpy._distributor_init [] []
numpy.lib._version [] []
numpy.f2py.crackfortran [] []
mmap [] []
numpy.distutils.fcompiler.lahey [] []
numpy.core.umath [] []
numpy.distutils.command.egg_info [] []
numpy.f2py.capi_maps [] []
numpy.lib.setup [] []
numpy.array_api._elementwise_functions [] []
numpy.distutils.from_template [] []
numpy.distutils.npy_pkg_config [] []
numpy.array_api._dtypes [] []
bottleneck._pytesttester [] []
curses [] []
bottleneck.src.bn_config [] []
numpy._pyinstaller.hook-numpy [] []
bottleneck.benchmark [] []
numpy.core.cversions [] []
numpy.core.numerictypes ['fuzz_bn'] []
numpy.distutils.fcompiler.intel [] []
numpy.distutils.command.build_ext [] []
bottleneck [] []
cffi [] []
numpy._pyinstaller.test_pyinstaller [] []
numpy.core._exceptions [] []
numpy.distutils.armccompiler [] []
doctest [] []
numpy.matlib [] []
numpy.typing.tests.data.pass.multiarray [] []
numpy.linalg.setup [] []
_pcg64 [] []
numpy.distutils.core [] []
numpy.lib.arraysetops [] []
types [] []
numpy.distutils.command.install_data [] []
os [] []
numpy.typing.tests.data.pass.fromnumeric [] []
numpy.testing.print_coercion_tables [] []
numpy.polynomial.hermite [] []
numpy.typing.tests.data.pass.simple [] []
bottleneck.slow [] []
numpy.core._type_aliases [] []
numpy._pyinstaller [] []
numpy.ma.core ['fuzz_bn'] []
numpy.typing.tests.data.pass.warnings_and_errors [] []
numpy.f2py.f90mod_rules [] []
mypy [] []
numpy.array_api._constants [] []
numpy.f2py.__main__ [] []
numpy.polynomial [] []
numpy.array_api.setup [] []
numpy.lib.stride_tricks [] []
numpy.distutils.command.install_clib [] []
configparser [] []
numpy.core [] []
copy [] []
numpy._typing._shape [] []
numpy.distutils.fcompiler.nag [] []
numpy.distutils.command.config_compiler [] []
numpy.typing.tests.data.pass.lib_utils [] []
numpy.core.shape_base [] []
numpy.distutils.__config__ [] []
re [] []
numpy.distutils.fcompiler.pathf95 [] []
numpy.distutils.command.build_clib [] []
collections [] []
numpy.core.getlimits [] []
numpy.distutils.ccompiler [] []
numpy.lib.recfunctions [] []
_pocketfft_internal [] []
numpy.typing.tests.data.pass.comparisons [] []
numpy.core.arrayprint [] []
numpy.polynomial.hermite_e [] []
numpy.random.tests.data [] []
nose [] []
numpy.distutils.command.build [] []
numpy.typing.tests.data.pass.dtype [] []
numpy.testing.utils [] []
numpy.matrixlib.setup [] []
numpy.core.defchararray [] []
numpy.typing.tests.data.pass.ufunc_config [] []
concurrent [] []
numpy.ma.bench [] []
numpy.lib [] []
numpy.distutils._shell_utils [] []
numpy.f2py.auxfuncs [] []
numpy.typing.tests.data.pass.einsumfunc [] []
atheris [] []
numpy.core.records [] []
numpy.compat.setup [] []
numpy.typing.tests.data.pass.ndarray_misc [] []
numpy.distutils.line_endings [] []
numpy.f2py.common_rules [] []
numpy.random._examples.cython.setup [] []
numpy.typing.tests.data.pass.ndarray_shape_manipulation [] []
numpy.random._examples.cffi.parse [] []
move [] []
gc [] []
pprint [] []
numpy.distutils.fcompiler.vast [] []
unittest [] []
numpy.core.setup [] []
urllib [] []
bottleneck.slow.reduce [] []
numpy.core._internal [] []
ast [] []
numpy.testing.setup [] []
numpy.lib.nanfunctions [] []
_dummy_thread [] []
threadpoolctl [] []
builtins [] []
numpy.lib.utils [] []
numpy.distutils.command.build_py [] []
numpy.doc.constants [] []
numpy.distutils.conv_template [] []
_mt19937 [] []
tokenize [] []
numpy.core.overrides [] []
numpy.distutils.cpuinfo [] []
bottleneck.slow.nonreduce_axis [] []
numpy.__config__ [] []
numpy.typing.tests.data.pass.ufunclike [] []
numpy.polynomial.polyutils [] []
numpy.distutils.extension [] []
bottleneck._version [] []
numpy._typing._nbit [] []
locale [] []
copyreg [] []
numpy.distutils.log [] []
win32pdh [] []
io [] []
numpy.array_api._data_type_functions [] []
numpy.distutils.mingw32ccompiler [] []
numpy.core.fromnumeric ['fuzz_bn'] []
numpy.compat [] []
numpy._typing [] []
pytest [] []
numpy.array_api._set_functions [] []
numpy.testing._private.decorators [] []
numpy.polynomial.setup [] []
numpy.typing.setup [] []
numpy.polynomial.chebyshev [] []
numpy.polynomial.polynomial [] []
numpy.ma.mrecords [] []
psutil [] []
mtrand [] []
numpy.f2py.setup [] []
weakref [] []
numpy.matrixlib [] []
pipes [] []
numpy.array_api._statistical_functions [] []
numpy.lib.histograms [] []
distutils [] []
numpy.distutils.command.config [] []
numpy.array_api._searching_functions [] []
numpy.lib._iotools [] []
struct [] []
tempfile [] []
ctypes [] []
numpy.testing._private.noseclasses [] []
numpy.distutils.command.autodist [] []
_multiarray_umath [] []
numpy.ma.timer_comparison [] []
numpy.ma.setup [] []
numpy.polynomial._polybase [] []
numpy.distutils.fcompiler.gnu [] []
inspect [] []
numpy.testing._private.extbuild [] []
numpy.ma.extras [] []
PyInstaller [] []
numpy.lib.polynomial [] []
difflib [] []
warnings [] []
numpy.distutils.intelccompiler [] []
numpy._pytesttester [] []
hypothesis [] []
numpy.core._dtype_ctypes [] []
multiprocessing [] []
numpy.distutils.fcompiler.mips [] []
numpy.lib.arraypad [] []
optparse [] []
numpy._typing._nested_sequence [] []
numpy.core.setup_common [] []
numpy.distutils.command [] []
numpy.f2py.cfuncs [] []
numpy.core.memmap [] []
itertools [] []
numpy.matrixlib.defmatrix [] []
numpy.polynomial.laguerre [] []
numpy.core.multiarray [] []
Cython [] []
numpy.f2py [] []
bottleneck.tests.util [] []
numpy.distutils.command.sdist [] []
_thread [] []
numpy.distutils.fcompiler.sun [] []
fileinput [] []
numpy.lib.shape_base [] []
numpy.lib.type_check [] []
shutil [] []
subprocess [] []
numpy.array_api._creation_functions [] []
numpy.array_api._sorting_functions [] []
numpy.f2py.use_rules [] []
_generator [] []
numpy.ma [] []
numpy.typing.mypy_plugin [] []
shlex [] []
numpy.f2py.symbolic [] []
numpy.lib.user_array [] []
numpy.random._examples.numba.extending_distributions [] []
glob [] []
numpy.typing.tests.data.pass.flatiter [] []
numpy.core.tests.examples.cython.setup [] []
sysconfig [] []
numpy.setup [] []
pathlib [] []
numpy.lib.twodim_base [] []
numpy.typing.tests.data.pass.ufuncs [] []
numpy._globals [] []
numpy.typing.tests.data.pass.index_tricks [] []
numpy.typing.tests.data.pass.arithmetic [] []
numpy._typing._extended_precision [] []
numpy.distutils.setup [] []
numpy.typing.tests.data.pass.array_constructors [] []
bottleneck.src [] []
numpy.distutils.fcompiler.ibm [] []
numpy.distutils.lib2def [] []
numpy.core.numeric ['fuzz_bn'] []
numpy.random._examples.numba.extending [] []
numpy.typing.tests.data.pass.arrayprint [] []
numpy.distutils.command.develop [] []
numpy.polynomial.legendre [] []
numpy.distutils.fcompiler.compaq [] []
numpy.testing._private [] []
threading [] []
numpy.typing.tests.data.pass.bitwise_ops [] []
numpy.array_api._typing [] []
numpy.core.umath_tests [] []
datetime [] []
numpy.typing.tests.data.pass.ndarray_conversion [] []
bottleneck.benchmark.bench [] []
genapi [] []
winreg [] []
setuptools [] []
numpy.distutils.fcompiler.hpux [] []
platform [] []
numpy.version [] []
numpy.typing.tests.data.pass.mod [] []
numpy.testing._private.parameterized [] []
numpy.distutils.msvccompiler [] []
numpy.testing._private.nosetester [] []
numpy.typing.tests.data.pass.numerictypes [] []
numpy.random.setup [] []
numpy.lib.mixins [] []
time [] []
numpy.typing.tests.data.pass.scalars [] []
base64 [] []
numpy._typing._scalars [] []
numpy.core._asarray [] []
timeit [] []
numpy.testing._private.utils ['fuzz_bn'] []
numpy.lib.function_base [] []
bottleneck.benchmark.autotimeit [] []
numpy.distutils.pathccompiler [] []
hashlib [] []
numpy.distutils.fcompiler [] []
numpy.lib._datasource [] []
numpy.dual [] []
numpy.distutils.fcompiler.nv [] []
numpy.distutils.command.build_src [] []
numpy.core.function_base [] []
numpy.lib.scimath [] []
numpy.fft.setup [] []
numpy.ctypeslib [] []
numpy.distutils.command.build_scripts [] []
numpy.distutils [] []
pickle5 [] []
numpy.core.tests.examples.limited_api.setup [] []
numpy.core._machar [] []
bottleneck.slow.nonreduce [] []
pydoc [] []
numpy.array_api [] []
numpy.linalg [] []
numpy.typing.tests.data.pass.array_like [] []
textwrap [] []
charset_normalizer [] []
numpy.f2py.diagnose [] []
numpy.testing [] []
numpy.fft.helper [] []
numpy.distutils.command.bdist_rpm [] []
numpy.typing.tests.data.pass.arrayterator [] []
numpy.distutils.unixccompiler [] []
numpy.typing.tests.data.pass.modules [] []
numpy.doc [] []
numpy.lib.index_tricks [] []
numpy.f2py.func2subr [] []
numpy.random._pickle [] []
math [] []
posixpath [] []
bottleneck.src.bn_template [] []
numpy.lib.format [] []
typing [] []

Directories in report

Directory

Function call coverage

This section shows a chosen list of functions / methods calls and their relative coverage information. By static analysis of the target project code, all of these function call and their caller information, including the source file or class and line number that initiate the call are captured. Column 1 is the function name of that selected functions or methods. Column 2 of each row indicate if the target function covered by any fuzzer calltree information. Column 3 lists all fuzzers (or no fuzzers at all) that have coered that particular function call dynamically. Column 4 shows list of parent function for the specific function call, while column 5 shows possible blocker functions that make the fuzzers fail to reach the specific functions. Both column 4 and 5 will only show information if none of the fuzzers cover the target function calls.

Function in each files in report

Target sink Callsite location Reached by fuzzer Function call path Covered by fuzzer Possible branch blockers
.eval Not in fuzzer provided call tree []
Parent functions Callpaths
numpy.testing._private.parameterized.parameterized.__call__
in numpy.testing._private.parameterized:281
Path 1
numpy.distutils.misc_util.get_path_from_frame
in numpy.distutils.misc_util:148
Path 1
Path 2
Path 3
Path 4
Path 5
Path 6
Path 7
Path 8
Path 9
Path 10
Path 11
Path 12
Path 13
Path 14
Path 15
Path 16
Path 17
numpy.f2py.f2py2e.buildmodules
in numpy.f2py.f2py2e:366
Path 1
numpy.f2py.crackfortran
in numpy.f2py.crackfortran:-1
Path 1
numpy.f2py.crackfortran.myeval
in numpy.f2py.crackfortran:2230
Path 1
numpy.f2py.auxfuncs.l_or
in numpy.f2py.auxfuncs:606
Path 1
Path 2
Path 3
numpy.ma.timer_comparison
in numpy.ma.timer_comparison:-1
Path 1
0
Blocker function Arguments type Return type Constants touched
numpy.testing._private.parameterized.parameterized.__call__
in numpy.testing._private.parameterized:281
['N/A', 'N/A'] N/A []
numpy.setup.configuration
in numpy.setup:3
['N/A', 'N/A'] N/A []
numpy.compat.setup.configuration
in numpy.compat.setup:1
['N/A', 'N/A'] N/A []
numpy.array_api.setup.configuration
in numpy.array_api.setup:1
['N/A', 'N/A'] N/A []
numpy.ma.setup
in numpy.ma.setup:-1
[] N/A []
numpy.random.setup.configuration
in numpy.random.setup:9
['N/A', 'N/A'] N/A []
numpy.testing.setup.configuration
in numpy.testing.setup:3
['N/A', 'N/A'] N/A []
numpy.f2py.setup
in numpy.f2py.setup:-1
[] N/A []
numpy.typing.setup.configuration
in numpy.typing.setup:1
['N/A', 'N/A'] N/A []
numpy.distutils.setup.configuration
in numpy.distutils.setup:2
['N/A', 'N/A'] N/A []
numpy.matrixlib.setup
in numpy.matrixlib.setup:-1
[] N/A []
numpy.core.setup.configuration
in numpy.core.setup:464
['N/A', 'N/A'] N/A []
numpy.lib.setup.configuration
in numpy.lib.setup:1
['N/A', 'N/A'] N/A []
numpy.polynomial.setup.configuration
in numpy.polynomial.setup:1
['N/A', 'N/A'] N/A []
numpy.fft.setup.configuration
in numpy.fft.setup:3
['N/A', 'N/A'] N/A []
numpy.linalg.setup.configuration
in numpy.linalg.setup:5
['N/A', 'N/A'] N/A []
numpy.distutils.misc_util.default_config_dict
in numpy.distutils.misc_util:2282
['N/A', 'N/A', 'N/A'] N/A []
numpy._typing.setup.configuration
in numpy._typing.setup:1
['N/A', 'N/A'] N/A []
numpy.f2py.__main__
in numpy.f2py.__main__:-1
[] N/A []
numpy.f2py.crackfortran
in numpy.f2py.crackfortran:-1
[] N/A []
numpy.f2py.crackfortran.getlincoef
in numpy.f2py.crackfortran:2240
['N/A', 'N/A'] N/A []
numpy.f2py.capi_maps.common_sign2map
in numpy.f2py.capi_maps:860
['N/A', 'N/A'] N/A []
numpy.f2py.cb_rules
in numpy.f2py.cb_rules:-1
[] N/A []
numpy.f2py.rules
in numpy.f2py.rules:-1
[] N/A []
numpy.ma.timer_comparison
in numpy.ma.timer_comparison:-1
[] N/A []
.exec Not in fuzzer provided call tree []
Parent functions Callpaths
numpy.testing._private.utils.runstring
in numpy.testing._private.utils:1187
Path 1
numpy.testing._private.utils.measure
in numpy.testing._private.utils:1454
Path 1
0
Blocker function Arguments type Return type Constants touched
numpy.testing._private.utils.runstring
in numpy.testing._private.utils:1187
['N/A', 'N/A'] N/A []
numpy.testing._private.utils.measure
in numpy.testing._private.utils:1454
['N/A', 'N/A', 'N/A'] N/A []