Fuzz introspector

Project overview

High level conclusions

Fuzzers reach 54.94% of cyclomatic complexity. This is okay.
Fuzzers reach 53.75% of all functions. This is good, but improvements can be made
Fuzzer load_from_memory_fuzzer is blocked: runtime coverage only covers 4.864% of its reachable functions.

Reachability and coverage overview

Functions statically reachable by fuzzers
53.75%
4255/7916
Cyclomatic complexity statically reachable by fuzzers
54.95%
33962/61809
Functions covered at runtime
364

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
load_from_memory_fuzzer /src/load_from_memory_fuzzer.cc 4255 3661 24 418 81740 33962 load_from_memory_fuzzer.cc

Fuzzer details

Fuzzer: load_from_memory_fuzzer

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

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
1992 12408 InitWEBP(Plugin*, int) call site WebPEncode
1713 7006 InitEXR(Plugin*, int) call site FreeImage_Allocate
1441 3868 InitTIFF(Plugin*, int) call site TIFFClientOpen
1338 11069 InitWEBP(Plugin*, int) call site WebPDecode
944 2203 InitPNG(Plugin*, int) call site png_read_image
905 15081 InitJXR(Plugin*, int) call site PKImageEncode_Create_WMP
726 8720 InitEXR(Plugin*, int) call site FreeImage_FlipVertical
672 10210 LibRaw::getreal(int) call site FreeImage_CloneMetadata
649 5315 InitTIFF(Plugin*, int) call site TIFFSetDirectory
553 14423 InitJXR(Plugin*, int) call site PKImageDecode_Create_WMP

Functions hit (dynamic analysis based)

