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

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 101 23.1%
gold [1:9] 50 11.4%
yellow [10:29] 9 2.05%
greenyellow [30:49] 4 0.91%
lawngreen 50+ 273 62.4%
All colors 437 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
14 123 xmlVRaiseError call site: 00123 xmlFormatError
10 409 xmlRegEpxFromParse call site: 00409 xmlRegexpErrMemory
8 9 xmlInitRandom call site: 00009 xmlAbort
7 101 xmlVRaiseError call site: 00101 xmlGetLineNo
5 169 xmlFAGenerateTransitions call site: 00169 xmlRegCopyAtom
5 429 xmlFuzzDataCleanup call site: 00429 xmlDictFree
4 175 xmlRegNewRange call site: 00175 xmlRegexpErrMemory
3 81 __xmlStructuredError call site: 00081 __xmlStructuredError
3 119 xmlVSetError call site: 00119 xmlCopyError
3 180 xmlRegFreeAtom call site: 00180 xmlFAGenerateTransitions
3 318 xmlFACompareAtoms call site: 00318 xmlRegStrEqualWildcard
2 113 xmlStrVASPrintf call site: 00113 xmlStrdup

Runtime coverage analysis

Covered functions
147
Functions that are reachable but not covered
41
Reachable functions
182
Percentage of reachable functions covered
77.47%
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
fuzz/regexp.c 1
fuzz/fuzz.c 6
hash.c 4
threads.c 7
dict.c 6
error.c 13
xmlmemory.c 1
globals.c 12
encoding.c 1
xpath.c 2
xmlIO.c 1
catalog.c 1
xmlschemastypes.c 1
relaxng.c 1
xmlregexp.c 60
xmlstring.c 7
./include/private/memory.h 1
tree.c 2
parserInternals.c 1
chvalid.c 1
./codegen/unicode.inc 35

Fuzzer: uri

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 41 12.4%
gold [1:9] 40 12.1%
yellow [10:29] 11 3.33%
greenyellow [30:49] 4 1.21%
lawngreen 50+ 234 70.9%
All colors 330 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
8 9 xmlInitRandom call site: 00009 xmlAbort
7 218 xmlURIEscape call site: 00218 xmlURIEscapeStr
5 323 xmlFuzzDataCleanup call site: 00323 xmlDictFree
4 134 LLVMFuzzerTestOneInput call site: 00134 fprintf
4 197 xmlURIEscape call site: 00197 xmlURIEscapeStr
2 150 xmlSaveUri call site: 00150 xmlSaveUriRealloc
2 159 xmlSaveUri call site: 00159 xmlSaveUriRealloc
1 27 xmlInitGlobalsInternal call site: 00027 xmlResetError
1 45 xmlGetThreadLocalStorage call site: 00045 pthread_getspecific
1 47 xmlGetThreadLocalStorage call site: 00047 xmlAbort
1 60 xmlRandom call site: 00060 xmlHashGrow
1 85 xmlParse3986Host call site: 00085 xmlParse3986DecOctet

Runtime coverage analysis

Covered functions
98
Functions that are reachable but not covered
26
Reachable functions
117
Percentage of reachable functions covered
77.78%
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
fuzz/uri.c 1
fuzz/fuzz.c 7
hash.c 4
threads.c 7
dict.c 6
error.c 3
xmlmemory.c 1
globals.c 6
encoding.c 1
xpath.c 2
xmlIO.c 1
catalog.c 1
xmlschemastypes.c 1
relaxng.c 1
uri.c 43
xmlstring.c 12
./include/private/memory.h 1

Fuzzer: html

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 567 45.6%
gold [1:9] 38 3.05%
yellow [10:29] 8 0.64%
greenyellow [30:49] 9 0.72%
lawngreen 50+ 620 49.9%
All colors 1242 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
73 906 xmlHashUpdateInternal call site: 00906 xmlCopyEntity
40 1027 xmlNewDocProp call site: 01027 xmlNewDocProp
26 694 xmlAllocOutputBuffer call site: 00694 xmlCharEncOutput
24 166 xmlUnlinkNode call site: 00166 xmlFreeEntitiesTable
19 982 xmlNewDocProp call site: 00982 xmlNodeParseAttValue
19 1122 xmlNodeGetContent call site: 01122 xmlBufGetNodeContent
18 1006 xmlNewText call site: 01006 xmlNodeParseAttValue
15 320 xmlVRaiseError call site: 00320 xmlRaiseMemoryError
14 761 htmlNodeDumpInternal call site: 00761 htmlParseMetaEncoding
13 1068 xmlCopyPropInternal call site: 01068 xmlSetTreeDoc
12 779 htmlNodeDumpInternal call site: 00779 xmlNsListDumpOutput
11 137 xmlFreeDtd call site: 00137 xmlFreeElementTable

