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

Project overview: opencv

High level conclusions

Fuzzers reach 8.475% of cyclomatic complexity. Improvements could be made
Fuzzers reach 8.446% of all functions. Improvements need to be made
Fuzzer readnetfromtensorflow_fuzzer is blocked: runtime coverage only covers 17.72% of its reachable functions.

Reachability and coverage overview

Functions statically reachable by fuzzers
8.45%
3193/37804
Cyclomatic complexity statically reachable by fuzzers
8.48%
24402/287928
Functions covered at runtime
3291

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
core_fuzzer /src/core_fuzzer.cc 826 17918 30 85 13371 8072 core_fuzzer.cc
imread_fuzzer /src/imread_fuzzer.cc 764 16200 29 75 12024 7408 imread_fuzzer.cc
filestorage_read_file_fuzzer /src/filestorage_read_file_fuzzer.cc 19 8152 3 5 40 42 filestorage_read_file_fuzzer.cc
generateusergallerycollage_fuzzer /src/generateusergallerycollage_fuzzer.cc 401 7189 30 42 6112 3491 generateusergallerycollage_fuzzer.cc
imencode_fuzzer /src/imencode_fuzzer.cc 473 16484 29 44 6966 4026 imencode_fuzzer.cc
imdecode_fuzzer /src/imdecode_fuzzer.cc 758 16199 29 76 12129 7499 imdecode_fuzzer.cc
filestorage_read_filename_fuzzer /src/filestorage_read_filename_fuzzer.cc 344 7822 29 38 5813 3619 filestorage_read_filename_fuzzer.cc
filestorage_read_string_fuzzer /src/filestorage_read_string_fuzzer.cc 344 7822 29 38 5813 3619 filestorage_read_string_fuzzer.cc
readnetfromtensorflow_fuzzer /src/readnetfromtensorflow_fuzzer.cc 2657 27100 43 143 29359 18240 readnetfromtensorflow_fuzzer.cc

Fuzzer details

Fuzzer: core_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
207 1218 cv::_OutputArray::create(int, int const*, int, int, bool, cv::_OutputArray::DepthMask) const call site __cxa_guard_acquire
147 916 cv::_InputArray::isUMat() const call site __clang_call_terminate
128 1904 ipp::IwiImage::~IwiImage() call site __clang_call_terminate
107 189 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site __clang_call_terminate
92 1604 cv::Mat::convertTo(cv::_OutputArray const&, int, double, double) const call site __clang_call_terminate
83 316 void cv::detail::check_failed_auto_ (unsigned long const&, unsigned long const&, cv::detail::CheckContext const&) call site __clang_call_terminate
53 2051 cv::_InputArray::copyTo(cv::_OutputArray const&) const call site
53 2213 cv::flip(cv::_InputArray const&, cv::_OutputArray const&, int) call site
51 2127 cv::_InputArray::empty() const call site
49 1075 cv::Mat::create(cv::Size_ , int) call site __cxa_end_catch
43 1152 cv::_OutputArray::create(int, int const*, int, int, bool, cv::_OutputArray::DepthMask) const call site
35 2536 cv::merge(cv::_InputArray const&, cv::_OutputArray const&) call site

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
503
Reachable functions
826
Percentage of reachable functions covered
39.1%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/core_fuzzer.cc 4
//src/opencv/modules/core/src/matrix.cpp 39
//src/opencv/modules/core/include/opencv2/core/mat.inl.hpp 38
//src/opencv/modules/core/src/system.cpp 41
//usr/local/bin/../include/c++/v1/exception 3
/ 69
//work/install-introspector/include/opencv4/opencv2/core/mat.inl.hpp 8
//work/install-introspector/include/opencv4/opencv2/core/types.hpp 1
//src/opencv/modules/imgcodecs/src/loadsave.cpp 8
//src/opencv/modules/core/src/trace.cpp 31
//src/opencv/modules/core/include/opencv2/core/utils/tls.hpp 14
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 34
//src/opencv/modules/core/include/opencv2/core/utils/trace.private.hpp 16
//src/opencv/modules/core/src/ocl.cpp 118
//src/opencv/modules/core/src/logger.cpp 5
//src/opencv/modules/core/src/utils/logtagmanager.cpp 24
//src/opencv/modules/core/include/opencv2/core/utils/logtag.hpp 1
//src/opencv/modules/core/src/utils/logtagmanager.hpp 8
//src/opencv/3rdparty/ittnotify/include/ittnotify.h 1
//src/opencv/modules/core/include/opencv2/core/utility.hpp 47
//src/opencv/modules/core/include/opencv2/core/utils/trace.hpp 2
//src/opencv/modules/core/include/opencv2/core/ocl.hpp 18
//usr/include/stdlib.h 1
//src/opencv/modules/core/src/check.cpp 14
//src/opencv/modules/core/src/utils/logtagconfigparser.cpp 11
//usr/include/ctype.h 1
//src/opencv/modules/core/include/opencv2/core/cvstd.hpp 2
//src/opencv/modules/core/src/utils/logtagconfig.hpp 2
//src/opencv/modules/core/src/matrix_wrap.cpp 18
//src/opencv/modules/core/include/opencv2/core/mat.hpp 11
//src/opencv/modules/core/src/alloc.cpp 5
//src/opencv/modules/core/include/opencv2/core/types.hpp 14
//src/opencv/modules/core/src/umatrix.cpp 32
//src/opencv/modules/core/include/opencv2/core/opengl.hpp 3
//src/opencv/modules/core/include/opencv2/core/cuda.inl.hpp 7
//src/opencv/modules/imgcodecs/src/grfmt_base.hpp 1
//src/opencv/modules/imgproc/src/resize.cpp 17
//src/opencv/modules/core/include/opencv2/core/saturate.hpp 3
//src/opencv/modules/core/include/opencv2/core/fast_math.hpp 5
//usr/local/bin/../include/c++/v1/stdlib.h 1
//src/opencv/modules/core/include/opencv2/core/cvstd.inl.hpp 1
//src/opencv/modules/core/src/copy.cpp 1
//src/opencv/modules/core/src/convert.dispatch.cpp 2
//src/opencv/modules/core/include/opencv2/core/private.hpp 7
//src/opencv/modules/core/src/matrix_iterator.cpp 3
//src/opencv/modules/core/src/convert.simd.hpp 1
//src/opencv/modules/core/src/convert_scale.dispatch.cpp 1
//src/opencv/modules/core/src/convert_scale.simd.hpp 1
//src/opencv/modules/imgproc/src/hal_replacement.hpp 1
//src/opencv/modules/imgproc/src/precomp.hpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_image.hpp 10
//src/opencv/modules/core/src/parallel.cpp 16
//src/opencv/modules/core/src/parallel/parallel.cpp 4
//src/opencv/modules/core/src/parallel/registry_parallel.impl.hpp 7
//src/opencv/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 1
//src/opencv/modules/core/src/parallel/registry_parallel.hpp 2
//src/opencv/modules/core/src/parallel_impl.cpp 4
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_image_transform.hpp 6
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image_transform_warpaffine.c 1
//src/opencv/modules/core/include/opencv2/core/operations.hpp 2
//src/opencv/modules/core/src/rand.cpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_core.hpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_core.c 2
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image.c 2
//src/opencv/modules/imgproc/src/resize.avx2.cpp 4
//src/opencv/modules/imgproc/src/resize.sse4_1.cpp 4
//src/opencv/modules/core/src/buffer_area.cpp 11
//src/opencv/modules/core/include/opencv2/core/utils/buffer_area.private.hpp 1
//usr/local/bin/../include/c++/v1/math.h 1
//src/opencv/modules/imgcodecs/src/grfmt_base.cpp 1
//src/opencv/modules/imgcodecs/src/exif.cpp 2
//src/opencv/modules/imgcodecs/src/exif.hpp 2
//src/opencv/modules/core/src/matrix_transform.cpp 8
//src/opencv/modules/core/include/opencv2/core/hal/intrin.hpp 1
//src/opencv/modules/core/include/opencv2/core/hal/intrin_sse.hpp 10
//work/install-introspector/include/opencv4/opencv2/core.hpp 1
//src/opencv/modules/core/src/matrix_expressions.cpp 5
//src/opencv/modules/core/include/opencv2/core/matx.hpp 4
//work/install-introspector/include/opencv4/opencv2/core/mat.hpp 1
//src/opencv/modules/core/src/split.dispatch.cpp 5
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image_op_copy_split.c 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image_op_copy_channel.c 1
//src/opencv/modules/core/src/merge.dispatch.cpp 5
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image_op_copy_merge.c 1
//src/opencv/modules/core/src/channels.cpp 2

