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

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: molfile_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 4264 76.4%
gold [1:9] 15 0.26%
yellow [10:29] 21 0.37%
greenyellow [30:49] 11 0.19%
lawngreen 50+ 1264 22.6%
All colors 5575 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
699 4842 FreeINChIArrays call site: 04842 OAD_ProcessOneStructure105Plus
226 1969 mark_alt_bonds_and_taut_groups call site: 01969 count_one_bond_atoms
144 4152 MakeCtStringOld call site: 04152 OutputINCHI_StereoLayer_EnhancedStereo
135 559 MolfileReadBondsBlock call site: 00559 MolfileV3000ReadTailOfCTAB
129 4613 OutputINChI1 call site: 04613 str_AuxInvIsoSp3Numb
117 1018 InchiTimeMsecDiff call site: 01018 CreateOrigInpDataFromMolfile
99 3408 map_stereo_bonds4 call site: 03408 map_stereo_bonds4
89 67 lrtrim call site: 00067 inchi_ios_eprint
83 2915 set_stereo_bonds_parity call site: 02915 half_stereo_bond_parity
83 4387 OutputINCHI_IsotopicLayer call site: 04387 str_IsoSp2
81 2381 inchi_ios_print_nodisplay call site: 02381 CreateOneStructureINChI
78 165 inchi_ios_eprint call site: 00165 set_common_options_by_parg

Runtime coverage analysis

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

Files reached

filename functions hit
/src/molfile_fuzzer.c 1
INCHI_API/libinchi/src/inchi_dll_b.c 3
INCHI_API/libinchi/src/inchi_dll.c 4
INCHI_BASE/src/ichi_io.c 21
INCHI_BASE/src/ichiparm.c 2
INCHI_BASE/src/util.c 44
INCHI_BASE/src/ichierr.c 3
INCHI_BASE/src/runichi2.c 30
INCHI_BASE/src/mol2atom.c 13
INCHI_BASE/src/runichi3.c 45
INCHI_BASE/src/strutil.c 62
INCHI_BASE/src/ichicano.c 16
INCHI_BASE/src/mol_fmt1.c 10
INCHI_BASE/src/mol_fmt2.c 7
INCHI_BASE/src/mol_fmt4.c 27
INCHI_BASE/src/mol_fmt3.c 15
INCHI_BASE/src/readinch.c 7
INCHI_BASE/src/ichister.c 43
INCHI_BASE/src/ichimake.c 20
INCHI_BASE/src/runichi.c 19
INCHI_BASE/src/ichinorm.c 59
INCHI_BASE/src/ichisort.c 29
INCHI_BASE/src/aromaticity.c 4
INCHI_BASE/src/ichi_bns.c 96
INCHI_BASE/src/ichitaut.c 39
INCHI_BASE/src/ichican2.c 58
INCHI_BASE/src/ichiqueu.c 16
INCHI_BASE/src/ichiprt1.c 38
INCHI_BASE/src/runichi4.c 9
INCHI_BASE/src/ichiring.c 11
INCHI_BASE/src/ichiisot.c 2
INCHI_BASE/src/ichimap2.c 30
INCHI_BASE/src/ichicans.c 27
INCHI_BASE/src/ichimap1.c 27
INCHI_BASE/src/ichimap4.c 2
INCHI_BASE/src/ichimak2.c 11
INCHI_API/libinchi/src/inchi_dll_a2.c 2
INCHI_BASE/src/ichiprt2.c 32
INCHI_BASE/src/ichiprt3.c 26
INCHI_BASE/src/ichiread.c 50
INCHI_BASE/src/ichirvr7.c 1