Runtime coverage analysis

Covered functions
302
Functions that are reachable but not covered
143
Reachable functions
389
Percentage of reachable functions covered
63.24%
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
fuzz/html.c 1
fuzz/fuzz.c 7
hash.c 16
threads.c 7
dict.c 18
error.c 14
xmlmemory.c 1
globals.c 15
encoding.c 19
xpath.c 2
xmlIO.c 17
catalog.c 5
xmlschemastypes.c 1
relaxng.c 1
HTMLparser.c 56
SAX2.c 1
parserInternals.c 30
parser.c 9
buf.c 19
tree.c 50
valid.c 33
list.c 3
xmlregexp.c 4
entities.c 8
xmlstring.c 12
./include/private/memory.h 1
./include/private/parser.h 1
HTMLtree.c 9
xmlsave.c 3

Fuzzer: xml

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 968 30.5%
gold [1:9] 119 3.75%
yellow [10:29] 58 1.83%
greenyellow [30:49] 27 0.85%
lawngreen 50+ 1995 62.9%
All colors 3167 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
79 1890 xmlBuildURISafe call site: 01890 xmlCatalogXMLResolve
65 811 xmlRMutexUnlock call site: 00811 xmlCatalogListXMLResolve
61 2648 htmlIsBooleanAttr call site: 02648 htmlAttrDumpOutput
57 1978 xmlInitializeCatalog call site: 01978 xmlACatalogResolve
35 1610 xmlCopyNamespaceList call site: 01610 xmlCopyDtd
35 2590 xmlOutputBufferWriteQuotedString call site: 02590 htmlNodeDumpInternal
27 1799 xmlStrncat call site: 01799 xmlParseXMLCatalogOneNode
19 1704 xmlNodeGetContent call site: 01704 xmlBufGetNodeContent
18 1273 xmlParseAttValue call site: 01273 xmlSkipBlankChars
17 1564 xmlCopyPropInternal call site: 01564 xmlNewReconciledNs
17 1773 xmlGetPropNodeValueInternal call site: 01773 xmlParseXMLCatalogNodeList
16 1646 xmlCreateEnumeration call site: 01646 xmlCopyEntitiesTable

Runtime coverage analysis

Covered functions
605
Functions that are reachable but not covered
170
Reachable functions
698
Percentage of reachable functions covered
75.64%
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
fuzz/xml.c 1
fuzz/fuzz.c 13
hash.c 29
threads.c 9
dict.c 21
error.c 16
xmlmemory.c 1
globals.c 23
encoding.c 19
xpath.c 2
xmlIO.c 31
catalog.c 38
xmlschemastypes.c 1
relaxng.c 1
xmlstring.c 17
parserInternals.c 43
SAX2.c 6
parser.c 153
buf.c 25
tree.c 67
valid.c 40
list.c 3
xmlregexp.c 4
entities.c 10
HTMLparser.c 4
./include/private/memory.h 1
chvalid.c 1
./include/private/parser.h 2
uri.c 35
xmlsave.c 35
HTMLtree.c 8

Fuzzer: xpath

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 1177 34.9%
gold [1:9] 154 4.57%
yellow [10:29] 49 1.45%
greenyellow [30:49] 23 0.68%
lawngreen 50+ 1965 58.3%
All colors 3368 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
137 1806 xmlBuildURISafe call site: 01806 xmlCatalogXMLResolve
60 1952 xmlInitializeCatalog call site: 01952 xmlACatalogResolve
51 1567 xmlHashUpdateInternal call site: 01567 xmlCopyEntity
39 700 xmlHashLookup call site: 00700 xmlParseXMLCatalogFile
35 1524 xmlNewNs call site: 01524 xmlStaticCopyNodeList
32 2197 xmlExpandPEsInEntityValue call site: 02197 xmlLoadEntityContent
26 1642 xmlNewDoc call site: 01642 xmlCopyDtd
22 1411 nodePush call site: 01411 xmlParseTextDecl
21 2018 xmlSkipBlankCharsPE call site: 02018 xmlSkipBlankCharsPE
20 667 xmlRMutexUnlock call site: 00667 xmlCatalogListXMLResolve
18 1138 xmlParseAttValue call site: 01138 xmlSkipBlankChars
18 1747 xmlGetPropNodeValueInternal call site: 01747 xmlParseXMLCatalogNodeList