Fuzzer: imread_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
207 1153 cv::_OutputArray::create(int, int const*, int, int, bool, cv::_OutputArray::DepthMask) const call site __cxa_guard_acquire
128 1877 ipp::IwiImage::~IwiImage() call site __clang_call_terminate
118 713 cv::_InputArray::isUMat() const call site
117 1583 cv::Mat::convertTo(cv::_OutputArray const&, int, double, double) const call site __clang_call_terminate
107 189 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site __clang_call_terminate
83 316 void cv::detail::check_failed_auto_ (unsigned long const&, unsigned long const&, cv::detail::CheckContext const&) call site __clang_call_terminate
53 2024 cv::_InputArray::copyTo(cv::_OutputArray const&) const call site
52 2185 cv::flip(cv::_InputArray const&, cv::_OutputArray const&, int) call site
51 1007 cv::Mat::create(cv::Size_ , int) call site __cxa_end_catch
51 2100 cv::_InputArray::empty() const call site
50 834 cv::Mat::~Mat() call site __clang_call_terminate
43 633 cv::MatSize::operator()() const call site

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
473
Reachable functions
764
Percentage of reachable functions covered
38.09%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/imread_fuzzer.cc 1
/src/./fuzzer_temp_file.h 5
/ 51
//src/opencv/modules/imgcodecs/src/loadsave.cpp 8
//src/opencv/modules/core/src/trace.cpp 31
//src/opencv/modules/core/include/opencv2/core/utils/tls.hpp 14
//src/opencv/modules/core/src/system.cpp 40
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 34
//usr/local/bin/../include/c++/v1/exception 3
//src/opencv/modules/core/include/opencv2/core/utils/trace.private.hpp 16
//src/opencv/modules/core/src/ocl.cpp 117
//src/opencv/modules/core/src/logger.cpp 5
//src/opencv/modules/core/src/utils/logtagmanager.cpp 24
//src/opencv/modules/core/include/opencv2/core/utils/logtag.hpp 1
//src/opencv/modules/core/src/utils/logtagmanager.hpp 8
//src/opencv/3rdparty/ittnotify/include/ittnotify.h 1
//src/opencv/modules/core/include/opencv2/core/utility.hpp 45
//src/opencv/modules/core/include/opencv2/core/utils/trace.hpp 2
//src/opencv/modules/core/include/opencv2/core/ocl.hpp 17
//usr/include/stdlib.h 1
//src/opencv/modules/core/src/check.cpp 14
//src/opencv/modules/core/src/utils/logtagconfigparser.cpp 11
//usr/include/ctype.h 1
//src/opencv/modules/core/include/opencv2/core/cvstd.hpp 2
//src/opencv/modules/core/src/utils/logtagconfig.hpp 2
//src/opencv/modules/core/src/matrix.cpp 36
//src/opencv/modules/core/include/opencv2/core/mat.inl.hpp 39
//src/opencv/modules/imgcodecs/src/grfmt_base.hpp 1
//src/opencv/modules/core/include/opencv2/core/types.hpp 12
//src/opencv/modules/core/include/opencv2/core/mat.hpp 10
//src/opencv/modules/core/src/alloc.cpp 5
//src/opencv/modules/imgproc/src/resize.cpp 17
//src/opencv/modules/core/src/matrix_wrap.cpp 16
//src/opencv/modules/core/include/opencv2/core/opengl.hpp 3
//src/opencv/modules/core/include/opencv2/core/cuda.inl.hpp 7
//src/opencv/modules/core/include/opencv2/core/saturate.hpp 3
//src/opencv/modules/core/include/opencv2/core/fast_math.hpp 5
//usr/local/bin/../include/c++/v1/stdlib.h 1
//src/opencv/modules/core/src/umatrix.cpp 32
//src/opencv/modules/core/include/opencv2/core/cvstd.inl.hpp 1
//src/opencv/modules/core/src/copy.cpp 1
//src/opencv/modules/core/src/convert.dispatch.cpp 2
//src/opencv/modules/core/include/opencv2/core/private.hpp 7
//src/opencv/modules/core/src/matrix_iterator.cpp 3
//src/opencv/modules/core/src/convert.simd.hpp 1
//src/opencv/modules/core/src/convert_scale.dispatch.cpp 1
//src/opencv/modules/core/src/convert_scale.simd.hpp 1
//src/opencv/modules/imgproc/src/hal_replacement.hpp 1
//src/opencv/modules/imgproc/src/precomp.hpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_image.hpp 10
//src/opencv/modules/core/src/parallel.cpp 16
//src/opencv/modules/core/src/parallel/parallel.cpp 4
//src/opencv/modules/core/src/parallel/registry_parallel.impl.hpp 7
//src/opencv/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 1
//src/opencv/modules/core/src/parallel/registry_parallel.hpp 2
//src/opencv/modules/core/src/parallel_impl.cpp 4
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_image_transform.hpp 6
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image_transform_warpaffine.c 1
//src/opencv/modules/core/include/opencv2/core/operations.hpp 2
//src/opencv/modules/core/src/rand.cpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_core.hpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_core.c 2
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image.c 2
//src/opencv/modules/imgproc/src/resize.avx2.cpp 4
//src/opencv/modules/imgproc/src/resize.sse4_1.cpp 4
//src/opencv/modules/core/src/buffer_area.cpp 11
//src/opencv/modules/core/include/opencv2/core/utils/buffer_area.private.hpp 1
//usr/local/bin/../include/c++/v1/math.h 1
//src/opencv/modules/imgcodecs/src/grfmt_base.cpp 1
//src/opencv/modules/imgcodecs/src/exif.cpp 2
//src/opencv/modules/imgcodecs/src/exif.hpp 2
//src/opencv/modules/core/src/matrix_transform.cpp 8
//src/opencv/modules/core/include/opencv2/core/hal/intrin.hpp 1
//src/opencv/modules/core/include/opencv2/core/hal/intrin_sse.hpp 10
//work/install-introspector/include/opencv4/opencv2/core.hpp 1

Fuzzer: filestorage_read_file_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 9 fuzzer_get_tmpfile(unsigned char const*, unsigned long) call site perror
3 13 fuzzer_get_tmpfile(unsigned char const*, unsigned long) call site close
2 3 fuzzer_get_tmpfile(unsigned char const*, unsigned long) call site perror
2 6 fuzzer_get_tmpfile(unsigned char const*, unsigned long) call site perror
2 17 fuzzer_get_tmpfile(unsigned char const*, unsigned long) call site
2 21 cv::Ptr cv::makePtr (cv::FileStorage* const&) call site
1 0 EP call site
1 25 fuzzer_release_tmpfile(char*) call site perror

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
10
Reachable functions
19
Percentage of reachable functions covered
47.37%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/filestorage_read_file_fuzzer.cc 1
/src/./fuzzer_temp_file.h 4
/ 10
//src/opencv/modules/core/src/persistence.cpp 2
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 3

Fuzzer: generateusergallerycollage_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
107 232 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site __clang_call_terminate
83 359 void cv::detail::check_failed_auto_ (unsigned long const&, unsigned long const&, cv::detail::CheckContext const&) call site __clang_call_terminate
43 667 cv::Mat::operator=(cv::Mat&&) call site __clang_call_terminate
41 188 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site strrchr
34 730 cv::MatSize::operator()() const call site
34 781 cv::_InputArray::type(int) const call site
31 468 cv::utils::logging::LogTagConfigParser::parse(std::__1::basic_string , std::__1::allocator > const&) call site toupper
17 632 cv::_InputArray::getMat_(int) const call site
16 340 cv::utils::getConfigurationParameterSizeT(char const*, unsigned long) call site __cxa_begin_catch
16 527 cv::utils::logging::internal::GlobalLoggingInitStruct::GlobalLoggingInitStruct() call site __cxa_begin_catch
15 503 cv::utils::logging::LogTagManager::setConfigString(std::__1::basic_string , std::__1::allocator > const&, bool) call site
15 932 cv::EllipseEx(cv::Mat&, cv::Point_ , cv::Size_ , int, int, int, void const*, int, int) call site _ZNK2cv6Point_IlEcvNS0_IT_EEIiEEv

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
201
Reachable functions
401
Percentage of reachable functions covered
49.88%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/generateusergallerycollage_fuzzer.cc 1
//work/install-introspector/include/opencv4/opencv2/core/types.hpp 4
//work/install-introspector/include/opencv4/opencv2/core/matx.hpp 4
//src/opencv/modules/core/src/matrix.cpp 30
//src/opencv/modules/core/include/opencv2/core/mat.inl.hpp 22
//src/opencv/modules/core/src/system.cpp 32
//usr/local/bin/../include/c++/v1/exception 1
/ 20
//src/opencv/modules/core/include/opencv2/core/mat.hpp 4
//src/opencv/modules/core/src/alloc.cpp 5
//src/opencv/modules/core/include/opencv2/core/utility.hpp 17
//src/opencv/modules/core/src/copy.cpp 11
//src/opencv/modules/core/src/trace.cpp 27
//src/opencv/modules/core/include/opencv2/core/utils/tls.hpp 12
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 5
//src/opencv/modules/core/include/opencv2/core/utils/trace.private.hpp 11
//src/opencv/modules/core/src/ocl.cpp 59
//src/opencv/modules/core/src/logger.cpp 5
//src/opencv/modules/core/src/utils/logtagmanager.cpp 24
//src/opencv/modules/core/include/opencv2/core/utils/logtag.hpp 1
//src/opencv/modules/core/src/utils/logtagmanager.hpp 8
//src/opencv/3rdparty/ittnotify/include/ittnotify.h 1
//src/opencv/modules/core/include/opencv2/core/utils/trace.hpp 2
//src/opencv/modules/core/include/opencv2/core/ocl.hpp 4
//usr/include/stdlib.h 1
//src/opencv/modules/core/src/check.cpp 4
//src/opencv/modules/core/src/utils/logtagconfigparser.cpp 11
//usr/include/ctype.h 1
//src/opencv/modules/core/include/opencv2/core/cvstd.hpp 1
//src/opencv/modules/core/src/utils/logtagconfig.hpp 2
//src/opencv/modules/core/src/matrix_iterator.cpp 3
//src/opencv/modules/core/include/opencv2/core/saturate.hpp 6
//src/opencv/modules/core/include/opencv2/core/fast_math.hpp 1
//work/install-introspector/include/opencv4/opencv2/core/mat.inl.hpp 4
//src/opencv/modules/imgproc/src/drawing.cpp 21
//src/opencv/modules/core/src/matrix_wrap.cpp 4
//src/opencv/modules/core/include/opencv2/core/types.hpp 17
//src/opencv/modules/core/src/umatrix.cpp 5
//src/opencv/modules/core/include/opencv2/core/opengl.hpp 2
//src/opencv/modules/core/include/opencv2/core/cuda.inl.hpp 5
//src/opencv/modules/imgproc/include/opencv2/imgproc.hpp 3
//usr/local/bin/../include/c++/v1/stdlib.h 1