Fuzzer: inchi_input_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 5304 84.7%
gold [1:9] 4 0.06%
yellow [10:29] 7 0.11%
greenyellow [30:49] 1 0.01%
lawngreen 50+ 939 15.0%
All colors 6255 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
729 3577 CompareHillFormulasNoH call site: 03577 MakeInChIOutOfStrFromINChI2
514 3023 DeAllocBCN call site: 03023 RunBnsRestore1
341 673 IntArray_Alloc call site: 00673 ReadInChICoord
234 4320 ExtractConnectedComponent call site: 04320 mark_arom_bonds
154 6047 FreeINChIArrays call site: 06047 AddRemIsoProtonsInRestrStruct
149 523 InchiClock call site: 00523 InChILine2Data
145 5330 MakeCtStringOld call site: 05330 OutputINCHI_StereoLayer_EnhancedStereo
131 1033 FreeExtOrigAtData call site: 01033 ConvertInChI2Struct
129 362 ReadCommandLineParms call site: 00362 CheckINCHI
129 5792 OutputINChI1 call site: 05792 str_AuxInvIsoSp3Numb
117 4728 OrigStruct_FillOut call site: 04728 CreateOneStructureINChI
115 70 inchi_ios_print_nodisplay call site: 00070 ReadCommandLineParms

Runtime coverage analysis

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

Files reached