Runtime coverage analysis

Covered functions
689
Functions that are reachable but not covered
191
Reachable functions
764
Percentage of reachable functions covered
75.0%
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
fuzz/xpath.c 1
fuzz/fuzz.c 7
hash.c 28
threads.c 9
dict.c 21
error.c 15
xmlmemory.c 1
globals.c 20
encoding.c 15
xpath.c 140
xmlIO.c 17
catalog.c 38
xmlschemastypes.c 1
relaxng.c 1
parser.c 142
parserInternals.c 40
SAX2.c 6
buf.c 19
HTMLparser.c 2
xmlstring.c 16
tree.c 65
./include/private/memory.h 1
chvalid.c 1
./include/private/parser.h 2
uri.c 35
entities.c 10
valid.c 41
list.c 3
xmlregexp.c 4
xpointer.c 8
./timsort.h 12

Fuzzer: valid

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 886 27.5%
gold [1:9] 97 3.01%
yellow [10:29] 76 2.36%
greenyellow [30:49] 32 0.99%
lawngreen 50+ 2126 66.0%
All colors 3217 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
86 2633 xmlFACompareAtoms call site: 02633 xmlFARecurseDeterminism
79 1889 xmlBuildURISafe call site: 01889 xmlCatalogXMLResolve
73 810 xmlRMutexUnlock call site: 00810 xmlCatalogListXMLResolve
57 1977 xmlInitializeCatalog call site: 01977 xmlACatalogResolve
36 2750 xmlRegStateAddTransTo call site: 02750 xmlFAGenerateTransitions
35 1609 xmlCopyNamespaceList call site: 01609 xmlCopyDtd
33 1798 xmlStrncat call site: 01798 xmlParseXMLCatalogOneNode
27 1768 xmlSplitQName4 call site: 01768 xmlParseXMLCatalogNodeList
19 1703 xmlNodeGetContent call site: 01703 xmlBufGetNodeContent
17 2905 xmlRegExecSetErrString call site: 02905 xmlFARegExecSaveInputString
15 1589 xmlNewDtd call site: 01589 xmlCopyEntitiesTable
14 1511 xmlCtxtParseEntity call site: 01511 xmlSetTreeDoc

Runtime coverage analysis

Covered functions
650
Functions that are reachable but not covered
201
Reachable functions
769
Percentage of reachable functions covered
73.86%
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
fuzz/valid.c 1
fuzz/fuzz.c 13
hash.c 29
threads.c 9
dict.c 21
error.c 16
xmlmemory.c 1
globals.c 20
encoding.c 15
xpath.c 2
xmlIO.c 20
catalog.c 38
xmlschemastypes.c 1
relaxng.c 1
xmlstring.c 16
parserInternals.c 43
SAX2.c 6
parser.c 158
buf.c 19
tree.c 70
valid.c 78
list.c 8
xmlregexp.c 58
entities.c 10
HTMLparser.c 3
./include/private/memory.h 1
chvalid.c 1
./include/private/parser.h 2
uri.c 35
./codegen/unicode.inc 35

Fuzzer: xinclude

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 808 21.6%
gold [1:9] 234 6.26%
yellow [10:29] 61 1.63%
greenyellow [30:49] 53 1.41%
lawngreen 50+ 2580 69.0%
All colors 3736 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
74 1892 xmlNodeGetBaseSafe call site: 01892 xmlCatalogXMLResolve
65 808 xmlRMutexUnlock call site: 00808 xmlCatalogListXMLResolve
57 1975 xmlInitializeCatalog call site: 01975 xmlACatalogResolve
18 1270 xmlParseAttValue call site: 01270 xmlSkipBlankChars
17 1770 xmlGetPropNodeValueInternal call site: 01770 xmlParseXMLCatalogNodeList
17 1806 xmlGetNsListSafe call site: 01806 xmlParseXMLCatalogOneNode
14 1255 xmlParseStartTag2 call site: 01255 xmlParseStartTag
14 1371 xmlParseElementEnd call site: 01371 xmlParseEndTag1
14 1751 xmlFinishDocument call site: 01751 xmlFreeDoc
13 626 xmlParsePI call site: 00626 xmlParseCatalogPI
13 1565 xmlSearchNsByHrefSafe call site: 01565 xmlSearchNsSafe
12 3673 xmlXIncludeLoadTxt call site: 03673 xmlAddChild