Fuzzer: imencode_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
130 1155 cv::_InputArray::isUMat() const call site __clang_call_terminate
107 186 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site __clang_call_terminate
83 313 void cv::detail::check_failed_auto_ (unsigned long const&, unsigned long const&, cv::detail::CheckContext const&) call site __clang_call_terminate
68 835 cv::Mat::create(cv::Size_ , int) call site __cxa_guard_acquire
43 931 cv::_OutputArray::create(int, int const*, int, int, bool, cv::_OutputArray::DepthMask) const call site
43 997 cv::_OutputArray::create(int, int const*, int, int, bool, cv::_OutputArray::DepthMask) const call site
35 568 cv::Mat::operator=(cv::Mat&&) call site __cxa_begin_catch
35 710 cv::_InputArray::type(int) const call site
34 637 cv::MatSize::operator()() const call site
31 422 cv::utils::logging::LogTagConfigParser::parse(std::__1::basic_string , std::__1::allocator > const&) call site toupper
31 1295 cv::_OutputArray::create(int, int, int, int, bool, cv::_OutputArray::DepthMask) const call site
23 1095 cv::Mat::reshape(int, int) const call site

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
262
Reachable functions
473
Percentage of reachable functions covered
44.61%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/imencode_fuzzer.cc 1
//src/opencv/modules/core/src/matrix.cpp 36
//src/opencv/modules/core/include/opencv2/core/mat.inl.hpp 30
//src/opencv/modules/core/src/system.cpp 37
//usr/local/bin/../include/c++/v1/exception 2
/ 38
//work/install-introspector/include/opencv4/opencv2/core/mat.inl.hpp 3
//work/install-introspector/include/opencv4/opencv2/core/types.hpp 1
//src/opencv/modules/imgcodecs/src/loadsave.cpp 4
//src/opencv/modules/core/src/trace.cpp 27
//src/opencv/modules/core/include/opencv2/core/utils/tls.hpp 12
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 32
//src/opencv/modules/core/include/opencv2/core/utils/trace.private.hpp 11
//src/opencv/modules/core/src/ocl.cpp 62
//src/opencv/modules/core/src/logger.cpp 5
//src/opencv/modules/core/src/utils/logtagmanager.cpp 24
//src/opencv/modules/core/include/opencv2/core/utils/logtag.hpp 1
//src/opencv/modules/core/src/utils/logtagmanager.hpp 8
//src/opencv/3rdparty/ittnotify/include/ittnotify.h 1
//src/opencv/modules/core/include/opencv2/core/utility.hpp 21
//src/opencv/modules/core/include/opencv2/core/utils/trace.hpp 2
//src/opencv/modules/core/include/opencv2/core/ocl.hpp 4
//usr/include/stdlib.h 1
//src/opencv/modules/core/src/check.cpp 14
//src/opencv/modules/core/src/utils/logtagconfigparser.cpp 11
//usr/include/ctype.h 3
//src/opencv/modules/core/include/opencv2/core/cvstd.hpp 2
//src/opencv/modules/core/src/utils/logtagconfig.hpp 2
//src/opencv/modules/core/src/matrix_wrap.cpp 11
//src/opencv/modules/core/include/opencv2/core/mat.hpp 6
//src/opencv/modules/core/src/alloc.cpp 5
//src/opencv/modules/core/include/opencv2/core/types.hpp 9
//src/opencv/modules/core/src/umatrix.cpp 29
//src/opencv/modules/core/include/opencv2/core/opengl.hpp 2
//src/opencv/modules/core/include/opencv2/core/cuda.inl.hpp 5
//src/opencv/modules/core/src/convert.dispatch.cpp 2
//src/opencv/modules/core/include/opencv2/core/cvstd.inl.hpp 1
//src/opencv/modules/core/src/copy.cpp 1
//src/opencv/modules/core/src/convert.simd.hpp 1
//src/opencv/modules/core/src/convert_scale.dispatch.cpp 1
//src/opencv/modules/core/src/convert_scale.simd.hpp 1
//src/opencv/modules/core/src/matrix_iterator.cpp 3
//src/opencv/modules/core/include/opencv2/core/private.hpp 1
//work/install-introspector/include/opencv4/opencv2/core.hpp 1

Fuzzer: imdecode_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
209 1220 cv::_OutputArray::create(int, int const*, int, int, bool, cv::_OutputArray::DepthMask) const call site __cxa_guard_acquire
147 918 cv::_InputArray::isUMat() const call site __clang_call_terminate
128 1902 ipp::IwiImage::~IwiImage() call site __clang_call_terminate
121 1602 cv::Mat::convertTo(cv::_OutputArray const&, int, double, double) const call site __clang_call_terminate
107 186 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site __clang_call_terminate
83 313 void cv::detail::check_failed_auto_ (unsigned long const&, unsigned long const&, cv::detail::CheckContext const&) call site __clang_call_terminate
55 2211 cv::flip(cv::_InputArray const&, cv::_OutputArray const&, int) call site
53 2050 cv::_InputArray::copyTo(cv::_OutputArray const&) const call site
51 2126 cv::_InputArray::empty() const call site
49 1077 cv::Mat::create(cv::Size_ , int) call site __cxa_end_catch
43 1154 cv::_OutputArray::create(int, int const*, int, int, bool, cv::_OutputArray::DepthMask) const call site
35 569 cv::Mat::operator=(cv::Mat&&) call site __cxa_begin_catch

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
469
Reachable functions
758
Percentage of reachable functions covered
38.13%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/imdecode_fuzzer.cc 1
//src/opencv/modules/core/src/matrix.cpp 37
//src/opencv/modules/core/include/opencv2/core/mat.inl.hpp 37
//src/opencv/modules/core/src/system.cpp 41
//usr/local/bin/../include/c++/v1/exception 3
/ 47
//work/install-introspector/include/opencv4/opencv2/core/mat.inl.hpp 3
//work/install-introspector/include/opencv4/opencv2/core/types.hpp 1
//src/opencv/modules/imgcodecs/src/loadsave.cpp 8
//src/opencv/modules/core/src/trace.cpp 31
//src/opencv/modules/core/include/opencv2/core/utils/tls.hpp 14
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 34
//src/opencv/modules/core/include/opencv2/core/utils/trace.private.hpp 16
//src/opencv/modules/core/src/ocl.cpp 117
//src/opencv/modules/core/src/logger.cpp 5
//src/opencv/modules/core/src/utils/logtagmanager.cpp 24
//src/opencv/modules/core/include/opencv2/core/utils/logtag.hpp 1
//src/opencv/modules/core/src/utils/logtagmanager.hpp 8
//src/opencv/3rdparty/ittnotify/include/ittnotify.h 1
//src/opencv/modules/core/include/opencv2/core/utility.hpp 45
//src/opencv/modules/core/include/opencv2/core/utils/trace.hpp 2
//src/opencv/modules/core/include/opencv2/core/ocl.hpp 17
//usr/include/stdlib.h 1
//src/opencv/modules/core/src/check.cpp 14
//src/opencv/modules/core/src/utils/logtagconfigparser.cpp 11
//usr/include/ctype.h 1
//src/opencv/modules/core/include/opencv2/core/cvstd.hpp 2
//src/opencv/modules/core/src/utils/logtagconfig.hpp 2
//src/opencv/modules/core/src/matrix_wrap.cpp 16
//src/opencv/modules/core/include/opencv2/core/mat.hpp 10
//src/opencv/modules/core/src/alloc.cpp 5
//src/opencv/modules/core/include/opencv2/core/types.hpp 11
//src/opencv/modules/core/src/umatrix.cpp 32
//src/opencv/modules/core/include/opencv2/core/opengl.hpp 3
//src/opencv/modules/core/include/opencv2/core/cuda.inl.hpp 7
//src/opencv/modules/imgcodecs/src/grfmt_base.hpp 1
//src/opencv/modules/imgproc/src/resize.cpp 17
//src/opencv/modules/core/include/opencv2/core/saturate.hpp 3
//src/opencv/modules/core/include/opencv2/core/fast_math.hpp 5
//usr/local/bin/../include/c++/v1/stdlib.h 1
//src/opencv/modules/core/include/opencv2/core/cvstd.inl.hpp 1
//src/opencv/modules/core/src/copy.cpp 1
//src/opencv/modules/core/src/convert.dispatch.cpp 2
//src/opencv/modules/core/include/opencv2/core/private.hpp 7
//src/opencv/modules/core/src/matrix_iterator.cpp 3
//src/opencv/modules/core/src/convert.simd.hpp 1
//src/opencv/modules/core/src/convert_scale.dispatch.cpp 1
//src/opencv/modules/core/src/convert_scale.simd.hpp 1
//src/opencv/modules/imgproc/src/hal_replacement.hpp 1
//src/opencv/modules/imgproc/src/precomp.hpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_image.hpp 10
//src/opencv/modules/core/src/parallel.cpp 16
//src/opencv/modules/core/src/parallel/parallel.cpp 4
//src/opencv/modules/core/src/parallel/registry_parallel.impl.hpp 7
//src/opencv/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 1
//src/opencv/modules/core/src/parallel/registry_parallel.hpp 2
//src/opencv/modules/core/src/parallel_impl.cpp 4
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_image_transform.hpp 6
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image_transform_warpaffine.c 1
//src/opencv/modules/core/include/opencv2/core/operations.hpp 2
//src/opencv/modules/core/src/rand.cpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/include/iw++/iw_core.hpp 1
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_core.c 2
/work/build-introspector/3rdparty/ippicv/ippicv_lnx/iw/src/iw_image.c 2
//src/opencv/modules/imgproc/src/resize.avx2.cpp 4
//src/opencv/modules/imgproc/src/resize.sse4_1.cpp 4
//src/opencv/modules/core/src/buffer_area.cpp 11
//src/opencv/modules/core/include/opencv2/core/utils/buffer_area.private.hpp 1
//usr/local/bin/../include/c++/v1/math.h 1
//src/opencv/modules/imgcodecs/src/grfmt_base.cpp 1
//src/opencv/modules/imgcodecs/src/exif.cpp 2
//src/opencv/modules/imgcodecs/src/exif.hpp 2
//src/opencv/modules/core/src/matrix_transform.cpp 8
//src/opencv/modules/core/include/opencv2/core/hal/intrin.hpp 1
//src/opencv/modules/core/include/opencv2/core/hal/intrin_sse.hpp 10
//work/install-introspector/include/opencv4/opencv2/core.hpp 1