Covered functions
36
Functions that are reachable but not covered
4048
Reachable functions
4255
Percentage of reachable functions covered
4.86%
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.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
/src/load_from_memory_fuzzer.cc 2
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/Plugin.cpp 11
/src/freeimage-svn/FreeImage/trunk/Source/Metadata/TagLib.cpp 8
/ 55
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/FreeImage.cpp 2
//usr/include/ctype.h 3
/src/freeimage-svn/FreeImage/trunk/Source/Utilities.h 25
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginBMP.cpp 20
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/BitmapAccess.cpp 52
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PixelAccess.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/Metadata/FreeImageTag.cpp 17
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginICO.cpp 21
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/Conversion32.cpp 10
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginJPEG.cpp 41
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jerror.c 6
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcomapi.c 5
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdapimin.c 6
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jmemmgr.c 15
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jmemnobs.c 8
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdmarker.c 19
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdinput.c 9
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jutils.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdapistd.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdmaster.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jquant1.c 15
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jquant2.c 13
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdmerge.c 8
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdcolor.c 14
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdsample.c 8
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdpostct.c 5
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jddctmgr.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdarith.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdhuff.c 4
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdcoefct.c 9
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jdmainct.c 9
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/MemoryIO.cpp 9
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/FreeImageIO.cpp 5
/src/freeimage-svn/FreeImage/trunk/Source/Metadata/Exif.cpp 19
/src/freeimage-svn/FreeImage/trunk/Source/Metadata/IPTC.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/Conversion.cpp 14
/src/freeimage-svn/FreeImage/trunk/Source/FreeImageToolkit/Flip.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/FreeImageToolkit/ClassicRotate.cpp 14
//usr/local/bin/../include/c++/v1/math.h 8
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcapimin.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcparam.c 12
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcapistd.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcinit.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcmaster.c 9
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jccolor.c 10
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcsample.c 10
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcprepct.c 6
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcdctmgr.c 4
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jfdctint.c 32
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jfdctfst.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jfdctflt.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcarith.c 4
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jchuff.c 23
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jccoefct.c 6
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcmainct.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibJPEG/jcmarker.c 20
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/Conversion24.cpp 7
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginJNG.cpp 15
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/MNGHelper.cpp 17
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/ZLibInterface.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/ZLib/crc32.c 3
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/GetType.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/FreeImageToolkit/Channels.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/Conversion8.cpp 7
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginKOALA.cpp 10
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginIFF.cpp 11
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginMNG.cpp 14
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginPNM.cpp 15
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginPCD.cpp 13
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginPCX.cpp 13
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginPNG.cpp 16
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/png.c 55
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngread.c 11
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngmem.c 11
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngerror.c 22
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngrio.c 2
/src/freeimage-svn/FreeImage/trunk/Source/ZLib/inflate.c 10
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngrutil.c 47
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngset.c 19
/src/freeimage-svn/FreeImage/trunk/Source/ZLib/zutil.c 2
/src/freeimage-svn/FreeImage/trunk/Source/ZLib/adler32.c 2
/src/freeimage-svn/FreeImage/trunk/Source/ZLib/inftrees.c 1
/src/freeimage-svn/FreeImage/trunk/Source/ZLib/inffast.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngget.c 13
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngrtran.c 28
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngtrans.c 11
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngwrite.c 14
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngwio.c 3
/src/freeimage-svn/FreeImage/trunk/Source/ZLib/deflate.c 15
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngwutil.c 49
/src/freeimage-svn/FreeImage/trunk/Source/ZLib/trees.c 19
/src/freeimage-svn/FreeImage/trunk/Source/LibPNG/pngwtran.c 5
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginRAS.cpp 12
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginTARGA.cpp 36
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginTIFF.cpp 46
/src/freeimage-svn/FreeImage/trunk/Source/Metadata/XTIFF.cpp 9
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_dir.c 24
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_dirinfo.c 19
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_aux.c 12
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_error.c 1
//usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_open.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_compress.c 15
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_swab.c 10
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_read.c 20
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_warning.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_dirread.c 105
//usr/include/stdlib.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_strip.c 9
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_tile.c 8
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_write.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_close.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_flush.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_dirwrite.c 66
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_getimage.c 5
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/ConversionRGB16.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/ConversionRGBF.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/TIFFLogLuv.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../OpenEXR/Half/half.h 6
/src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_extension.c 2
/src/freeimage-svn/FreeImage/trunk/Source/Metadata/FIRational.cpp 4
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PSDParser.cpp 53
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PSDParser.h 2
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginWBMP.cpp 13
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginPSD.cpp 12
/src/freeimage-svn/FreeImage/trunk/Source/FreeImageToolkit/Colors.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginCUT.cpp 11
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginXBM.cpp 13
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginXPM.cpp 15
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/ColorLookup.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginDDS.cpp 24
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginGIF.cpp 30
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginHDR.cpp 24
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginG3.cpp 11
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginSGI.cpp 12
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginEXR.cpp 16
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfHeader.cpp 45
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmThread/IlmThreadMutex.cpp 4
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmThread/IlmThreadMutex.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfAttribute.h 57
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfAttribute.cpp 7
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Iex/IexBaseExc.cpp 6
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Iex/IexBaseExc.h 14
//usr/local/bin/../include/c++/v1/exception 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Imath/ImathBox.h 10
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Imath/ImathVec.h 19
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Imath/ImathLimits.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfIntAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfStringAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfVecAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h 12
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Half/half.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Half/half.h 4
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfIO.cpp 6
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfThreading.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmThread/IlmThreadPool.cpp 14
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp 4
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmThread/IlmThread.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfInputFile.cpp 13
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfGenericInputFile.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfName.h 3
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfChannelList.h 6
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfFrameBuffer.h 14
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfXdr.h 16
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfIO.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfVersion.h 5
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp 9
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfInputStreamMutex.h 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfArray.h 13
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfHeader.h 19
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfPartType.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfCompressor.cpp 6
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfChannelList.cpp 6
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../OpenEXR/IlmImf/ImfChannelList.h 5
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfTimeCode.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfChromaticities.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfMisc.cpp 12
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Imath/ImathFun.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfRleCompressor.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h 4
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Iex/IexMathExc.h 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfZipCompressor.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfZip.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfPizCompressor.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfCompressor.h 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfB44Compressor.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp 6
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfTiledMisc.cpp 11
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfTileOffsets.cpp 9
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfTileOffsets.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfInputPartData.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp 21
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h 9
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp 9
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp 8
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp 4
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp 17
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfTileDescription.h 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp 20
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfSystemSpecific.h 1
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../OpenEXR/IlmImf/ImfPreviewImage.h 4
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfRgbaFile.cpp 29
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfChromaticities.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfRgbaYca.cpp 11
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Imath/ImathMatrix.h 2
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../OpenEXR/IlmImf/ImfRgba.h 1
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../OpenEXR/IlmImf/ImfArray.h 3
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp 6
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfRgba.h 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfPreviewImage.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfPreviewImage.h 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfOutputFile.cpp 19
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfGenericOutputFile.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfStdIO.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfStdIO.h 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Iex/IexThrowErrnoExc.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Iex/IexErrnoExc.h 119
//usr/local/bin/../include/c++/v1/stdlib.h 1
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginJ2K.cpp 13
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/J2KHelper.cpp 10
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/cio.c 12
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/openjpeg.c 15
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/j2k.c 8
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/function_list.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/tcd.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/tgt.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/image.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/jp2.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/event.c 3
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginJP2.cpp 13
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginPFM.cpp 14
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginPICT.cpp 27
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginRAW.cpp 19
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/init_close_utils.cpp 5
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/libraw/libraw_alloc.h 9
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/libraw/libraw_internal.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/libraw/libraw_datastream.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/unpack.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/utils_libraw.cpp 12
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/libraw/libraw.h 5
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/generic.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/read_utils.cpp 8
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/utils_dcraw.cpp 5
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/decoders_dcraw.cpp 14
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/crx.cpp 12
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/canon_600.cpp 6
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/metadata/sony.cpp 1
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/kodak_decoders.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/decoders_libraw_dcrdefs.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/metadata/cr3_parser.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/unpack_thumb.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/thumb_utils.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/curves.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/write/file_write.cpp 9
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/postprocessing/mem_image.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/postprocessing/dcraw_process.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/preprocessing/raw2image.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/phaseone_processing.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/load_mfbacks.cpp 8
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/preprocessing/ext_preprocess.cpp 2
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/preprocessing/subtract_black.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/internal/libraw_internal_funcs.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/postprocessing/postprocessing_utils_dcrdefs.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/postprocessing/postprocessing_aux.cpp 5
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/postprocessing/postprocessing_utils.cpp 3
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/demosaic/misc_demosaic.cpp 5
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/demosaic/dcb_demosaic.cpp 22
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/demosaic/xtrans_demosaic.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/demosaic/ahd_demosaic.cpp 7
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/demosaic/dht_demosaic.cpp 28
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/demosaic/aahd_demosaic.cpp 18
/src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/postprocessing/aspect_ratio.cpp 1
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginWebP.cpp 19
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../LibWebP/src/webp/mux.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/mux/muxread.c 17
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/mux/muxinternal.c 32
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/utils.h 10
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/webp/mux.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/mux/muxedit.c 20
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/utils.c 8
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/mux/muxi.h 3
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/webp/./mux_types.h 3
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/vp8l_dec.c 44
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/bit_reader_utils.c 10
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/bit_reader_utils.h 4
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/vp8_dec.c 21
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../LibWebP/src/webp/decode.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/webp_dec.c 15
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/webp/decode.h 4
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/buffer_dec.c 9
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/vp8_dec.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/io_dec.c 11
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/rescaler_utils.c 4
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/upsampling.c 19
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/yuv.h 15
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/upsampling_sse2.c 17
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/yuv_sse2.c 40
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/common_sse2.h 4
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/rescaler.c 8
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/rescaler_utils.h 3
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/rescaler_sse2.c 9
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/alpha_processing.c 20
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/alpha_processing_sse2.c 10
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/yuv.c 21
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/thread_utils.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/tree_dec.c 4
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/bit_reader_inl_utils.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/endian_inl_utils.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/quant_dec.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/frame_dec.c 20
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/random_utils.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/random_utils.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dec/alpha_dec.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/filters.c 13
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/filters_sse2.c 15
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/lossless.c 37
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/lossless_common.h 12
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/lossless_sse2.c 40
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/color_cache_utils.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/color_cache_utils.h 5
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/huffman_utils.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/quant_levels_dec_utils.c 9
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/dec.c 57
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/dec_clip_tables.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/dec_sse2.c 50
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../LibWebP/src/webp/./mux_types.h 2
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/../LibWebP/src/webp/encode.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/picture_enc.c 9
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/webp_enc.c 12
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/config_enc.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/picture_csp_enc.c 43
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/picture_tools_enc.c 6
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/enc.c 44
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/vp8i_enc.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/enc_sse2.c 57
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/tree_enc.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/cost.c 4
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/cost_enc.h 3
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/cost_sse2.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/alpha_enc.c 10
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/quant_levels_utils.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/bit_writer_utils.c 17
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/webp/encode.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/vp8l_enc.c 52
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/lossless_enc.c 39
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/lossless_enc_sse2.c 26
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/histogram_enc.c 49
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/backward_references_enc.c 28
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/bit_writer_utils.h 5
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/near_lossless_enc.c 6
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/backward_references_enc.h 15
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/histogram_enc.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/backward_references_cost_enc.c 25
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/utils/huffman_encode_utils.c 11
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/predictor_enc.c 28
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/token_enc.c 8
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/analysis_enc.c 16
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/iterator_enc.c 25
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/quant_enc.c 36
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/frame_enc.c 30
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/syntax_enc.c 15
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/filter_enc.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/enc/cost_enc.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/quant.h 2
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/ssim.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibWebP/src/dsp/ssim_sse2.c 6
/src/freeimage-svn/FreeImage/trunk/Source/FreeImage/PluginJXR.cpp 37
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/jxrgluelib/JXRGlueJxr.c 47
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/jxrgluelib/JXRGlue.c 31
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/jxrgluelib/JXRMeta.c 17
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/decode/strdec.c 35
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/sys/strcodec.c 56
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/decode/decode.c 5
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/decode/segdec.c 25
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/sys/adapthuff.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/sys/image.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/sys/strPredQuant.c 7
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/decode/strPredQuantDec.c 11
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/decode/postprocess.c 1
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/jxrgluelib/JXRGluePFC.c 2
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/common/include/guiddef.h 1
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/encode/strenc.c 31
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/encode/strFwdTransform.c 17
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/sys/strTransform.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/encode/segenc.c 16
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/encode/strPredQuantEnc.c 6
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/encode/encode.c 3
/src/freeimage-svn/FreeImage/trunk/Source/LibJXR/image/decode/JXRTranscode.c 14

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 reaches a high amount of 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
LibRaw::open_datastream(LibRaw_abstract_datastream*) /src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/open.cpp 2 ['class.LibRaw *', 'class.std::exception *'] 18 0 3430 672 228 276 0 6875 6484
opj_jp2_get_tile /src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/jp2.c 5 ['struct.opj_jp2 *', 'struct.opj_stream_private *', 'struct.opj_image *', 'struct.opj_event_mgr *', 'int '] 13 0 123 27 12 147 0 1204 1166
LibRaw::crxLoadDecodeLoop(void*, int) /src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/decoders/crx.cpp 3 ['class.LibRaw *', 'char *', 'int '] 6 0 44 12 5 25 0 834 807
LibRaw::unpack_function_name() /src/freeimage-svn/FreeImage/trunk/Source/LibRawLite/src/utils/decoder_info.cpp 1 ['class.LibRaw *'] 8 0 24 3 2 177 0 1697 799
opj_jp2_encode /src/freeimage-svn/FreeImage/trunk/Source/LibOpenJPEG/jp2.c 3 ['struct.opj_jp2 *', 'struct.opj_stream_private *', 'struct.opj_event_mgr *'] 15 0 14 3 2 131 0 976 735
TIFFInitCCITTFax4 /src/freeimage-svn/FreeImage/trunk/Source/LibTIFF4/tif_fax3.c 2 ['struct.tiff *', 'int '] 8 0 50 8 4 84 0 956 693
Imf_2_2::DwaCompressor::uncompressTile(char const*, int, Imath_2_2::Box >, char const*&) /src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp 5 ['class.Imf_2_2::DwaCompressor.6089 *', 'char *', 'int ', 'class.Imath_2_2::Box *', 'char **'] 9 0 14 3 2 133 0 1128 645

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

Functions statically reachable by fuzzers
61.76%
4889/7916
Cyclomatic complexity statically reachable by fuzzers
73.28%
45291 / 61809

All functions overview

The status of all functions in the project will be as follows if you implement fuzzers for these functions

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 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
FreeImage_GetColorType 119 23 19.32
FreeImage_OutputMessageProc 106 4 3.773
LoadOS22XBMP(FreeImageIO*, void*, int, unsigned int) 207 16 7.729
LibRaw::selectCRXTrack() 146 20 13.69
LibRaw::parseSonySRF(unsigned int) 136 7 5.147
LibRaw::parse_custom_cameras(unsigned int, libraw_custom_camera_t*, char**) 80 3 3.75