Runtime coverage analysis

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

Files reached

filename functions hit
fuzz/xinclude.c 1
fuzz/fuzz.c 12
hash.c 30
threads.c 9
dict.c 21
error.c 15
xmlmemory.c 1
globals.c 20
encoding.c 16
xpath.c 139
xmlIO.c 18
catalog.c 38
xmlschemastypes.c 1
relaxng.c 1
xmlstring.c 18
parserInternals.c 42
SAX2.c 6
parser.c 144
buf.c 19
tree.c 83
valid.c 41
list.c 3
xmlregexp.c 4
entities.c 11
HTMLparser.c 2
./include/private/memory.h 1
chvalid.c 1
./include/private/parser.h 2
uri.c 39
xinclude.c 27
xpointer.c 8
./timsort.h 12

Fuzzer: api

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 874 16.8%
gold [1:9] 171 3.29%
yellow [10:29] 48 0.92%
greenyellow [30:49] 13 0.25%
lawngreen 50+ 4090 78.7%
All colors 5196 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
86 3833 xmlFACompareAtoms call site: 03833 xmlFARecurseDeterminism
74 1903 xmlNodeGetBaseSafe call site: 01903 xmlCatalogXMLResolve
58 1986 xmlInitializeCatalog call site: 01986 xmlACatalogResolve
36 3950 xmlRegStateAddTransTo call site: 03950 xmlFAGenerateTransitions
35 805 xmlRMutexUnlock call site: 00805 xmlCatalogListXMLResolve
32 2231 xmlExpandPEsInEntityValue call site: 02231 xmlLoadEntityContent
23 2050 xmlParsePERefInternal call site: 02050 xmlSkipBlankCharsPE
20 1447 xmlCtxtParseContentInternal call site: 01447 xmlParseTextDecl
17 4105 xmlRegExecSetErrString call site: 04105 xmlFARegExecSaveInputString
15 1782 xmlGetPropNodeValueInternal call site: 01782 xmlParseXMLCatalogNodeList
13 630 xmlParsePI call site: 00630 xmlParseCatalogPI
10 783 xmlURIUnescapeString call site: 00783 xmlCatalogLocalResolve

Runtime coverage analysis

Covered functions
927
Functions that are reachable but not covered
154
Reachable functions
1008
Percentage of reachable functions covered
84.72%
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
fuzz/api.c 35
fuzz/fuzz.c 11
hash.c 31
threads.c 9
dict.c 21
error.c 15
xmlmemory.c 1
globals.c 23
encoding.c 19
xpath.c 2
xmlIO.c 29
catalog.c 38
xmlschemastypes.c 1
relaxng.c 1
tree.c 155
valid.c 101
list.c 12
xmlregexp.c 58
entities.c 20
parser.c 147
parserInternals.c 38
SAX2.c 6
buf.c 26
HTMLparser.c 7
xmlstring.c 18
./include/private/memory.h 1
chvalid.c 1
./include/private/parser.h 2
uri.c 36
HTMLtree.c 20
./codegen/unicode.inc 35
xmlsave.c 49

Fuzzer: reader

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 1792 31.5%
gold [1:9] 272 4.78%
yellow [10:29] 101 1.77%
greenyellow [30:49] 43 0.75%
lawngreen 50+ 3480 61.1%
All colors 5688 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
278 4543 xmlNodeListGetStringInternal call site: 04543 xmlTextReaderExpand
153 502 xmlCtxtErrIO call site: 00502 xmlFreeTextReader
86 4236 xmlFACompareAtoms call site: 04236 xmlFARecurseDeterminism
74 2674 xmlNodeGetBaseSafe call site: 02674 xmlCatalogXMLResolve
62 5006 htmlIsBooleanAttr call site: 05006 xmlSaveSwitchEncoding
60 2861 xmlTextReaderValidatePop call site: 02861 xmlRelaxNGValidatePopElement
57 2757 xmlInitializeCatalog call site: 02757 xmlACatalogResolve
36 4353 xmlRegStateAddTransTo call site: 04353 xmlFAGenerateTransitions
34 4949 xmlOutputBufferWriteQuotedString call site: 04949 htmlNodeDumpInternal
33 1525 xmlNewParserCtxt call site: 01525 xmlParserInputBufferCreateFilename
32 1492 xmlRMutexUnlock call site: 01492 xmlCatalogListXMLResolve
26 4501 xmlTextReaderValidatePush call site: 04501 xmlRelaxNGValidatePushElement