Fuzzer: filestorage_read_filename_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
107 192 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site __clang_call_terminate
98 319 void cv::detail::check_failed_auto_ (unsigned long const&, unsigned long const&, cv::detail::CheckContext const&) call site __clang_call_terminate
68 630 cv::FileStorage::Impl::open(char const*, int, char const*) call site strncmp
34 594 inflate call site gz_fetch
31 443 cv::utils::logging::LogTagConfigParser::parse(std::__1::basic_string , std::__1::allocator > const&) call site toupper
20 515 cv::FileStorage::Impl::open(char const*, int, char const*) call site tolower
16 133 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site
16 150 cv::cv_vsnprintf(char*, int, char const*, __va_list_tag*) call site
16 300 cv::utils::getConfigurationParameterSizeT(char const*, unsigned long) call site __cxa_begin_catch
15 478 cv::utils::logging::LogTagManager::setConfigString(std::__1::basic_string , std::__1::allocator > const&, bool) call site
13 90 cv::utils::trace::details::TraceManager::TraceManager() call site __clang_call_terminate
13 176 cv::AutoBuffer ::~AutoBuffer() call site strrchr

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
221
Reachable functions
344
Percentage of reachable functions covered
35.76%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/filestorage_read_filename_fuzzer.cc 1
//src/opencv/modules/core/src/persistence.cpp 29
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 23
//src/opencv/modules/core/src/system.cpp 33
//usr/local/bin/../include/c++/v1/exception 2
/ 32
//src/opencv/modules/core/src/persistence_impl.hpp 2
//src/opencv/modules/core/src/persistence.hpp 3
//src/opencv/modules/core/src/logger.cpp 5
//src/opencv/modules/core/src/utils/logtagmanager.cpp 24
//src/opencv/modules/core/include/opencv2/core/utils/logtag.hpp 1
//src/opencv/modules/core/src/utils/logtagmanager.hpp 8
//src/opencv/modules/core/src/trace.cpp 27
//src/opencv/modules/core/include/opencv2/core/utils/tls.hpp 10
//src/opencv/modules/core/include/opencv2/core/utils/trace.private.hpp 11
//src/opencv/modules/core/src/ocl.cpp 59
//src/opencv/3rdparty/ittnotify/include/ittnotify.h 1
//src/opencv/modules/core/include/opencv2/core/utility.hpp 12
//src/opencv/modules/core/include/opencv2/core/utils/trace.hpp 2
//src/opencv/modules/core/include/opencv2/core/ocl.hpp 4
//usr/include/stdlib.h 1
//src/opencv/modules/core/src/check.cpp 4
//src/opencv/modules/core/src/utils/logtagconfigparser.cpp 11
//usr/include/ctype.h 2
//src/opencv/modules/core/include/opencv2/core/cvstd.hpp 1
//src/opencv/modules/core/src/utils/logtagconfig.hpp 2
//src/opencv/3rdparty/zlib/gzlib.c 4
//src/opencv/3rdparty/zlib/gzread.c 7
//src/opencv/3rdparty/zlib/inflate.c 8
//src/opencv/3rdparty/zlib/zutil.c 2
//src/opencv/3rdparty/zlib/crc32.c 3
//src/opencv/3rdparty/zlib/adler32.c 2
//src/opencv/3rdparty/zlib/inftrees.c 1
//src/opencv/3rdparty/zlib/inffast.c 1
//src/opencv/modules/core/src/persistence_xml.cpp 2
//src/opencv/modules/core/src/persistence_yml.cpp 2
//src/opencv/modules/core/src/persistence_json.cpp 2
//work/install-introspector/include/opencv4/opencv2/core.hpp 1

Fuzzer: filestorage_read_string_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
107 192 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site __clang_call_terminate
98 319 void cv::detail::check_failed_auto_ (unsigned long const&, unsigned long const&, cv::detail::CheckContext const&) call site __clang_call_terminate
68 630 cv::FileStorage::Impl::open(char const*, int, char const*) call site strncmp
34 594 inflate call site gz_fetch
31 443 cv::utils::logging::LogTagConfigParser::parse(std::__1::basic_string , std::__1::allocator > const&) call site toupper
20 515 cv::FileStorage::Impl::open(char const*, int, char const*) call site tolower
16 133 cv::utils::logging::LogTagManager::get(std::__1::basic_string , std::__1::allocator > const&) call site
16 150 cv::cv_vsnprintf(char*, int, char const*, __va_list_tag*) call site
16 300 cv::utils::getConfigurationParameterSizeT(char const*, unsigned long) call site __cxa_begin_catch
15 478 cv::utils::logging::LogTagManager::setConfigString(std::__1::basic_string , std::__1::allocator > const&, bool) call site
13 90 cv::utils::trace::details::TraceManager::TraceManager() call site __clang_call_terminate
13 176 cv::AutoBuffer ::~AutoBuffer() call site strrchr

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
221
Reachable functions
344
Percentage of reachable functions covered
35.76%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/filestorage_read_string_fuzzer.cc 1
//src/opencv/modules/core/src/persistence.cpp 29
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 23
//src/opencv/modules/core/src/system.cpp 33
//usr/local/bin/../include/c++/v1/exception 2
/ 32
//src/opencv/modules/core/src/persistence_impl.hpp 2
//src/opencv/modules/core/src/persistence.hpp 3
//src/opencv/modules/core/src/logger.cpp 5
//src/opencv/modules/core/src/utils/logtagmanager.cpp 24
//src/opencv/modules/core/include/opencv2/core/utils/logtag.hpp 1
//src/opencv/modules/core/src/utils/logtagmanager.hpp 8
//src/opencv/modules/core/src/trace.cpp 27
//src/opencv/modules/core/include/opencv2/core/utils/tls.hpp 10
//src/opencv/modules/core/include/opencv2/core/utils/trace.private.hpp 11
//src/opencv/modules/core/src/ocl.cpp 59
//src/opencv/3rdparty/ittnotify/include/ittnotify.h 1
//src/opencv/modules/core/include/opencv2/core/utility.hpp 12
//src/opencv/modules/core/include/opencv2/core/utils/trace.hpp 2
//src/opencv/modules/core/include/opencv2/core/ocl.hpp 4
//usr/include/stdlib.h 1
//src/opencv/modules/core/src/check.cpp 4
//src/opencv/modules/core/src/utils/logtagconfigparser.cpp 11
//usr/include/ctype.h 2
//src/opencv/modules/core/include/opencv2/core/cvstd.hpp 1
//src/opencv/modules/core/src/utils/logtagconfig.hpp 2
//src/opencv/3rdparty/zlib/gzlib.c 4
//src/opencv/3rdparty/zlib/gzread.c 7
//src/opencv/3rdparty/zlib/inflate.c 8
//src/opencv/3rdparty/zlib/zutil.c 2
//src/opencv/3rdparty/zlib/crc32.c 3
//src/opencv/3rdparty/zlib/adler32.c 2
//src/opencv/3rdparty/zlib/inftrees.c 1
//src/opencv/3rdparty/zlib/inffast.c 1
//src/opencv/modules/core/src/persistence_xml.cpp 2
//src/opencv/modules/core/src/persistence_yml.cpp 2
//src/opencv/modules/core/src/persistence_json.cpp 2
//work/install-introspector/include/opencv4/opencv2/core.hpp 1

Fuzzer: readnetfromtensorflow_fuzzer

Call tree

The following is the call tree with color coding for whichfunctions are hit/not hit. This info is based on the coverageachieved of all fuzzers together and not just this specific fuzzer.

  • Red: not hit at all
  • Green: hit many times
  • Yellow: hit a few times

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
911 3702 bool google::protobuf::internal::MergeFromImpl (google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) call site __clang_call_terminate
764 4736 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) call site __cxa_guard_acquire
533 2035 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) call site __clang_call_terminate
521 3172 google::protobuf::internal::MapFieldBase::~MapFieldBase() call site strlen
519 1258 google::protobuf::UnknownFieldSet::InternalMergeFrom(google::protobuf::UnknownFieldSet const&) call site
234 2570 google::protobuf::internal::ArenaStringPtr::Destroy(std::__1::basic_string , std::__1::allocator > const*, google::protobuf::Arena*) call site
165 7325 cv::dnn::dnn4_v20220524::(anonymous namespace)::TFImporter::populateNet() call site __cxa_rethrow
149 7117 cv::_InputArray::dims(int) const call site __clang_call_terminate
139 1082 std::__1::basic_string , std::__1::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) call site _Z5isnanUa9enable_ifILb1EEd
138 1875 google::protobuf::FileOptions::IsInitialized() const call site __cxa_guard_acquire
134 2862 google::protobuf::UnknownFieldSet::AddFixed32(int, unsigned int) call site __cxa_guard_acquire
131 584 cv::dnn::ReadTFNetParamsFromBinaryBufferOrDie(char const*, unsigned long, opencv_tensorflow::GraphDef*) call site __clang_call_terminate