filename functions hit
/src/inchi_input_fuzzer.c 1
INCHI_BASE/src/ikey_dll.c 1
INCHI_BASE/src/util.c 32
INCHI_BASE/src/sha2.c 5
INCHI_BASE/src/ikey_base26.c 8
INCHI_API/libinchi/src/inchi_dll.c 10
INCHI_BASE/src/ichi_io.c 16
INCHI_BASE/src/ichiparm.c 4
INCHI_BASE/src/ichiread.c 65
INCHI_BASE/src/ichiprt2.c 32
INCHI_BASE/src/ichicano.c 16
INCHI_BASE/src/mol_fmt4.c 11
INCHI_BASE/src/runichi3.c 33
INCHI_BASE/src/strutil.c 62
INCHI_BASE/src/ichirvr7.c 17
INCHI_BASE/src/mol2atom.c 7
INCHI_BASE/src/ichimake.c 25
INCHI_BASE/src/ichirvr4.c 20
INCHI_BASE/src/ichirvr2.c 29
INCHI_BASE/src/ichirvr1.c 51
INCHI_BASE/src/ichister.c 43
INCHI_BASE/src/ichitaut.c 39
INCHI_BASE/src/ichisort.c 29
INCHI_BASE/src/ichinorm.c 59
INCHI_BASE/src/ichi_bns.c 100
INCHI_BASE/src/ichican2.c 58
INCHI_BASE/src/ichiqueu.c 16
INCHI_BASE/src/ichiring.c 11
INCHI_BASE/src/ichiisot.c 2
INCHI_BASE/src/ichimap2.c 30
INCHI_BASE/src/ichicans.c 27
INCHI_BASE/src/ichimap1.c 27
INCHI_BASE/src/ichimap4.c 2
INCHI_BASE/src/ichimak2.c 11
INCHI_BASE/src/ichierr.c 3
INCHI_BASE/src/ichirvr5.c 3
INCHI_BASE/src/ichiprt1.c 37
INCHI_BASE/src/ichirvr3.c 3
INCHI_BASE/src/ichirvr6.c 1
INCHI_BASE/src/runichi.c 9
INCHI_BASE/src/aromaticity.c 4
INCHI_BASE/src/runichi2.c 4
INCHI_BASE/src/mol_fmt2.c 1
INCHI_BASE/src/runichi4.c 9
INCHI_API/libinchi/src/inchi_dll_a2.c 2
INCHI_BASE/src/ichiprt3.c 26

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
InchiToInchiAtom /src/inchi/INCHI-1-SRC/INCHI_API/libinchi/src/inchi_dll_b.c 16 ['N/A', 'N/A', 'N/A', 'int', 'int', 'int', 'N/A', 'int', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A'] 4 0 10255 1551 501 32 0 646 528
CanonOneStructureINChI /src/inchi/INCHI-1-SRC/INCHI_API/libinchi/src/inchi_dll_a2.c 5 ['N/A', 'N/A', 'N/A', 'int', 'N/A'] 12 0 282 37 7 230 0 3999 277
GetINCHI /src/inchi/INCHI-1-SRC/INCHI_API/libinchi/src/inchi_dll.c 2 ['N/A', 'N/A'] 17 0 65 6 3 937 0 21362 275
NormOneStructureINChI /src/inchi/INCHI-1-SRC/INCHI_API/libinchi/src/inchi_dll_a2.c 6 ['N/A', 'N/A', 'N/A', 'N/A', 'int', 'N/A'] 14 0 1143 161 43 345 0 7117 182

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

Functions statically reachable by fuzzers
96.0%
1158 / 1210
Cyclomatic complexity statically reachable by fuzzers
99.0%
32437 / 32793

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Runtime coverage analysis

This section shows analysis of runtime coverage data.

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

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
parse_options_string 78 21 26.92% ['molfile_fuzzer', 'inchi_input_fuzzer']
AddOrRemoveExplOrImplH 105 52 49.52% ['molfile_fuzzer', 'inchi_input_fuzzer']
nBondsValenceInpAt 42 18 42.85% ['molfile_fuzzer', 'inchi_input_fuzzer']
BnsAdjustFlowBondsRad 81 33 40.74% ['molfile_fuzzer', 'inchi_input_fuzzer']
BnsTestAndMarkAltBonds 139 13 9.352% ['molfile_fuzzer', 'inchi_input_fuzzer']
SetForbiddenEdges 75 19 25.33% ['molfile_fuzzer', 'inchi_input_fuzzer']
fix_special_bonds 398 26 6.532% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetAtomChargeType 470 164 34.89% ['molfile_fuzzer', 'inchi_input_fuzzer']
SimpleRemoveAcidicProtons 54 20 37.03% ['molfile_fuzzer', 'inchi_input_fuzzer']
HardRemoveAcidicProtons 136 42 30.88% ['molfile_fuzzer', 'inchi_input_fuzzer']
HardAddAcidicProtons 139 54 38.84% ['molfile_fuzzer', 'inchi_input_fuzzer']
RemoveNPProtonsAndAcidCharges 109 54 49.54% ['molfile_fuzzer', 'inchi_input_fuzzer']
mark_alt_bonds_and_taut_groups 461 249 54.01% ['molfile_fuzzer', 'inchi_input_fuzzer']
ReInitBnStruct 79 24 30.37% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetEdgePointer 40 20 50.0% ['molfile_fuzzer', 'inchi_input_fuzzer']
BalancedNetworkSearch 142 73 51.40% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkRingSystemsAltBns 151 57 37.74% ['molfile_fuzzer', 'inchi_input_fuzzer']
ReInitBnStructForAltBns 77 20 25.97% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkNonStereoAltBns 70 16 22.85% ['molfile_fuzzer', 'inchi_input_fuzzer']
inchi_ios_print 67 26 38.80% ['molfile_fuzzer', 'inchi_input_fuzzer']
inchi_ios_print_nodisplay 89 36 40.44% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetMaxPrintfLength 190 96 50.52% ['molfile_fuzzer', 'inchi_input_fuzzer']
CtFullCompare 165 78 47.27% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetOneAdditionalLayer 36 17 47.22% ['molfile_fuzzer', 'inchi_input_fuzzer']
CanonGraph 645 160 24.80% ['molfile_fuzzer', 'inchi_input_fuzzer']
InchiTimeMsecDiff 60 13 21.66% ['molfile_fuzzer', 'inchi_input_fuzzer']
bInchiTimeIsOver 57 9 15.78% ['molfile_fuzzer', 'inchi_input_fuzzer']
UpdateFullLinearCT 117 51 43.58% ['molfile_fuzzer', 'inchi_input_fuzzer']
Canon_INChI3 842 315 37.41% ['molfile_fuzzer', 'inchi_input_fuzzer']
UnmarkNonStereo 156 85 54.48% ['molfile_fuzzer', 'inchi_input_fuzzer']
FillSingleStereoDescriptors 128 26 20.31% ['molfile_fuzzer', 'inchi_input_fuzzer']
SetKnownStereoBondParities 237 17 7.172% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkKnownEqualStereoBondParities 205 13 6.341% ['molfile_fuzzer', 'inchi_input_fuzzer']
RemoveKnownNonStereoBondParities 86 15 17.44% ['molfile_fuzzer', 'inchi_input_fuzzer']
SetKnownStereoCenterParities 87 14 16.09% ['molfile_fuzzer', 'inchi_input_fuzzer']
RemoveKnownNonStereoCenterParities 81 19 23.45% ['molfile_fuzzer', 'inchi_input_fuzzer']
InvertStereo 90 15 16.66% ['molfile_fuzzer', 'inchi_input_fuzzer']
ErrMsg 44 15 34.09% ['molfile_fuzzer', 'inchi_input_fuzzer']
CopyLinearCTStereoToINChIStereo 101 43 42.57% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkAmbiguousStereo 71 16 22.53% ['molfile_fuzzer', 'inchi_input_fuzzer']
FillOutINChI 607 312 51.40% ['molfile_fuzzer', 'inchi_input_fuzzer']
CompINChITautVsNonTaut 118 11 9.322% ['molfile_fuzzer', 'inchi_input_fuzzer']
CompINChILayers 703 289 41.10% ['molfile_fuzzer', 'inchi_input_fuzzer']
CompareInchiStereo 66 27 40.90% ['molfile_fuzzer', 'inchi_input_fuzzer']
CompINChI2 204 102 50.0% ['molfile_fuzzer', 'inchi_input_fuzzer']
SetNewRanksFromNeighLists4 40 20 50.0% ['molfile_fuzzer', 'inchi_input_fuzzer']
RemoveCalculatedNonStereoBondParities 201 20 9.950% ['molfile_fuzzer', 'inchi_input_fuzzer']
RemoveCalculatedNonStereoCenterParities 214 24 11.21% ['molfile_fuzzer', 'inchi_input_fuzzer']
map_stereo_bonds4 779 49 6.290% ['molfile_fuzzer', 'inchi_input_fuzzer']
map_stereo_atoms4 628 213 33.91% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkRingSystemsInp 203 111 54.67% ['molfile_fuzzer', 'inchi_input_fuzzer']
ReadCommandLineParms 1157 246 21.26% ['molfile_fuzzer', 'inchi_input_fuzzer']
szGetTag 64 21 32.81% ['molfile_fuzzer', 'inchi_input_fuzzer']
WriteOrigBonds 273 30 10.98% ['molfile_fuzzer', 'inchi_input_fuzzer']
OutputINCHI_StereoLayer 114 11 9.649% ['molfile_fuzzer', 'inchi_input_fuzzer']
OutputINCHI_IsotopicLayer 193 53 27.46% ['molfile_fuzzer', 'inchi_input_fuzzer']
OutputINCHI_FixedHLayerWithSublayers 93 17 18.27% ['molfile_fuzzer', 'inchi_input_fuzzer']
OutputINCHI_PolymerLayer 171 20 11.69% ['molfile_fuzzer', 'inchi_input_fuzzer']
OutputAUXINFO_OriginalNumbersAndEquivalenceClasses 41 21 51.21% ['molfile_fuzzer', 'inchi_input_fuzzer']
OutputAUXINFO_Stereo 43 8 18.60% ['molfile_fuzzer', 'inchi_input_fuzzer']
OutputAUXINFO_IsotopicInfo 128 10 7.812% ['molfile_fuzzer', 'inchi_input_fuzzer']
OutputAUXINFO_PolymerInfo 56 11 19.64% ['molfile_fuzzer', 'inchi_input_fuzzer']
MakeHString 226 117 51.76% ['molfile_fuzzer', 'inchi_input_fuzzer']
MakeTautString 142 9 6.338% ['molfile_fuzzer', 'inchi_input_fuzzer']
MakeCRVString 187 75 40.10% ['molfile_fuzzer', 'inchi_input_fuzzer']
str_Charge2 144 72 50.0% ['molfile_fuzzer', 'inchi_input_fuzzer']
str_IsoAtoms 184 74 40.21% ['molfile_fuzzer', 'inchi_input_fuzzer']
str_AuxNumb 98 41 41.83% ['molfile_fuzzer', 'inchi_input_fuzzer']
is_atom_in_3memb_ring 32 7 21.87% ['molfile_fuzzer', 'inchi_input_fuzzer']
inchi_qsort 119 9 7.563% ['molfile_fuzzer', 'inchi_input_fuzzer']
CreateNeighList 113 42 37.16% ['molfile_fuzzer', 'inchi_input_fuzzer']
bInpAtomHasRequirdNeigh 79 23 29.11% ['molfile_fuzzer', 'inchi_input_fuzzer']
can_be_a_stereo_bond_with_isotopic_H 226 26 11.50% ['molfile_fuzzer', 'inchi_input_fuzzer']
set_stereo_atom_parity 395 96 24.30% ['molfile_fuzzer', 'inchi_input_fuzzer']
set_stereo_bonds_parity 449 45 10.02% ['molfile_fuzzer', 'inchi_input_fuzzer']
nGetEndpointInfo 84 42 50.0% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkChargeGroups 119 5 4.201% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetSaltChargeType 75 7 9.333% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetOtherSaltChargeType 83 19 22.89% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetOtherSaltType 49 7 14.28% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkSaltChargeGroups2 388 50 12.88% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkSaltChargeGroups 186 55 29.56% ['molfile_fuzzer', 'inchi_input_fuzzer']
MergeSaltTautGroups 137 54 39.41% ['molfile_fuzzer', 'inchi_input_fuzzer']
MarkTautomerGroups 1446 116 8.022% ['molfile_fuzzer', 'inchi_input_fuzzer']
make_a_copy_of_t_group_info 92 46 50.0% ['molfile_fuzzer', 'inchi_input_fuzzer']
CountTautomerGroups 178 39 21.91% ['molfile_fuzzer', 'inchi_input_fuzzer']
SortTautomerGroupsAndEndpoints 37 10 27.02% ['molfile_fuzzer', 'inchi_input_fuzzer']
CreateOrigInpDataFromMolfile 157 84 53.50% ['molfile_fuzzer', 'inchi_input_fuzzer']
FreeExtOrigAtData 65 7 10.76% ['molfile_fuzzer', 'inchi_input_fuzzer']
SetExtOrigAtDataByMolfileExtInput 240 10 4.166% ['molfile_fuzzer', 'inchi_input_fuzzer']
DeleteMolfileV3000Info 36 14 38.88% ['molfile_fuzzer', 'inchi_input_fuzzer']
MolfileV3000ReadCTABBeginAndCountsLine 90 43 47.77% ['molfile_fuzzer', 'inchi_input_fuzzer']
ProcessOneStructure 234 103 44.01% ['molfile_fuzzer', 'inchi_input_fuzzer']
CreateOneStructureINChI 433 209 48.26% ['molfile_fuzzer', 'inchi_input_fuzzer']
ProcessOneStructureEx 47 25 53.19% ['molfile_fuzzer', 'inchi_input_fuzzer']
PreprocessPolymerCRUData 187 19 10.16% ['molfile_fuzzer', 'inchi_input_fuzzer']
ValidateAndPreparePolymerAndPseudoatoms 49 26 53.06% ['molfile_fuzzer', 'inchi_input_fuzzer']
DoOneStructureEarlyPreprocessing 48 15 31.25% ['molfile_fuzzer', 'inchi_input_fuzzer']
PrepareSaveOptBits 50 7 14.00% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetOneStructure 155 34 21.93% ['molfile_fuzzer', 'inchi_input_fuzzer']
ReadTheStructure 228 56 24.56% ['molfile_fuzzer', 'inchi_input_fuzzer']
BuildPolymerCrossingBondEndpointMask 67 9 13.43% ['molfile_fuzzer', 'inchi_input_fuzzer']
OrigAtData_Duplicate 274 59 21.53% ['molfile_fuzzer', 'inchi_input_fuzzer']
PreprocessOneStructure 249 98 39.35% ['molfile_fuzzer', 'inchi_input_fuzzer']
OAD_ValidatePolymerAndPseudoElementData 330 27 8.181% ['molfile_fuzzer', 'inchi_input_fuzzer']
GetProcessingWarningsOneInChI 37 17 45.94% ['molfile_fuzzer', 'inchi_input_fuzzer']
the_only_doublet_neigh 35 8 22.85% ['molfile_fuzzer', 'inchi_input_fuzzer']
fix_non_uniform_drawn_oxoanions 122 51 41.80% ['molfile_fuzzer', 'inchi_input_fuzzer']
fix_non_uniform_drawn_amidiniums 97 37 38.14% ['molfile_fuzzer', 'inchi_input_fuzzer']
fix_odd_things 250 46 18.4% ['molfile_fuzzer', 'inchi_input_fuzzer']
remove_ion_pairs 799 128 16.02% ['molfile_fuzzer', 'inchi_input_fuzzer']
RemoveInpAtBond 161 20 12.42% ['molfile_fuzzer', 'inchi_input_fuzzer']
DisconnectSalts 34 13 38.23% ['molfile_fuzzer', 'inchi_input_fuzzer']
DisconnectOneLigand 101 38 37.62% ['molfile_fuzzer', 'inchi_input_fuzzer']
move_explicit_Hcation 175 79 45.14% ['molfile_fuzzer', 'inchi_input_fuzzer']
remove_terminal_HDT 215 82 38.13% ['molfile_fuzzer', 'inchi_input_fuzzer']
Alloc_INChI_Stereo 35 17 48.57% ['molfile_fuzzer', 'inchi_input_fuzzer']
nNoMetalNumBonds 55 27 49.09% ['molfile_fuzzer', 'inchi_input_fuzzer']
nNoMetalBondsValence 48 22 45.83% ['molfile_fuzzer', 'inchi_input_fuzzer']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/mol_fmt4.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichierr.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichican2.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ikey_dll.c ['inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/strutil.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/molfile_fuzzer.c ['molfile_fuzzer'] ['molfile_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/runichi.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/sha2.c ['inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichimak2.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichimap1.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ikey_base26.c ['inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_API/libinchi/src/inchi_dll.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichirvr6.c ['inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/runichi2.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/runichi4.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/util.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichiparm.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichirvr1.c ['inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/mol_fmt2.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichi_bns.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichiprt2.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichimap4.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/runichi3.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/mol2atom.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichirvr2.c ['inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_API/libinchi/src/inchi_dll_b.c ['molfile_fuzzer'] ['molfile_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichiprt1.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/mol_fmt1.c ['molfile_fuzzer'] ['molfile_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichister.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichimap2.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichirvr7.c ['molfile_fuzzer', 'inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichiring.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichiprt3.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichiread.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichinorm.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/aromaticity.c ['molfile_fuzzer', 'inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/readinch.c ['molfile_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichimake.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichiqueu.c ['molfile_fuzzer', 'inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichisort.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichicano.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi_input_fuzzer.c ['inchi_input_fuzzer'] ['inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichirvr3.c ['inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichi_io.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichicans.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichitaut.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichirvr5.c ['inchi_input_fuzzer'] []
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/mol_fmt3.c ['molfile_fuzzer'] ['molfile_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_API/libinchi/src/inchi_dll_a2.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichiisot.c ['molfile_fuzzer', 'inchi_input_fuzzer'] ['molfile_fuzzer', 'inchi_input_fuzzer']
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/ichirvr4.c ['inchi_input_fuzzer'] []

Directories in report

Directory
/src/inchi/INCHI-1-SRC/INCHI_BASE/src/
/src/inchi/INCHI-1-SRC/INCHI_API/libinchi/src/
/src/