Runtime coverage analysis

Covered functions
1035
Functions that are reachable but not covered
324
Reachable functions
1203
Percentage of reachable functions covered
73.07%
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
fuzz/reader.c 2
fuzz/fuzz.c 11
hash.c 30
threads.c 9
dict.c 22
error.c 15
xmlmemory.c 2
globals.c 23
encoding.c 19
xpath.c 139
xmlIO.c 30
catalog.c 38
xmlschemastypes.c 2
relaxng.c 58
xmlstring.c 19
xmlreader.c 85
buf.c 20
SAX2.c 6
parser.c 152
parserInternals.c 43
./include/private/memory.h 1
tree.c 89
valid.c 51
list.c 3
xmlregexp.c 59
entities.c 11
uri.c 39
xinclude.c 29
pattern.c 8
HTMLparser.c 4
xmlschemas.c 43
./include/private/parser.h 2
chvalid.c 1
xpointer.c 8
./timsort.h 12
./codegen/unicode.inc 35
xmlsave.c 31
HTMLtree.c 8

Fuzzer: schema

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 1570 25.4%
gold [1:9] 389 6.29%
yellow [10:29] 174 2.81%
greenyellow [30:49] 62 1.00%
lawngreen 50+ 3983 64.4%
All colors 6178 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
72 2603 xmlBuildURI call site: 02603 xmlCatalogXMLResolve
58 2684 xmlInitializeCatalog call site: 02684 xmlACatalogResolve
51 2383 xmlCopyNamespaceList call site: 02383 xmlCopyDtd
40 5537 xmlSchemaBuildContentModelForElement call site: 05537 xmlSchemaBuildAContentModel
33 687 xmlStrncmp call site: 00687 xmlCatalogListXMLResolve
33 2198 xmlNewDocNode call site: 02198 xmlNodeParseAttValue
32 2055 xmlParseStartTag2 call site: 02055 xmlParseStartTag
27 6055 xmlSchemaValidatorPopElem call site: 06055 xmlAddChild
23 5898 xmlSchemaVAttributesComplex call site: 05898 xmlNewProp
19 2473 xmlNodeGetContent call site: 02473 xmlBufGetNodeContent
18 4785 xmlSchemaGetCanonValue call site: 04785 xmlSchemaDateNormalize
18 5702 xmlSchemaVDocWalk call site: 05702 xmlSchemaAssembleByXSI

Runtime coverage analysis

Covered functions
1072
Functions that are reachable but not covered
194
Reachable functions
1207
Percentage of reachable functions covered
83.93%
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
fuzz/schema.c 1
fuzz/fuzz.c 11
hash.c 30
threads.c 9
dict.c 21
error.c 16
xmlmemory.c 1
globals.c 20
encoding.c 15
xpath.c 2
xmlIO.c 19
catalog.c 38
xmlschemastypes.c 71
relaxng.c 1
xmlstring.c 20
xmlschemas.c 335
parserInternals.c 43
buf.c 19
xmlregexp.c 89
tree.c 85
SAX2.c 6
parser.c 145
valid.c 45
list.c 7
entities.c 10
HTMLparser.c 2
uri.c 36
./include/private/memory.h 1
chvalid.c 1
./include/private/parser.h 2
pattern.c 29
xmlreader.c 3
./codegen/unicode.inc 35

Fuzzer: lint

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 9278 79.3%
gold [1:9] 138 1.18%
yellow [10:29] 113 0.96%
greenyellow [30:49] 36 0.30%
lawngreen 50+ 2129 18.2%
All colors 11694 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
1137 5895 xmlPatternCompileSafe call site: 05895 xmlSchemaParseRedefine
799 3333 xmlTextReaderErrMemory call site: 03333 xmlRelaxReadFile
662 5147 xmlFreePatternInternal call site: 05147 xmlSchemaParseNewDocWithContext
426 4415 xmlNodeSetContentInternal call site: 04415 xmlRelaxNGCleanupTree
392 8674 xmlValidGetElemDecl call site: 08674 xmlTextReaderValidatePush
242 2114 xmlDictLookupHashed call site: 02114 xmlParseNotationDecl
237 1876 xmlSAX2ErrMemory call site: 01876 xmlSkipBlankCharsPE
229 10962 xmlNodeDumpOutput call site: 10962 xmllintShellSetContent
225 9215 xmllintMain call site: 09215 xmlSchemaValidateStream
212 9441 xmlNewNsProp call site: 09441 parseHtml
208 1463 xmlLoadResource call site: 01463 xmlSkipBlankCharsPE
197 4843 xmlHashScan call site: 04843 xmlRelaxNGParseGrammar