Runtime coverage analysis

Covered functions
3291
Functions that are reachable but not covered
2186
Reachable functions
2657
Percentage of reachable functions covered
17.73%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Warning: The amount of covered functions are larger than the amount of reachable functions. This means the functions covered at runtime is larger than those extracted using static analysis. This is likely a result of the static analysis component failing to extract the right callgraph or the coverage runtime being compiled with sanitizerse 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/readnetfromtensorflow_fuzzer.cc 1
//src/opencv/modules/dnn/src/tensorflow/tf_importer.cpp 21
//src/opencv/modules/dnn/src/tensorflow/../dnn_common.hpp 3
//src/opencv/modules/dnn/src/net.cpp 5
//src/opencv/modules/core/include/opencv2/core/cvstd_wrapper.hpp 36
//src/opencv/modules/core/include/opencv2/core/utils/fp_control_utils.hpp 2
//src/opencv/modules/core/src/system.cpp 37
//src/opencv/modules/dnn/misc/tensorflow/graph.pb.h 27
//src/opencv/modules/dnn/misc/tensorflow/graph.pb.cc 7
//src/opencv/3rdparty/protobuf/src/google/protobuf/message.h 39
//src/opencv/3rdparty/protobuf/src/google/protobuf/message_lite.h 19
//src/opencv/3rdparty/protobuf/src/google/protobuf/metadata_lite.h 9
//src/opencv/3rdparty/protobuf/src/google/protobuf/repeated_ptr_field.h 126
//src/opencv/3rdparty/protobuf/src/google/protobuf/generated_message_util.h 7
//src/opencv/3rdparty/protobuf/src/google/protobuf/arena.h 7
//src/opencv/3rdparty/protobuf/src/google/protobuf/arena.cc 16
//src/opencv/3rdparty/protobuf/src/google/protobuf/arena_impl.h 20
/ 33
//src/opencv/modules/core/src/logger.cpp 5
//src/opencv/modules/core/src/utils/logtagmanager.cpp 24
//src/opencv/modules/core/include/opencv2/core/utils/logtag.hpp 1
//src/opencv/modules/core/src/utils/logtagmanager.hpp 8
//src/opencv/modules/core/src/trace.cpp 28
//src/opencv/modules/core/include/opencv2/core/utils/tls.hpp 12
//usr/local/bin/../include/c++/v1/exception 1
//src/opencv/modules/core/include/opencv2/core/utils/trace.private.hpp 12
//src/opencv/modules/core/src/ocl.cpp 85
//src/opencv/3rdparty/ittnotify/include/ittnotify.h 1
//src/opencv/modules/core/include/opencv2/core/utility.hpp 34
//src/opencv/modules/core/include/opencv2/core/utils/trace.hpp 2
//src/opencv/modules/core/include/opencv2/core/ocl.hpp 9
//usr/include/stdlib.h 1
//src/opencv/modules/core/src/check.cpp 14
//src/opencv/modules/core/src/utils/logtagconfigparser.cpp 11
//usr/include/ctype.h 1
//src/opencv/modules/core/include/opencv2/core/cvstd.hpp 2
//src/opencv/modules/core/src/utils/logtagconfig.hpp 2
//src/opencv/modules/dnn/src/tensorflow/tf_io.cpp 2
//src/opencv/modules/dnn/src/caffe/caffe_io.cpp 3
//src/opencv/3rdparty/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc 2
//src/opencv/3rdparty/protobuf/src/google/protobuf/io/zero_copy_stream.h 4
//src/opencv/3rdparty/protobuf/src/google/protobuf/io/coded_stream.h 47
//src/opencv/3rdparty/protobuf/src/google/protobuf/io/coded_stream.cc 29
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/common.cc 5
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/strutil.h 21
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/strutil.cc 36
//src/opencv/3rdparty/protobuf/src/google/protobuf/message_lite.cc 19
//src/opencv/3rdparty/protobuf/src/google/protobuf/parse_context.h 13
//src/opencv/3rdparty/protobuf/src/google/protobuf/parse_context.cc 1
//src/opencv/modules/dnn/src/tensorflow/../caffe/glog_emulator.hpp 1
//src/opencv/3rdparty/protobuf/src/google/protobuf/text_format.cc 74
//src/opencv/3rdparty/protobuf/src/google/protobuf/text_format.h 19
//src/opencv/3rdparty/protobuf/src/google/protobuf/io/tokenizer.h 11
//src/opencv/3rdparty/protobuf/src/google/protobuf/io/tokenizer.cc 56
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/stringprintf.cc 3
//src/opencv/3rdparty/protobuf/src/google/protobuf/any.cc 1
//src/opencv/3rdparty/protobuf/src/google/protobuf/descriptor.h 110
//src/opencv/3rdparty/protobuf/src/google/protobuf/descriptor.cc 233
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/stringpiece.h 15
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/mutex.h 8
//src/opencv/3rdparty/protobuf/src/google/protobuf/descriptor.pb.h 313
//src/opencv/3rdparty/protobuf/src/google/protobuf/descriptor.pb.cc 47
//src/opencv/3rdparty/protobuf/src/google/protobuf/repeated_field.h 66
//src/opencv/3rdparty/protobuf/src/google/protobuf/explicitly_constructed.h 4
//src/opencv/3rdparty/protobuf/src/google/protobuf/arenastring.h 12
//src/opencv/3rdparty/protobuf/src/google/protobuf/repeated_ptr_field.cc 5
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/map_util.h 10
//src/opencv/3rdparty/protobuf/src/google/protobuf/arenastring.cc 10
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/once.h 5
//src/opencv/3rdparty/protobuf/src/google/protobuf/extension_set.cc 44
//src/opencv/3rdparty/protobuf/src/google/protobuf/extension_set.h 13
//src/opencv/3rdparty/protobuf/src/google/protobuf/wire_format_lite.h 17
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/casts.h 5
//usr/local/bin/../include/c++/v1/math.h 4
//src/opencv/3rdparty/protobuf/src/google/protobuf/unknown_field_set.h 16
//src/opencv/3rdparty/protobuf/src/google/protobuf/unknown_field_set.cc 15
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/stl_util.h 3
//src/opencv/3rdparty/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h 2
//src/opencv/3rdparty/protobuf/src/google/protobuf/generated_message_util.cc 3
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/stringpiece.cc 7
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/substitute.h 6
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/substitute.cc 3
//src/opencv/3rdparty/protobuf/src/google/protobuf/dynamic_message.cc 22
//src/opencv/3rdparty/protobuf/src/google/protobuf/message.cc 8
//src/opencv/3rdparty/protobuf/src/google/protobuf/generated_message_reflection.cc 166
//src/opencv/3rdparty/protobuf/src/google/protobuf/generated_message_reflection.h 19
//src/opencv/3rdparty/protobuf/src/google/protobuf/map_field.cc 10
//src/opencv/3rdparty/protobuf/src/google/protobuf/map_field.h 37
//src/opencv/3rdparty/protobuf/src/google/protobuf/extension_set_heavy.cc 6
//src/opencv/3rdparty/protobuf/src/google/protobuf/wire_format.cc 4
//src/opencv/3rdparty/protobuf/src/google/protobuf/descriptor_database.cc 21
//src/opencv/3rdparty/protobuf/src/google/protobuf/descriptor_database.h 1
//src/opencv/3rdparty/protobuf/src/google/protobuf/map.h 56
//src/opencv/3rdparty/protobuf/src/google/protobuf/any_lite.cc 1
//src/opencv/3rdparty/protobuf/src/google/protobuf/inlined_string_field.h 1
//src/opencv/3rdparty/protobuf/src/google/protobuf/wire_format.h 1
//src/opencv/3rdparty/protobuf/src/google/protobuf/io/strtod.cc 2
//src/opencv/3rdparty/protobuf/src/google/protobuf/reflection_ops.cc 3
//src/opencv/3rdparty/protobuf/src/google/protobuf/map_field_inl.h 1
//src/opencv/3rdparty/protobuf/src/google/protobuf/map_field_lite.h 3
//src/opencv/3rdparty/protobuf/src/google/protobuf/stubs/port.h 2
//src/opencv/3rdparty/protobuf/src/google/protobuf/map_entry_lite.h 1
//src/opencv/3rdparty/protobuf/src/google/protobuf/map_type_handler.h 1
//src/opencv/modules/dnn/misc/tensorflow/function.pb.cc 3
//src/opencv/modules/dnn/misc/tensorflow/function.pb.h 2
//src/opencv/modules/dnn/misc/tensorflow/versions.pb.cc 3
//src/opencv/3rdparty/protobuf/src/google/protobuf/wire_format_lite.cc 2
//src/opencv/modules/dnn/misc/tensorflow/versions.pb.h 3
//src/opencv/modules/dnn/src/tensorflow/tf_graph_simplifier.cpp 30
//src/opencv/modules/dnn/src/tensorflow/../graph_simplifier.hpp 2
//src/opencv/modules/dnn/src/graph_simplifier.cpp 8
//src/opencv/modules/dnn/misc/tensorflow/attr_value.pb.cc 7
//src/opencv/modules/dnn/misc/tensorflow/attr_value.pb.h 20
//src/opencv/modules/dnn/misc/tensorflow/tensor_shape.pb.cc 2
//src/opencv/modules/dnn/misc/tensorflow/tensor.pb.cc 2
//src/opencv/modules/dnn/misc/tensorflow/tensor.pb.h 15
//src/opencv/modules/core/src/matrix.cpp 37
//src/opencv/modules/core/include/opencv2/core/mat.inl.hpp 35
//src/opencv/modules/core/include/opencv2/core/types.hpp 10
//src/opencv/modules/core/src/convert.dispatch.cpp 4
//src/opencv/modules/core/src/matrix_wrap.cpp 16
//src/opencv/modules/core/include/opencv2/core/mat.hpp 10
//src/opencv/modules/core/src/umatrix.cpp 30
//src/opencv/modules/core/src/alloc.cpp 5
//src/opencv/modules/core/include/opencv2/core/cuda.inl.hpp 5
//src/opencv/modules/core/include/opencv2/core/opengl.hpp 2
//src/opencv/modules/core/include/opencv2/core/cvstd.inl.hpp 1
//src/opencv/modules/core/src/copy.cpp 1
//src/opencv/modules/core/src/convert.simd.hpp 1
//src/opencv/modules/core/src/convert_scale.dispatch.cpp 1
//src/opencv/modules/core/src/convert_scale.simd.hpp 1
//src/opencv/modules/core/src/matrix_iterator.cpp 3
//src/opencv/modules/core/include/opencv2/core/private.hpp 1
//src/opencv/modules/core/include/opencv2/core/fast_math.hpp 1
//src/opencv/modules/dnn/src/debug_utils.cpp 5
//src/opencv/modules/dnn/src/layer_factory.cpp 5
//src/opencv/modules/dnn/src/init.cpp 3
//src/opencv/modules/dnn/include/opencv2/dnn/utils/../dnn.hpp 5
//src/opencv/modules/dnn/include/opencv2/dnn/dict.hpp 2
//src/opencv/modules/dnn/include/opencv2/dnn/dnn.inl.hpp 12
//src/opencv/modules/dnn/src/net_impl.cpp 3
//src/opencv/modules/dnn/src/layer_internals.hpp 2
//src/opencv/modules/dnn/src/layers/not_implemented_layer.cpp 2