Runtime coverage analysis

Covered functions
797
Functions that are reachable but not covered
1305
Reachable functions
2012
Percentage of reachable functions covered
35.14%
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
fuzz/lint.c 2
xmlmemory.c 9
fuzz/fuzz.c 10
hash.c 31
threads.c 13
dict.c 24
error.c 18
globals.c 25
encoding.c 22
xpath.c 147
xmlIO.c 38
catalog.c 52
xmlschemastypes.c 72
relaxng.c 140
xmlstring.c 20
fuzz/../xmllint.c 30
parser.c 167
parserInternals.c 53
chvalid.c 1
./include/private/memory.h 1
uri.c 40
SAX2.c 7
buf.c 20
tree.c 109
./include/private/parser.h 2
valid.c 90
xmlregexp.c 92
entities.c 11
list.c 12
xmlschemas.c 343
xmlreader.c 48
./codegen/unicode.inc 35
pattern.c 32
HTMLparser.c 62
xinclude.c 29
xpointer.c 8
./timsort.h 12
HTMLtree.c 17
fuzz/../shell.c 21
xmlsave.c 45
c14n.c 39

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
xmlSAX2StartElement /src/libxml2/SAX2.c 3 ['N/A', 'N/A', 'N/A'] 22 0 77 15 7 284 0 2947 244
xmlSAX2StartElementNs /src/libxml2/SAX2.c 9 ['N/A', 'N/A', 'N/A', 'N/A', 'int', 'N/A', 'int', 'int', 'N/A'] 18 0 982 148 59 254 0 2320 157
xmlXPathSubstringFunction /src/libxml2/xpath.c 2 ['N/A', 'int'] 14 0 485 88 34 146 0 931 80
xmlCatalogDump /src/libxml2/catalog.c 1 ['N/A'] 26 0 37 9 4 306 0 2852 74
xmlCatalogAdd /src/libxml2/catalog.c 3 ['N/A', 'N/A', 'N/A'] 41 0 73 12 5 583 0 7158 59
xmlXPathTranslateFunction /src/libxml2/xpath.c 2 ['N/A', 'int'] 14 0 435 72 28 138 0 862 48
xmlParseEntity /src/libxml2/parser.c 1 ['N/A'] 38 0 15 3 2 587 0 7153 40

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

Functions statically reachable by fuzzers
79.0%
2213 / 2802
Cyclomatic complexity statically reachable by fuzzers
90.0%
29315 / 32464

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

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

fuzz/regexp.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlVRaiseError', 'xmlRegEpxFromParse', 'xmlInitRandom', 'xmlFAGenerateTransitions', 'xmlFuzzDataCleanup', 'xmlRegNewRange', '__xmlStructuredError', 'xmlVSetError', 'xmlRegFreeAtom']

fuzz/uri.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlInitRandom', 'xmlURIEscape', 'xmlFuzzDataCleanup', 'LLVMFuzzerTestOneInput', 'xmlSaveUri', 'xmlInitGlobalsInternal', 'xmlGetThreadLocalStorage']

fuzz/html.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlHashUpdateInternal', 'xmlNewDocProp', 'xmlAllocOutputBuffer', 'xmlUnlinkNode', 'xmlNodeGetContent', 'xmlNewText', 'xmlVRaiseError', 'htmlNodeDumpInternal', 'xmlCopyPropInternal']

fuzz/xml.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlBuildURISafe', 'xmlRMutexUnlock', 'htmlIsBooleanAttr', 'xmlInitializeCatalog', 'xmlCopyNamespaceList', 'xmlOutputBufferWriteQuotedString', 'xmlStrncat', 'xmlNodeGetContent', 'xmlParseAttValue', 'xmlCopyPropInternal']

fuzz/xpath.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlBuildURISafe', 'xmlInitializeCatalog', 'xmlHashUpdateInternal', 'xmlHashLookup', 'xmlNewNs', 'xmlExpandPEsInEntityValue', 'xmlNewDoc', 'nodePush', 'xmlSkipBlankCharsPE', 'xmlRMutexUnlock']

fuzz/valid.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlFACompareAtoms', 'xmlBuildURISafe', 'xmlRMutexUnlock', 'xmlInitializeCatalog', 'xmlRegStateAddTransTo', 'xmlCopyNamespaceList', 'xmlStrncat', 'xmlSplitQName4', 'xmlNodeGetContent', 'xmlRegExecSetErrString']

fuzz/xinclude.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlNodeGetBaseSafe', 'xmlRMutexUnlock', 'xmlInitializeCatalog', 'xmlParseAttValue', 'xmlGetPropNodeValueInternal', 'xmlGetNsListSafe', 'xmlParseStartTag2', 'xmlParseElementEnd', 'xmlFinishDocument', 'xmlParsePI']

fuzz/api.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlFACompareAtoms', 'xmlNodeGetBaseSafe', 'xmlInitializeCatalog', 'xmlRegStateAddTransTo', 'xmlRMutexUnlock', 'xmlExpandPEsInEntityValue', 'xmlParsePERefInternal', 'xmlCtxtParseContentInternal', 'xmlRegExecSetErrString', 'xmlGetPropNodeValueInternal']

fuzz/reader.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlNodeListGetStringInternal', 'xmlCtxtErrIO', 'xmlFACompareAtoms', 'xmlNodeGetBaseSafe', 'htmlIsBooleanAttr', 'xmlTextReaderValidatePop', 'xmlInitializeCatalog', 'xmlRegStateAddTransTo', 'xmlOutputBufferWriteQuotedString', 'xmlNewParserCtxt']

fuzz/schema.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlBuildURI', 'xmlInitializeCatalog', 'xmlCopyNamespaceList', 'xmlSchemaBuildContentModelForElement', 'xmlStrncmp', 'xmlNewDocNode', 'xmlParseStartTag2', 'xmlSchemaValidatorPopElem', 'xmlSchemaVAttributesComplex', 'xmlNodeGetContent']