Runtime coverage analysis

This section gives analysis based on data about the runtime coverage information

For futher technical details on how this section is made, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
__itt_init_ittlib 126 40 31.74% []
__itt_domain_create_init_3_0 36 17 47.22% []
__itt_get_lib_name 118 4 3.389% []
__itt_get_env_var 49 12 24.48% []
__itt_get_groups 45 13 28.88% []
google::protobuf::FileDescriptorProto::Clear() 36 15 41.66%
google::protobuf::FileDescriptorProto::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 183 77 42.07%
google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 56 28 50.0%
google::protobuf::FieldDescriptorProto::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 151 74 49.00%
google::protobuf::OneofDescriptorProto::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 50 21 42.0%
google::protobuf::EnumDescriptorProto::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 93 32 34.40%
google::protobuf::EnumValueDescriptorProto::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 59 28 47.45%
google::protobuf::FileOptions::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 262 73 27.86%
google::protobuf::MessageOptions::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 84 21 25.0%
google::protobuf::FieldOptions::_InternalParse(charconst*,google::protobuf::internal::ParseContext*) 110 28 25.45%
google::protobuf::FileOptions::SharedCtor() 48 18 37.5%
google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) 37 15 40.54%
boolgoogle::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile (google::protobuf::FileDescriptorProtoconst&,std::__1::pair ) 37 20 54.05%
google::protobuf::io::CodedInputStream::Refresh() 50 21 42.0%
google::protobuf::internal::EpsCopyInputStream::NextBuffer(int,int) 54 16 29.62%
google::protobuf::StringAppendV(std::__1::basic_string ,std::__1::allocator >*,charconst*,__va_list_tag*) 52 12 23.07%
cv::utils::logging::internal::writeLogMessage(cv::utils::logging::LogLevel,charconst*) 43 18 41.86%
cv::softfloat_roundPackToF64(bool,long,unsignedlong) 67 24 35.82%
cv::f64_div(cv::softdouble,cv::softdouble) 120 62 51.66%
cv::f64_mul(cv::softdouble,cv::softdouble) 88 38 43.18%
cv::error(cv::Exceptionconst&) 37 8 21.62%
cvErrorStr 42 8 19.04% ['core_fuzzer', 'imread_fuzzer', 'generateusergallerycollage_fuzzer', 'imencode_fuzzer', 'imdecode_fuzzer', 'filestorage_read_filename_fuzzer', 'filestorage_read_string_fuzzer', 'readnetfromtensorflow_fuzzer']
cv::HWFeatures::initialize() 259 95 36.67%
cv::HWFeatures::readSettings(intconst*,int) 72 7 9.722%
cv::utils::trace::details::Region::Region(cv::utils::trace::details::Region::LocationStaticStorageconst&) 153 6 3.921%
cv::utils::logging::LogTagManager::setConfigString(std::__1::basic_string ,std::__1::allocator >const&,bool) 34 10 29.41%
cv::dnn::Subgraph::replace(cv::Ptr const&,std::__1::vector >const&,std::__1::vector >const&) 42 16 38.09%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parseConvolution(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 217 38 17.51%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::getConstBlob(opencv_tensorflow::NodeDefconst&,std::__1::map ,std::__1::allocator >,int,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >const,int>>>,int,int*) 39 13 33.33%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::setStrides(cv::dnn::dnn4_v20220524::LayerParams&,opencv_tensorflow::NodeDefconst&) 34 3 8.823%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parseBias(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 63 28 44.44%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parseMatMul(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 100 4 4.0%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parseConcat(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 48 17 35.41%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::setKSize(cv::dnn::dnn4_v20220524::LayerParams&,opencv_tensorflow::NodeDefconst&) 40 8 20.0%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parseSlice(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 31 4 12.90%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parseFusedBatchNorm(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 73 4 5.479%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parseResize(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 78 6 7.692%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::predictOutputDataLayout(opencv_tensorflow::NodeDefconst&) 35 18 51.42%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parsePriorBox(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 35 4 11.42%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parseMean(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 208 13 6.25%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::parsePack(opencv_tensorflow::GraphDef&,opencv_tensorflow::NodeDefconst&,cv::dnn::dnn4_v20220524::LayerParams&) 44 5 11.36%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::TFImporter::populateNet() 131 69 52.67%
cv::dnn::dnn4_v20220524::(anonymousnamespace)::addConstNodes(opencv_tensorflow::GraphDef&,std::__1::map ,std::__1::allocator >,int,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >const,int>>>&,std::__1::set ,std::__1::allocator >,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >>>&) 77 25 32.46%
gz_open 173 58 33.52% ['filestorage_read_filename_fuzzer', 'filestorage_read_string_fuzzer']
cv::FileStorage::Impl::open(charconst*,int,charconst*) 305 66 21.63%
cv::FileStorage::Impl::gets(unsignedlong) 44 14 31.81%
TIFFCleanup 59 26 44.06% []
TIFFDefaultDirectory 69 33 47.82% []
_TIFFVSetField 613 302 49.26% []
_TIFFFillStrilesInternal 60 5 8.333% []
TIFFWriteDirectorySec 615 209 33.98% []
TIFFWriteDirectoryTagData 72 31 43.05% []
TIFFWriteDirectoryTagLongLong8Array 114 31 27.19% []
TIFFLinkDirectory 186 17 9.139% []
TIFFClientOpen 423 119 28.13% []
PredictorSetup 57 29 50.87% []
PredictorSetupEncode 64 21 32.81% []
horDiff8 50 18 36.0% []
TIFFWriteScanline 130 37 28.46% []
TIFFWriteCheck 79 26 32.91% []
TIFFAppendToStrip 67 30 44.77% []
cv::softfloat_roundPackToF32(bool,long,unsignedlong) 63 24 38.09%
cv::softfloat_addMagsF32(unsignedlong,unsignedlong) 79 41 51.89%
cv::f32_div(cv::softfloat,cv::softfloat) 96 40 41.66%
cv::TiffEncoder::writeLibTiff(std::__1::vector >const&,std::__1::vector >const&) 185 85 45.94%
cv::imencode(std::__1::basic_string ,std::__1::allocator >const&,cv::_InputArrayconst&,std::__1::vector >&,std::__1::vector >const&) 50 18 36.0%
cv::fastMalloc(unsignedlong) 35 9 25.71%
cv::scalarToRawData(cv::Scalar_ const&,void*,int,int) 35 11 31.42%
cv::setSize(cv::Mat&,int,intconst*,unsignedlongconst*,bool) 63 26 41.26%
cv::Mat::create(int,intconst*,int) 59 28 47.45%
cv::NAryMatIterator::init(cv::Matconst**,cv::Mat*,unsignedchar**,int) 96 48 50.0%
cv::NAryMatIterator::operator++() 50 4 8.0%
cv::UMatData::~UMatData() 56 13 23.21%
cv::ellipse2Poly(cv::Point_ ,cv::Size_ ,int,int,int,int,std::__1::vector ,std::__1::allocator >>&) 58 28 48.27%
cv::Line(cv::Mat&,cv::Point_ ,cv::Point_ ,voidconst*,int) 33 18 54.54%
cv::Line2(cv::Mat&,cv::Point_ ,cv::Point_ ,voidconst*) 188 90 47.87%
cv::LineAA(cv::Mat&,cv::Point_ ,cv::Point_ ,voidconst*) 316 144 45.56%
jpeg_CreateDecompress 61 32 52.45% []
jpeg_consume_input 39 17 43.58% []
default_decompress_parms 96 43 44.79% []
output_pass_setup 40 10 25.0% []
jinit_arith_decoder 32 15 46.87% []
start_pass 225 41 18.22% []
decode_mcu_DC_refine 42 23 54.76% []
jinit_color_deconverter 145 53 36.55% []
ycc_rgb_convert 36 8 22.22% []
jpeg_fill_bit_buffer 94 51 54.25% []
decode_mcu_slow 101 49 48.51% []
initial_setup 98 50 51.02% []
jpeg_save_markers 38 17 44.73% []
jpeg_calc_output_dimensions 104 55 52.88% []
jpeg_core_output_dimensions 154 25 16.23% []
use_merged_upsample 44 4 9.090% []
prepare_for_output_pass 52 19 36.53% []
master_selection 149 66 44.29% []
jinit_d_post_controller 40 11 27.50% []
start_pass_dpost 44 12 27.27% []
jinit_memory_mgr 91 41 45.05% []
alloc_large 50 24 48.0% []
realize_virt_arrays 110 40 36.36% []
access_virt_barray 76 30 39.47% []
png_read_filter_row_paeth3_sse2 96 48 50.0% []
png_read_filter_row_paeth4_sse2 59 28 47.45% []
png_user_version_check 51 17 33.33% []
png_create_png_struct 98 48 48.97% []
png_free_data 206 60 29.12% []
png_zstream_error 63 8 12.69% []
png_colorspace_set_gamma 51 25 49.01% []
png_colorspace_sync_info 42 9 21.42% []
png_colorspace_set_chromaticities 33 9 27.27% []
png_colorspace_set_sRGB 84 11 13.09% []
png_icc_check_header 178 54 30.33% []
png_icc_check_tag_table 41 7 17.07% []
png_colorspace_set_rgb_coefficients 61 4 6.557% []
png_check_IHDR 150 32 21.33% []
png_muldiv 111 19 17.11% []
png_destroy_gamma_table 52 19 36.53% []
png_colorspace_check_gamma 31 6 19.35% []
png_XYZ_from_xy 263 39 14.82% []
png_colorspace_set_xy_and_XYZ 43 12 27.90% []
png_compare_ICC_profile_with_sRGB 117 48 41.02% []
png_error 49 4 8.163% []
png_format_number 72 20 27.77% []
png_chunk_report 36 13 36.11% []
png_set_longjmp_fn 65 21 32.30% []
png_free_jmpbuf 36 10 27.77% []
png_default_error 43 9 20.93% []
png_default_warning 41 7 17.07% []
png_get_IHDR 38 19 50.0% []
png_get_tRNS 40 6 15.0% []
png_malloc_base 31 11 35.48% []
png_realloc_array 31 17 54.83% []
png_read_row 233 58 24.89% []
png_read_image 57 25 43.85% []
png_set_read_fn 31 14 45.16% []
png_set_rgb_to_gray_fixed 80 22 27.50% []
png_init_read_transformations 642 84 13.08% []
png_read_transform_info 202 68 33.66% []
png_do_read_transformations 301 112 37.20% []
png_init_palette_transformations 86 16 18.60% []
png_init_rgb_transformations 82 18 21.95% []
png_do_expand_palette 166 65 39.15% []
png_do_expand 221 44 19.90% []
png_do_rgb_to_gray 191 7 3.664% []
png_do_gray_to_rgb 82 28 34.14% []
png_handle_PLTE 184 49 26.63% []
png_handle_gAMA 33 14 42.42% []
png_handle_sRGB 45 20 44.44% []
png_handle_iCCP 272 122 44.85% []
png_handle_sPLT 171 24 14.03% []
png_handle_bKGD 113 26 23.00% []
png_handle_eXIf 56 22 39.28% []
png_handle_hIST 47 16 34.04% []
png_handle_pHYs 41 22 53.65% []
png_handle_pCAL 123 49 39.83% []
png_handle_tIME 40 19 47.5% []
png_handle_iTXt 144 33 22.91% []
png_handle_unknown 196 26 13.26% []
png_combine_row 480 24 5.0% []
png_do_read_interlace 242 35 14.46% []
png_read_IDAT_data 125 55 44.0% []
png_read_finish_IDAT 45 19 42.22% []
png_read_finish_row 61 12 19.67% []
png_read_start_row 289 114 39.44% []
png_inflate_claim 102 40 39.21% []
png_decompress_chunk 152 61 40.13% []
png_inflate 113 48 42.47% []
png_set_eXIf_1 32 14 43.75% []
png_set_hIST 39 10 25.64% []
png_set_pCAL 111 54 48.64% []
png_set_sCAL_s 62 25 40.32% []
png_set_PLTE 61 24 39.34% []
png_set_text_2 189 81 42.85% []
png_set_sPLT 87 34 39.08% []
png_do_bgr 73 22 30.13% []
TIFFVGetFieldDefaulted 129 39 30.23% []
setExtraSamples 47 20 42.55% []
_TIFFVGetField 369 91 24.66% []
_TIFFSetGetFieldSize 64 17 26.56% []
TIFFReadDirEntryShort 84 46 54.76% []
TIFFReadDirEntryDoubleArray 235 24 10.21% []
TIFFReadDirEntryDataAndRealloc 52 23 44.23% []
TIFFReadDirEntryShortArray 170 51 30.0% []
ByteCountLooksBad 40 20 50.0% []
TIFFCheckDirOffset 40 19 47.5% []
TIFFFetchDirectory 251 123 49.00% []
TIFFReadDirEntryByteArray 179 80 44.69% []
TIFFReadDirEntryByte 88 4 4.545% []
TIFFReadDirEntryFloat 111 24 21.62% []
TIFFReadDirEntryDouble 95 11 11.57% []
TIFFReadDirEntryLongArray 167 26 15.56% []
TIFFReadDirEntryFloatArray 242 118 48.76% []
TIFFReadDirEntrySbyteArray 177 28 15.81% []
TIFFReadDirEntrySshortArray 165 27 16.36% []
TIFFReadDirEntrySlongArray 159 18 11.32% []
TIFFReadDirEntrySlong8Array 148 23 15.54% []
_TIFFGetStrileOffsetOrByteCountValue 38 7 18.42% []
Fax3VSetField 45 24 53.33% []
Fax3SetupState 96 51 53.12% []
TIFFRGBAImageOK 137 58 42.33% []
TIFFReadRGBATileExt 94 43 45.74% []
makecmap 49 25 51.02% []
initYCbCrConversion 51 28 54.90% []
putcontig8bitYCbCr44tile 101 53 52.47% []
PickSeparateCase 66 35 53.03% []
TIFFInitJPEG 108 44 40.74% []
std_fill_input_buffer 33 8 24.24% []
JPEGResetUpsampled 32 16 50.0% []
JPEGFixupTagsSubsampling 52 22 42.30% []
JPEGInitializeLibJPEG 49 9 18.36% []
JPEGPreDecode 226 95 42.03% []
JPEGDecode 51 27 52.94% []
TIFFInitSGILog 58 29 50.0% []
LogLuvSetupDecode 59 20 33.89% []
LogLuvInitState 47 22 46.80% []
LogLuvVSetField 60 22 36.66% []
LZWSetupDecode 55 20 36.36% []
LZWPreDecode 76 38 50.0% []
PredictorSetupDecode 79 23 29.11% []
TIFFReadEncodedStrip 36 19 52.77% []
TIFFFillStrip 187 73 39.03% []
TIFFReadEncodedTile 42 19 45.23% []
_TIFFReadEncodedTileAndAllocBuffer 41 21 51.21% []
TIFFFillTile 162 69 42.59% []
TIFFReadAndRealloc 124 62 50.0% []
TIFFReadRawStrip1 71 22 30.98% []
TIFFReadRawTile1 67 17 25.37% []
TIFFCheckTile 34 15 44.11% []
TIFFTileRowSize64 36 19 52.77% []
TIFFInitZIP 74 40 54.05% []
ZIPVSetField 61 8 13.11% []
ZIPDecode 120 41 34.16% []
VP8DecompressAlphaRows 54 26 48.14% []
ALPHDecode 39 14 35.89% []
WebPAllocateDecBuffer 47 11 23.40% []
AllocateBuffer 65 8 12.30% []
CheckDecBuffer 44 18 40.90% []
VP8InitDithering 31 4 12.90% []
VP8ProcessRow 44 14 31.81% []
VP8EnterCritical 51 24 47.05% []
DoFilter 48 11 22.91% []
VP8GetHeaders 133 73 54.88% []
VP8Decode 38 17 44.73% []
VP8LDecodeAlphaHeader 46 25 54.34% []
VP8LDecodeImage 72 32 44.44% []
WebPIoInitFromOptions 55 21 38.18% []
DispatchAlpha_SSE2 51 22 43.13% []
VP8Transpose_2_4x4_16b 31 14 45.16% []
x86CPUInfo 51 25 49.01% []
Load16x4_SSE2 32 12 37.5% []
VP8LConvertFromBGRA 43 7 16.27% []
WebPInitSamplers_body 37 20 54.05% []
VP8LoadNewBytes 47 18 38.29% []
opj_stream_read_data 101 36 35.64% []
opj_stream_read_skip 72 11 15.27% []
opj_dwt_decode_tile 159 51 32.07% []
opj_idwt53_h 31 10 32.25% []
opj_idwt53_h_cas0 63 26 41.26% []
opj_idwt53_h_cas1 64 28 43.75% []
opj_idwt53_v 78 11 14.10% []
opj_idwt53_v_cas0_mcols_SSE2_OR_AVX2 91 48 52.74% []
opj_dwt_decode_tile_97 218 100 45.87% []
opj_copy_image_header 60 27 45.0% []
opj_j2k_read_header 57 20 35.08% []
opj_j2k_destroy 68 34 50.0% []
opj_j2k_read_tile_header 299 114 38.12% []
opj_j2k_decode_tile 93 47 50.53% []
opj_j2k_create_decompress 69 27 39.13% []
opj_j2k_decode 53 22 41.50% []
opj_j2k_read_header_procedure 181 80 44.19% []
opj_j2k_read_soc 36 18 50.0% []
opj_j2k_copy_default_tcp_and_create_tcd 145 79 54.48% []
opj_j2k_tcp_destroy 69 32 46.37% []
opj_j2k_read_sot 314 86 27.38% []
opj_j2k_read_cod 121 43 35.53% []
opj_j2k_read_SPCod_SPCoc 145 54 37.24% []
opj_j2k_read_rgn 68 30 44.11% []
opj_j2k_read_SQcd_SQcc 112 47 41.96% []
opj_j2k_read_qcc 74 19 25.67% []
opj_j2k_read_siz 415 149 35.90% []
opj_j2k_read_plm 59 9 15.25% []
opj_j2k_read_ppm 66 36 54.54% []
opj_j2k_read_ppt 73 39 53.42% []
opj_j2k_read_mct 127 56 44.09% []
opj_j2k_read_mco 60 21 35.0% []
opj_j2k_add_tlmarker 43 20 46.51% []
opj_j2k_read_sod 138 72 52.17% []
opj_j2k_need_nb_tile_parts_correction 104 17 16.34% []
opj_j2k_merge_ppt 51 8 15.68% []
opj_j2k_update_image_data 214 108 50.46% []
opj_j2k_are_all_used_components_decoded 32 12 37.5% []
opj_j2k_move_data_from_codec_to_output_image 57 14 24.56% []
opj_jp2_decode 62 20 32.25% []
opj_jp2_read_header 39 20 51.28% []
opj_jp2_create 40 20 50.0% []
opj_jp2_check_color 138 38 27.53% []
opj_jp2_read_header_procedure 150 71 47.33% []
opj_jp2_read_boxhdr 58 23 39.65% []
opj_jp2_read_jp 32 12 37.5% []
opj_jp2_read_ftyp 53 25 47.16% []
opj_jp2_read_boxhdr_char 64 29 45.31% []
opj_jp2_read_ihdr 70 33 47.14% []
opj_jp2_read_colr 127 29 22.83% []
opj_jp2_read_cmap 57 29 50.87% []
opj_jp2_read_cdef 66 34 51.51% []
opj_aligned_alloc_n 63 9 14.28% []
opj_pi_create_decode 193 98 50.77% []
opj_pi_create 62 34 54.83% []
opj_t1_decode_cblks 116 51 43.96% []
opj_t1_clbl_decode_processor 209 80 38.27% []
opj_t1_dec_sigpass_raw 59 24 40.67% []
opj_t1_dec_refpass_raw 52 22 42.30% []
opj_t2_decode_packets 188 76 40.42% []
opj_t2_skip_packet_data 97 19 19.58% []
opj_tcd_decode_tile 240 49 20.41% []
opj_tcd_init_tile 471 235 49.89% []
opj_tcd_code_block_dec_allocate 35 9 25.71% []
opj_tcd_mct_decode 148 9 6.081% []
opj_thread_pool_submit_job 63 7 11.11% []
opj_thread_pool_destroy 35 7 20.0% []
crc32_z 316 125 39.55% ['filestorage_read_filename_fuzzer', 'filestorage_read_string_fuzzer']
fixedtables 40 8 20.0% ['filestorage_read_filename_fuzzer', 'filestorage_read_string_fuzzer']
cv::Mat::convertTo(cv::_OutputArrayconst&,int,double,double)const 51 28 54.90%
cv::Mat::copyTo(cv::_OutputArrayconst&)const 83 22 26.50%
cv::glob(std::__1::basic_string ,std::__1::allocator >,std::__1::vector ,std::__1::allocator >,std::__1::allocator ,std::__1::allocator >>>&,bool) 42 19 45.23%
wildcmp(charconst*,charconst*) 46 11 23.91%
cv::Mat::operator=(cv::Mat&&) 33 18 54.54%
cv::Mat::reshape(int,int)const 61 17 27.86%
cv::transpose(cv::_InputArrayconst&,cv::_OutputArrayconst&) 43 19 44.18%
cv::flip(cv::_InputArrayconst&,cv::_OutputArrayconst&,int) 39 18 46.15%
cv::_InputArray::getMat_(int)const 110 13 11.81%
cv::_InputArray::getMatVector(std::__1::vector >&)const 95 17 17.89%
cv::_InputArray::size(int)const 118 7 5.932%
cv::_InputArray::dims(int)const 89 7 7.865%
cv::_InputArray::type(int)const 78 4 5.128%
cv::_InputArray::empty()const 67 4 5.970%
cv::_OutputArray::create(cv::Size_ ,int,int,bool,cv::_OutputArray::DepthMask)const 52 9 17.30%
cv::_OutputArray::create(int,int,int,int,bool,cv::_OutputArray::DepthMask)const 52 9 17.30%
cv::_OutputArray::create(int,intconst*,int,int,bool,cv::_OutputArray::DepthMask)const 388 43 11.08%
cv::ipp_merge(cv::Matconst*,cv::Mat&,int) 47 18 38.29%
voidcv::hal::opt_AVX2::vecmerge_ (unsignedcharconst**,unsignedchar*,int,int) 77 25 32.46%
cv::parallel_for_impl(cv::Rangeconst&,cv::ParallelLoopBodyconst&,double) 79 22 27.84%
cv::(anonymousnamespace)::ParallelLoopBodyWrapper::operator()(cv::Rangeconst&)const 64 30 46.87%
cv::getNumberOfCPUs_() 97 32 32.98%
cv::parallel::createParallelForAPI() 59 32 54.23%
cv::impl::PluginParallelBackendFactory::loadPlugin() 35 3 8.571%
cv::parallel::ParallelBackendRegistry::readPrioritySettings() 33 6 18.18%
cv::ThreadPool::reconfigure_(unsignedint) 39 14 35.89%
cv::ipp_split(cv::Matconst&,cv::Mat*,int) 47 18 38.29%
voidcv::hal::opt_AVX2::vecsplit_ (unsignedcharconst*,unsignedchar**,int,int) 88 29 32.95%
cv::tempfile(charconst*) 93 18 19.35%
cv::ipp::IPPInitSingleton::IPPInitSingleton() 123 39 31.70%
cv::utils::getModuleLocation(voidconst*) 46 8 17.39%
cv::BmpDecoder::readData(cv::Mat&) 313 76 24.28%
cv::JpegDecoder::readData(cv::Mat&) 112 43 38.39%
cv::(anonymousnamespace)::decodeSRGBData(opj_imageconst&,cv::Mat&,unsignedchar) 41 17 41.46%
cv::PAMDecoder::readHeader() 124 32 25.80%
cv::PAMDecoder::readData(cv::Mat&) 131 59 45.03%
cv::ReadPAMHeaderLine(cv::RLByteStream&,cv::PamHeaderFieldType&,char*) 83 25 30.12%
cv::PFMDecoder::readHeader() 38 20 52.63%
cv::PxMDecoder::readHeader() 64 34 53.12%
cv::PxMDecoder::readData(cv::Mat&) 164 69 42.07%
cv::SunRasterDecoder::readData(cv::Mat&) 223 41 18.38%
cv::TiffDecoder::readData(cv::Mat&) 290 124 42.75%
cv::fixOrientationFull(cv::Mat&,int) 34 15 44.11%
cv::imdecode_(cv::Matconst&,int,cv::Mat&) 132 72 54.54%
RGBE_ReadHeader(_IO_FILE*,int*,int*,rgbe_header_info*) 61 19 31.14%
cv::cvtColor(cv::_InputArrayconst&,cv::_OutputArrayconst&,int,int) 179 19 10.61%
cv::hal::cvtXYZtoBGR(unsignedcharconst*,unsignedlong,unsignedchar*,unsignedlong,int,int,int,int,bool) 45 11 24.44%
cv::hal::cvtBGRtoBGR(unsignedcharconst*,unsignedlong,unsignedchar*,unsignedlong,int,int,int,int,int,bool) 52 24 46.15%
iwTypeToSize 32 10 31.25% []
owniChDescriptorToCode 88 37 42.04% []
llwiMirror_Wrap 78 19 24.35% []
llwiMirror 132 23 17.42% []
initCIELabConversion 36 18 50.0% []
opj_j2k_read_tlm 47 23 48.93% []
gray_rgb_convert 36 8 22.22% []
png_do_strip_channel 118 44 37.28% []
TIFFReadBufferSetup 37 20 54.05% []
cv::imread_(std::__1::basic_string ,std::__1::allocator >const&,int,cv::Mat&) 107 55 51.40%
cv::findDecoder(std::__1::basic_string ,std::__1::allocator >const&) 37 20 54.05%