fuzz/lint.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['xmlPatternCompileSafe', 'xmlTextReaderErrMemory', 'xmlFreePatternInternal', 'xmlNodeSetContentInternal', 'xmlValidGetElemDecl', 'xmlDictLookupHashed', 'xmlSAX2ErrMemory', 'xmlNodeDumpOutput', 'xmllintMain', 'xmlNewNsProp']

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
xmlErrString 321 173 53.89% ['api', 'html', 'xinclude', 'schema', 'lint', 'valid', 'xml', 'xpath', 'reader']
xmlCtxtResolveFromCatalog 32 17 53.12% ['api', 'xinclude', 'schema', 'lint', 'valid', 'xml', 'xpath', 'reader']
xmlXPathCacheObjectCopy 31 17 54.83% ['lint', 'xpath', 'reader', 'xinclude']
xmlXPathRunEval 31 14 45.16% ['lint', 'xpath', 'reader', 'xinclude']
xmlIOErr 154 10 6.493% ['api', 'xinclude', 'schema', 'lint', 'valid', 'xml', 'xpath', 'reader']
xmlTextReaderSetStructuredErrorHandler 39 16 41.02% ['reader']
xmlTextReaderSetup 159 70 44.02% ['lint', 'reader']
xmlSchemaItemTypeToStr 44 24 54.54% ['lint', 'schema']
xmlSchemaAddAnnotation 83 12 14.45% ['lint', 'schema']
xmlSchemaCheckSRCRedefineFirst 104 7 6.730% ['lint', 'schema']
xmlSchemaCheckSTPropsCorrect 53 28 52.83% ['lint', 'schema']
xmlSchemaCheckCOSSTRestricts 300 145 48.33% ['lint', 'schema']
xmlSchemaCheckCOSSTDerivedOK 43 20 46.51% ['lint', 'schema']
xmlSchemaCheckAttrUsePropsCorrect 68 12 17.64% ['lint', 'schema']
xmlSchemaCheckCOSCTExtends 56 30 53.57% ['lint', 'schema']
xmlSchemaCheckDerivationOKRestriction 98 41 41.83% ['lint', 'schema']
xmlSchemaLookupNamespace 45 14 31.11% ['lint', 'schema']
xmlSchemaValidateElemDecl 87 40 45.97% ['lint', 'schema']
xmlSchemaGetBuiltInType 99 48 48.48% ['lint', 'schema']
xmlSchemaCopyValue 91 32 35.16% ['lint', 'schema']
xmlSchemaGetCanonValue 260 89 34.23% ['lint', 'schema']
xmlSchemaValidateFacetInternal 168 65 38.69% ['lint', 'schema']
xmlC14NProcessNode 122 56 45.90% ['lint']
xmlC14NCheckForRelativeNamespaces 31 7 22.58% ['lint']
xmlC14NProcessNamespacesAxis 47 22 46.80% ['lint']
xmlExcC14NProcessNamespacesAxis 108 35 32.40% ['lint']
xmlPatMatch 176 86 48.86% ['lint', 'reader']
xmlValidGetValidElements 64 26 40.62% ['lint']
xmllintResourceLoader 52 16 30.76% ['lint']
streamFile 163 87 53.37% ['lint']
testSAX 49 12 24.48% ['lint']

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/libxml2/catalog.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/valid.c ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/xmlsave.c ['html', 'xml', 'api', 'reader', 'lint'] ['xml', 'api', 'reader', 'lint']
/src/libxml2/./timsort.h ['xpath', 'xinclude', 'reader', 'lint'] []
/src/libxml2/fuzz/xpath.c ['xpath'] ['xpath']
/src/libxml2/parserInternals.c ['regexp', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/fuzz/lint.c ['lint'] ['lint']
/src/libxml2/xmlIO.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/./codegen/unicode.inc ['regexp', 'valid', 'api', 'reader', 'schema', 'lint'] []
/src/libxml2/pattern.c ['reader', 'schema', 'lint'] ['schema', 'lint']
/src/libxml2/xpointer.c ['xpath', 'xinclude', 'reader', 'lint'] ['xpath', 'xinclude', 'reader']
/src/libxml2/chvalid.c ['regexp', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'xml', 'valid', 'xinclude', 'api', 'reader', 'schema']
/src/libxml2/entities.c ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema']
/src/libxml2/SAX2.c ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/threads.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/parser.c ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/uri.c ['uri', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['uri', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/HTMLparser.c ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['html', 'xml', 'valid', 'xinclude', 'api', 'lint']
/src/libxml2/fuzz/../xmllint.c ['lint'] []
/src/libxml2/xmlmemory.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/fuzz/fuzz.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/xmlschemastypes.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/fuzz/html.c ['html'] ['html']
/src/libxml2/list.c ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/fuzz/regexp.c ['regexp'] ['regexp']
/src/libxml2/fuzz/reader.c ['reader'] ['reader']
/src/libxml2/fuzz/xml.c ['xml'] ['xml']
/src/libxml2/fuzz/api.c ['api'] ['api']
/src/libxml2/c14n.c ['lint'] ['lint']
/src/libxml2/fuzz/valid.c ['valid'] ['valid']
/src/libxml2/error.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/xpath.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/./include/private/memory.h ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] []
/src/libxml2/./include/private/parser.h ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] []
/src/libxml2/xmlregexp.c ['regexp', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'valid', 'api', 'reader', 'schema']
/src/libxml2/relaxng.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/fuzz/schema.c ['schema'] ['schema']
/src/libxml2/xinclude.c ['xinclude', 'reader', 'lint'] ['xinclude', 'reader', 'lint']
/src/libxml2/HTMLtree.c ['html', 'xml', 'api', 'reader', 'lint'] ['html', 'xml', 'api', 'reader', 'lint']
/src/libxml2/fuzz/../shell.c ['lint'] []
/src/libxml2/xmlstring.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/buf.c ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/encoding.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/fuzz/xinclude.c ['xinclude'] ['xinclude']
/src/libxml2/hash.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/dict.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/xmlschemas.c ['reader', 'schema', 'lint'] ['schema']
/src/libxml2/fuzz/uri.c ['uri'] ['uri']
/src/libxml2/xmlreader.c ['reader', 'schema', 'lint'] ['reader', 'lint']
/src/libxml2/globals.c ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['regexp', 'uri', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']
/src/libxml2/tree.c ['regexp', 'html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint'] ['html', 'xml', 'xpath', 'valid', 'xinclude', 'api', 'reader', 'schema', 'lint']

Directories in report

Directory
/src/libxml2/fuzz/
/src/libxml2/./include/private/
/src/libxml2/
/src/libxml2/fuzz/../
/src/libxml2/./
/src/libxml2/./codegen/