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

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
locale_fuzzer /src/icu/icu4c/source/test/fuzzer/locale_fuzzer.cpp 1172 839 31 55 9942 4943 locale_fuzzer.cpp
uloc_get_name_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_get_name_fuzzer.cpp 1168 838 36 56 9929 4933 uloc_get_name_fuzzer.cpp
uloc_canonicalize_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_canonicalize_fuzzer.cpp 1168 838 36 56 9929 4933 uloc_canonicalize_fuzzer.cpp
uloc_for_language_tag_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_for_language_tag_fuzzer.cpp 1168 838 32 56 9927 4935 uloc_for_language_tag_fuzzer.cpp
uloc_open_keywords_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_open_keywords_fuzzer.cpp 1168 838 34 56 9930 4933 uloc_open_keywords_fuzzer.cpp
uloc_is_right_to_left_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_is_right_to_left_fuzzer.cpp 1207 817 33 60 10191 5036 uloc_is_right_to_left_fuzzer.cpp
unicode_string_codepage_create_fuzzer /src/icu/icu4c/source/test/fuzzer/unicode_string_codepage_create_fuzzer.cpp 361 1678 21 36 3143 1500 unicode_string_codepage_create_fuzzer.cpp
converter_fuzzer /src/icu/icu4c/source/test/fuzzer/converter_fuzzer.cpp 358 1685 19 35 2657 1325 converter_fuzzer.cpp
collator_compare_fuzzer /src/icu/icu4c/source/test/fuzzer/collator_compare_fuzzer.cpp 1795 2291 35 104 15428 7190 collator_compare_fuzzer.cpp
break_iterator_fuzzer /src/icu/icu4c/source/test/fuzzer/break_iterator_fuzzer.cpp 1496 2612 41 82 12307 6196 break_iterator_fuzzer.cpp
ucasemap_fuzzer /src/icu/icu4c/source/test/fuzzer/ucasemap_fuzzer.cpp 1590 2636 41 87 13976 6840 ucasemap_fuzzer.cpp
collator_rulebased_fuzzer /src/icu/icu4c/source/test/fuzzer/collator_rulebased_fuzzer.cpp 2830 3225 32 136 23528 11221 collator_rulebased_fuzzer.cpp
uregex_open_fuzzer /src/icu/icu4c/source/test/fuzzer/uregex_open_fuzzer.cpp 2623 2361 45 136 25229 11911 uregex_open_fuzzer.cpp
number_format_fuzzer /src/icu/icu4c/source/test/fuzzer/number_format_fuzzer.cpp 3170 6934 41 159 23245 11491 number_format_fuzzer.cpp

Fuzzer details

Fuzzer: locale_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 1626 63.2%
gold [1:9] 286 11.1%
yellow [10:29] 22 0.85%
greenyellow [30:49] 63 2.45%
lawngreen 50+ 574 22.3%
All colors 2571 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
9895 9895 2 :

['entryOpen(char const*, char const*, UResOpenType, UErrorCode*)', 'uloc_getBaseName_73']

9895 10032 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:2658
5169 10179 8 :

['icu_73::(anonymous namespace)::isKnownCanonicalizedLocale(char const*, UErrorCode&)', 'icu_73::Locale::setToBogus()', 'icu_73::Locale::init(char const*, signed char)', 'icu_73::CharString::CharString()', 'icu_73::CharString::~CharString()', 'icu_73::(anonymous namespace)::canonicalizeLocale(icu_73::Locale const&, icu_73::CharString&, UErrorCode&)', 'icu_73::CharString::data()', 'U_FAILURE(UErrorCode)']

5169 10179 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1941
4942 4942 1 :

['uloc_canonicalize_73']

10119 15167 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1866
4936 9862 3 :

['(anonymous namespace)::init_resb_result(UResourceDataEntry*, unsigned int, char const*, int, UResourceBundle const*, UResourceBundle*, UErrorCode*)', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'U_SUCCESS(UErrorCode) [clone .2926]']

4936 9862 ures_getByKey_73 call site: 01034 /src/icu/icu4c/source/common/uresbund.cpp:2452
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
836 1004 12 :

['UDataMemory_isLoaded_73', 'icu_73::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_73', 'U_FAILURE(UErrorCode) [clone .5115]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'udata_checkCommonData_73', 'icu_73::UDataPathIterator::next(UErrorCode*)', 'icu_73::UDataPathIterator::~UDataPathIterator()', 'udata_findCachedData(char const*, UErrorCode&)', 'findBasename(char const*)', 'uprv_mapFile_73', 'U_SUCCESS(UErrorCode) [clone .5117]']

836 1004 openCommonData(charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:685
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484
29 4964 2 :

['icu_73::Locale::operator=(icu_73::Locale const&)', 'icu_73::Locale::getDefault()']

29 4964 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1843
28 28 1 :

['free_entry(UResourceDataEntry*)']

28 28 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:620
16 16 5 :

['strcat', 'strncat', 'strlen', 'strchr', 'strcmp']

16 67 uprv_getDefaultLocaleID_73 call site: 00052 /src/icu/icu4c/source/common/putil.cpp:1738
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 56 icu_73::ures_getUnicodeString(UResourceBundleconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/unicode/ures.h:816
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 14 icu_73::UnicodeString::setTo(signedchar,icu_73::ConstChar16Ptr,int) call site: 00000 /src/icu/icu4c/source/common/unistr.cpp:1275

Runtime coverage analysis

Covered functions
348
Functions that are reachable but not covered
578
Reachable functions
1172
Percentage of reachable functions covered
50.68%
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/icu/icu4c/source/test/fuzzer/locale_fuzzer.cpp 4
/src/icu/icu4c/source/common/locid.cpp 73
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/umutex.h 8
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/putil.cpp 11
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 55
/src/icu/icu4c/source/common/uobject.cpp 3
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/uloc.cpp 33
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/localpointer.h 36
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 44
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/ustring.cpp 3
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/uinvchar.cpp 3
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/unicode/unistr.h 7
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 6
/src/icu/icu4c/source/common/uvector.cpp 14
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3

Fuzzer: uloc_get_name_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 1669 65.0%
gold [1:9] 298 11.6%
yellow [10:29] 20 0.78%
greenyellow [30:49] 58 2.26%
lawngreen 50+ 519 20.2%
All colors 2564 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
9895 9895 2 :

['entryOpen(char const*, char const*, UResOpenType, UErrorCode*)', 'uloc_getBaseName_73']

9895 10032 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:2658
5169 10179 8 :

['icu_73::(anonymous namespace)::isKnownCanonicalizedLocale(char const*, UErrorCode&)', 'icu_73::Locale::setToBogus()', 'icu_73::Locale::init(char const*, signed char)', 'icu_73::CharString::CharString()', 'icu_73::CharString::~CharString()', 'icu_73::(anonymous namespace)::canonicalizeLocale(icu_73::Locale const&, icu_73::CharString&, UErrorCode&)', 'icu_73::CharString::data()', 'U_FAILURE(UErrorCode)']

5169 10179 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1941
4942 9888 3 :

['uprv_malloc_73', 'uloc_getName_73', 'uloc_canonicalize_73']

10119 20113 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1857
4936 9862 3 :

['(anonymous namespace)::init_resb_result(UResourceDataEntry*, unsigned int, char const*, int, UResourceBundle const*, UResourceBundle*, UErrorCode*)', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'U_SUCCESS(UErrorCode) [clone .2926]']

4936 9862 ures_getByKey_73 call site: 00614 /src/icu/icu4c/source/common/uresbund.cpp:2452
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
836 1004 12 :

['UDataMemory_isLoaded_73', 'icu_73::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_73', 'U_FAILURE(UErrorCode) [clone .5115]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'udata_checkCommonData_73', 'icu_73::UDataPathIterator::next(UErrorCode*)', 'icu_73::UDataPathIterator::~UDataPathIterator()', 'udata_findCachedData(char const*, UErrorCode&)', 'findBasename(char const*)', 'uprv_mapFile_73', 'U_SUCCESS(UErrorCode) [clone .5117]']

836 1004 openCommonData(charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:685
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484
29 4964 2 :

['icu_73::Locale::operator=(icu_73::Locale const&)', 'icu_73::Locale::getDefault()']

29 4964 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1843
28 28 1 :

['free_entry(UResourceDataEntry*)']

28 28 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:620
16 16 5 :

['strcat', 'strncat', 'strlen', 'strchr', 'strcmp']

16 67 uprv_getDefaultLocaleID_73 call site: 00339 /src/icu/icu4c/source/common/putil.cpp:1738
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 56 icu_73::ures_getUnicodeString(UResourceBundleconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/unicode/ures.h:816
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 14 icu_73::UnicodeString::setTo(signedchar,icu_73::ConstChar16Ptr,int) call site: 00000 /src/icu/icu4c/source/common/unistr.cpp:1275

Runtime coverage analysis

Covered functions
344
Functions that are reachable but not covered
582
Reachable functions
1168
Percentage of reachable functions covered
50.17%
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/icu/icu4c/source/test/fuzzer/uloc_get_name_fuzzer.cpp 1
/src/icu/icu4c/source/test/fuzzer/locale_util.cpp 1
/src/icu/icu4c/source/common/uloc.cpp 33
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 55
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/unicode/localpointer.h 38
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/uobject.cpp 3
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/umutex.h 8
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 44
/src/icu/icu4c/source/common/locid.cpp 73
/src/icu/icu4c/source/common/putil.cpp 11
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/ustring.cpp 3
/src/icu/icu4c/source/common/uvector.cpp 14
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/uinvchar.cpp 3
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/unicode/unistr.h 7
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 6
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/ucmndata.cpp 2

Fuzzer: uloc_canonicalize_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 1653 64.4%
gold [1:9] 311 12.1%
yellow [10:29] 8 0.31%
greenyellow [30:49] 60 2.34%
lawngreen 50+ 532 20.7%
All colors 2564 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
9895 9895 2 :

['entryOpen(char const*, char const*, UResOpenType, UErrorCode*)', 'uloc_getBaseName_73']

9895 10032 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:2658
5169 10179 8 :

['icu_73::(anonymous namespace)::isKnownCanonicalizedLocale(char const*, UErrorCode&)', 'icu_73::Locale::setToBogus()', 'icu_73::Locale::init(char const*, signed char)', 'icu_73::CharString::CharString()', 'icu_73::CharString::~CharString()', 'icu_73::(anonymous namespace)::canonicalizeLocale(icu_73::Locale const&, icu_73::CharString&, UErrorCode&)', 'icu_73::CharString::data()', 'U_FAILURE(UErrorCode)']

5169 10179 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1941
4936 9862 3 :

['(anonymous namespace)::init_resb_result(UResourceDataEntry*, unsigned int, char const*, int, UResourceBundle const*, UResourceBundle*, UErrorCode*)', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'U_SUCCESS(UErrorCode) [clone .2926]']

4936 9862 ures_getByKey_73 call site: 00614 /src/icu/icu4c/source/common/uresbund.cpp:2452
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
836 1004 12 :

['UDataMemory_isLoaded_73', 'icu_73::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_73', 'U_FAILURE(UErrorCode) [clone .5115]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'udata_checkCommonData_73', 'icu_73::UDataPathIterator::next(UErrorCode*)', 'icu_73::UDataPathIterator::~UDataPathIterator()', 'udata_findCachedData(char const*, UErrorCode&)', 'findBasename(char const*)', 'uprv_mapFile_73', 'U_SUCCESS(UErrorCode) [clone .5117]']

836 1004 openCommonData(charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:685
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484
29 4964 2 :

['icu_73::Locale::operator=(icu_73::Locale const&)', 'icu_73::Locale::getDefault()']

29 4964 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1843
28 28 1 :

['free_entry(UResourceDataEntry*)']

28 28 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:620
16 16 5 :

['strcat', 'strncat', 'strlen', 'strchr', 'strcmp']

16 67 uprv_getDefaultLocaleID_73 call site: 00339 /src/icu/icu4c/source/common/putil.cpp:1738
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 56 icu_73::ures_getUnicodeString(UResourceBundleconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/unicode/ures.h:816
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 14 icu_73::UnicodeString::setTo(signedchar,icu_73::ConstChar16Ptr,int) call site: 00000 /src/icu/icu4c/source/common/unistr.cpp:1275
12 16 2 :

['uprv_realloc_73', 'uprv_malloc_73']

16 20 ures_appendResPath(UResourceBundle*,charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:1090

Runtime coverage analysis

Covered functions
346
Functions that are reachable but not covered
579
Reachable functions
1168
Percentage of reachable functions covered
50.43%
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/icu/icu4c/source/test/fuzzer/uloc_canonicalize_fuzzer.cpp 1
/src/icu/icu4c/source/test/fuzzer/locale_util.cpp 1
/src/icu/icu4c/source/common/uloc.cpp 33
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 55
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/unicode/localpointer.h 38
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/uobject.cpp 3
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/umutex.h 8
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 44
/src/icu/icu4c/source/common/locid.cpp 73
/src/icu/icu4c/source/common/putil.cpp 11
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/ustring.cpp 3
/src/icu/icu4c/source/common/uvector.cpp 14
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/uinvchar.cpp 3
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/unicode/unistr.h 7
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 6
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/ucmndata.cpp 2

Fuzzer: uloc_for_language_tag_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 1876 73.1%
gold [1:9] 233 9.08%
yellow [10:29] 12 0.46%
greenyellow [30:49] 58 2.26%
lawngreen 50+ 385 15.0%
All colors 2564 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
9895 9895 2 :

['entryOpen(char const*, char const*, UResOpenType, UErrorCode*)', 'uloc_getBaseName_73']

9895 10032 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:2658
4936 9862 3 :

['(anonymous namespace)::init_resb_result(UResourceDataEntry*, unsigned int, char const*, int, UResourceBundle const*, UResourceBundle*, UErrorCode*)', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'U_SUCCESS(UErrorCode) [clone .2926]']

4936 9862 ures_getByKey_73 call site: 00620 /src/icu/icu4c/source/common/uresbund.cpp:2452
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
4926 4926 1 :

['uloc_getDefault_73']

14813 19834 entryOpenDirect(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:973
4926 4926 1 :

['uloc_getDefault_73']

9921 15836 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:528
836 1004 12 :

['UDataMemory_isLoaded_73', 'icu_73::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_73', 'U_FAILURE(UErrorCode) [clone .5115]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'udata_checkCommonData_73', 'icu_73::UDataPathIterator::next(UErrorCode*)', 'icu_73::UDataPathIterator::~UDataPathIterator()', 'udata_findCachedData(char const*, UErrorCode&)', 'findBasename(char const*)', 'uprv_mapFile_73', 'U_SUCCESS(UErrorCode) [clone .5117]']

836 1004 openCommonData(charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:685
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484
28 28 1 :

['free_entry(UResourceDataEntry*)']

28 28 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:620
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 56 icu_73::ures_getUnicodeString(UResourceBundleconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/unicode/ures.h:816
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 14 icu_73::UnicodeString::setTo(signedchar,icu_73::ConstChar16Ptr,int) call site: 00000 /src/icu/icu4c/source/common/unistr.cpp:1275
12 16 2 :

['uprv_realloc_73', 'uprv_malloc_73']

16 20 ures_appendResPath(UResourceBundle*,charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:1090
10 87 4 :

['uprv_pathIsAbsolute_73', 'icu_73::CharString::append(char const*, int, UErrorCode&)', 'strrchr', 'strchr']

678 4135 doOpenChoice(charconst*,charconst*,charconst*,signedchar(*)(void*,charconst*,charconst*,UDataInfoconst*),void*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:1213

Runtime coverage analysis

Covered functions
290
Functions that are reachable but not covered
676
Reachable functions
1168
Percentage of reachable functions covered
42.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/icu/icu4c/source/test/fuzzer/uloc_for_language_tag_fuzzer.cpp 1
/src/icu/icu4c/source/test/fuzzer/locale_util.cpp 1
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/unicode/localpointer.h 38
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/cmemory.h 56
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/uobject.cpp 3
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc.cpp 33
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/umutex.h 8
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 44
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/ustring.cpp 3
/src/icu/icu4c/source/common/locid.cpp 73
/src/icu/icu4c/source/common/putil.cpp 11
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/uvector.cpp 14
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/uinvchar.cpp 3
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/unicode/unistr.h 7
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 6
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/ucmndata.cpp 2

Fuzzer: uloc_open_keywords_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 1763 68.7%
gold [1:9] 234 9.12%
yellow [10:29] 18 0.70%
greenyellow [30:49] 60 2.33%
lawngreen 50+ 490 19.1%
All colors 2565 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
9895 9895 2 :

['entryOpen(char const*, char const*, UResOpenType, UErrorCode*)', 'uloc_getBaseName_73']

9895 10032 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:2658
4936 9862 3 :

['(anonymous namespace)::init_resb_result(UResourceDataEntry*, unsigned int, char const*, int, UResourceBundle const*, UResourceBundle*, UErrorCode*)', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'U_SUCCESS(UErrorCode) [clone .2926]']

4936 9862 ures_getByKey_73 call site: 00619 /src/icu/icu4c/source/common/uresbund.cpp:2452
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
4926 4926 1 :

['uloc_getDefault_73']

14813 19834 entryOpenDirect(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:973
4926 4926 1 :

['uloc_getDefault_73']

9921 15836 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:528
4926 4926 1 :

['uloc_getDefault_73']

4926 5568 uloc_openKeywords_73 call site: 00007 /src/icu/icu4c/source/common/uloc.cpp:1420
836 1004 12 :

['UDataMemory_isLoaded_73', 'icu_73::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_73', 'U_FAILURE(UErrorCode) [clone .5115]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'udata_checkCommonData_73', 'icu_73::UDataPathIterator::next(UErrorCode*)', 'icu_73::UDataPathIterator::~UDataPathIterator()', 'udata_findCachedData(char const*, UErrorCode&)', 'findBasename(char const*)', 'uprv_mapFile_73', 'U_SUCCESS(UErrorCode) [clone .5117]']

836 1004 openCommonData(charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:685
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484
28 28 1 :

['free_entry(UResourceDataEntry*)']

28 28 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:620
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 56 icu_73::ures_getUnicodeString(UResourceBundleconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/unicode/ures.h:816
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 14 icu_73::UnicodeString::setTo(signedchar,icu_73::ConstChar16Ptr,int) call site: 00000 /src/icu/icu4c/source/common/unistr.cpp:1275
12 16 2 :

['uprv_realloc_73', 'uprv_malloc_73']

16 20 ures_appendResPath(UResourceBundle*,charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:1090

Runtime coverage analysis

Covered functions
341
Functions that are reachable but not covered
591
Reachable functions
1168
Percentage of reachable functions covered
49.4%
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/icu/icu4c/source/test/fuzzer/uloc_open_keywords_fuzzer.cpp 1
/src/icu/icu4c/source/test/fuzzer/locale_util.cpp 1
/src/icu/icu4c/source/common/uloc.cpp 33
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/unicode/localpointer.h 38
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/cmemory.h 56
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/uobject.cpp 3
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/umutex.h 8
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 44
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/locid.cpp 73
/src/icu/icu4c/source/common/putil.cpp 11
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/ustring.cpp 3
/src/icu/icu4c/source/common/uvector.cpp 14
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/uinvchar.cpp 3
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/unicode/unistr.h 7
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 6
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/ucmndata.cpp 2

Fuzzer: uloc_is_right_to_left_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 1586 60.8%
gold [1:9] 212 8.13%
yellow [10:29] 22 0.84%
greenyellow [30:49] 65 2.49%
lawngreen 50+ 721 27.6%
All colors 2606 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
9895 9895 2 :

['entryOpen(char const*, char const*, UResOpenType, UErrorCode*)', 'uloc_getBaseName_73']

9895 10032 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:2658
4936 9986 7 :

['ures_close_73', 'ures_getByKey_73', 'icu_73::ResourceTracer::ResourceTracer(void const*, char const*)', 'U_SUCCESS(UErrorCode) [clone .2926]', 'ures_getString_73', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'icu_73::res_getString(icu_73::ResourceTracer const&, ResourceData const*, unsigned int, int*)']

4936 9986 ures_getStringByKey_73 call site: 01520 /src/icu/icu4c/source/common/uresbund.cpp:2507
4936 9862 3 :

['(anonymous namespace)::init_resb_result(UResourceDataEntry*, unsigned int, char const*, int, UResourceBundle const*, UResourceBundle*, UErrorCode*)', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'U_SUCCESS(UErrorCode) [clone .2926]']

4936 9862 ures_getByKey_73 call site: 01025 /src/icu/icu4c/source/common/uresbund.cpp:2452
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
4926 4926 1 :

['uloc_getDefault_73']

14813 19834 entryOpenDirect(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:973
4926 4926 1 :

['uloc_getDefault_73']

9921 15836 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:528
4926 4926 1 :

['uloc_getDefault_73']

4930 5527 _canonicalize(charconst*,icu_73::ByteSink&,unsignedint,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uloc.cpp:1534
4926 4926 1 :

['uloc_getDefault_73']

4926 5319 uloc_getCountry_73 call site: 02046 /src/icu/icu4c/source/common/uloc.cpp:1764
4926 4926 1 :

['uloc_getDefault_73']

4926 5204 uloc_getScript_73 call site: 00004 /src/icu/icu4c/source/common/uloc.cpp:1738
4926 4926 1 :

['uloc_getDefault_73']

4926 5108 uloc_getLanguage_73 call site: 02026 /src/icu/icu4c/source/common/uloc.cpp:1721
836 1004 12 :

['UDataMemory_isLoaded_73', 'icu_73::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_73', 'U_FAILURE(UErrorCode) [clone .5115]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'udata_checkCommonData_73', 'icu_73::UDataPathIterator::next(UErrorCode*)', 'icu_73::UDataPathIterator::~UDataPathIterator()', 'udata_findCachedData(char const*, UErrorCode&)', 'findBasename(char const*)', 'uprv_mapFile_73', 'U_SUCCESS(UErrorCode) [clone .5117]']

836 1004 openCommonData(charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:685
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484

Runtime coverage analysis

Covered functions
368
Functions that are reachable but not covered
576
Reachable functions
1207
Percentage of reachable functions covered
52.28%
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/icu/icu4c/source/test/fuzzer/uloc_is_right_to_left_fuzzer.cpp 1
/src/icu/icu4c/source/test/fuzzer/locale_util.cpp 1
/src/icu/icu4c/source/common/loclikely.cpp 11
/src/icu/icu4c/source/common/uloc.cpp 33
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/locid.cpp 73
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/umutex.h 8
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/putil.cpp 11
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 55
/src/icu/icu4c/source/common/uobject.cpp 3
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/localpointer.h 36
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 44
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/ustring.cpp 3
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/uinvchar.cpp 3
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/unicode/unistr.h 7
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 6
/src/icu/icu4c/source/common/uvector.cpp 14
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/propname.cpp 5
/src/icu/icu4c/source/common/unicode/bytestrie.h 7
/src/icu/icu4c/source/common/bytestrie.cpp 6
/src/icu/icu4c/source/common/uscript_props.cpp 2

Fuzzer: unicode_string_codepage_create_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 305 50.1%
gold [1:9] 91 14.9%
yellow [10:29] 86 14.1%
greenyellow [30:49] 8 1.31%
lawngreen 50+ 118 19.4%
All colors 608 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1390 1390 4 :

['icu_73::UnicodeString::setToUTF8(icu_73::StringPiece)', 'u_getDefaultConverter_73', 'ucnv_getDefaultName_73', 'icu_73::StringPiece::StringPiece(char const*, int)']

1547 1821 icu_73::UnicodeString::doCodepageCreate(charconst*,int,charconst*) call site: 00000 /src/icu/icu4c/source/common/unistr_cnv.cpp:316
1143 1147 2 :

['ucnv_canCreateConverter_73', 'uprv_free_73']

1143 1147 _ISO2022Open(UConverter*,UConverterLoadArgs*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/ucnv2022.cpp:557
1143 1143 1 :

['ucnv_canCreateConverter_73']

1143 1143 _HZOpen(UConverter*,UConverterLoadArgs*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/ucnvhz.cpp:74
272 272 1 :

['UConverter_toUnicode_ISO_2022_KR_OFFSETS_LOGIC_IBM(UConverterToUnicodeArgs*, UErrorCode*)']

272 272 UConverter_toUnicode_ISO_2022_KR_OFFSETS_LOGIC(UConverterToUnicodeArgs*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/ucnv2022.cpp:2687
157 157 1 :

['u_releaseDefaultConverter_73']

157 157 icu_73::UnicodeString::doCodepageCreate(charconst*,int,charconst*) call site: 00000 /src/icu/icu4c/source/common/unistr_cnv.cpp:349
128 128 1 :

['_UTF16ToUnicodeWithOffsets(UConverterToUnicodeArgs*, UErrorCode*)']

128 128 _UTF16BEToUnicodeWithOffsets(UConverterToUnicodeArgs*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/ucnv_u16.cpp:266
128 128 1 :

['_UTF16ToUnicodeWithOffsets(UConverterToUnicodeArgs*, UErrorCode*)']

128 128 _UTF16LEToUnicodeWithOffsets(UConverterToUnicodeArgs*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/ucnv_u16.cpp:867
72 122 4 :

['umtx_lock_73', 'umtx_unlock_73', '_EBCDICSwapLFNL(UConverterSharedData*, UErrorCode*)', 'U_FAILURE(UErrorCode) [clone .6038]']

90 140 ucnv_MBCSOpen(UConverter*,UConverterLoadArgs*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/ucnvmbcs.cpp:1918
69 69 1 :

['ucnv_extContinueMatchToU_73']

166 371 ucnv_MBCSToUnicodeWithOffsets_73 call site: 00000 /src/icu/icu4c/source/common/ucnvmbcs.cpp:2490
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484
36 38 2 :

['icu_73::MaybeStackArray ::resize(int, int)', 'icu_73::MaybeStackArray ::getCapacity() const']

36 38 icu_73::CharString::ensureCapacity(int,int,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/charstr.cpp:225
36 36 2 :

['_uhash_rehash(UHashtable*, UErrorCode*)', 'U_FAILURE(UErrorCode) [clone .872]']

36 58 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:492

Runtime coverage analysis

Covered functions
192
Functions that are reachable but not covered
128
Reachable functions
361
Percentage of reachable functions covered
64.54%
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/icu/icu4c/source/test/fuzzer/unicode_string_codepage_create_fuzzer.cpp 1
/src/icu/icu4c/source/common/unistr_cnv.cpp 3
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/unicode/uobject.h 1
/src/icu/icu4c/source/common/ucnv_bld.cpp 19
/src/icu/icu4c/source/common/unicode/stringpiece.h 5
/src/icu/icu4c/source/common/unistr.cpp 13
/src/icu/icu4c/source/common/unicode/unistr.h 9
/src/icu/icu4c/source/common/umutex.h 8
/src/icu/icu4c/source/common/cmemory.cpp 2
/src/icu/icu4c/source/common/ustrtrns.cpp 1
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/utf_impl.cpp 2
/src/icu/icu4c/source/common/ustring.cpp 2
/src/icu/icu4c/source/common/ustr_cnv.cpp 3
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/ucnv.cpp 11
/src/icu/icu4c/source/common/ucnv_io.cpp 9
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/restrace.h 1
/src/icu/icu4c/source/common/charstr.h 11
/src/icu/icu4c/source/common/cmemory.h 8
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/charstr.cpp 6
/src/icu/icu4c/source/common/putil.cpp 8
/src/icu/icu4c/source/common/uobject.cpp 3
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/uhash.cpp 19
/src/icu/icu4c/source/common/ucnv_err.cpp 2
/src/icu/icu4c/source/common/ucnv_cb.cpp 5
/src/icu/icu4c/source/common/ucnv_cnv.cpp 2
/src/icu/icu4c/source/common/uinvchar.cpp 1

Fuzzer: converter_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 245 41.7%
gold [1:9] 109 18.5%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 233 39.6%
All colors 587 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1154 1154 2 :

['u_getDefaultConverter_73', 'U_FAILURE(UErrorCode) [clone .2577]']

1311 1418 icu_73::UnicodeString::extract(char*,int,UConverter*,UErrorCode&)const call site: 00000 /src/icu/icu4c/source/common/unistr_cnv.cpp:227
157 157 1 :

['u_releaseDefaultConverter_73']

157 157 icu_73::UnicodeString::extract(char*,int,UConverter*,UErrorCode&)const call site: 00000 /src/icu/icu4c/source/common/unistr_cnv.cpp:242
62 62 1 :

['ucnv_extContinueMatchFromU_73']

149 430 ucnv_MBCSFromUnicodeWithOffsets_73 call site: 00000 /src/icu/icu4c/source/common/ucnvmbcs.cpp:4100
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484
36 36 2 :

['_uhash_rehash(UHashtable*, UErrorCode*)', 'U_FAILURE(UErrorCode) [clone .872]']

36 58 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:492
14 14 1 :

['icu_73::UnicodeString::setToBogus()']

14 16 icu_73::UnicodeString::UnicodeString(signedchar,icu_73::ConstChar16Ptr,int) call site: 00000 /src/icu/icu4c/source/common/unistr.cpp:228
10 87 4 :

['uprv_pathIsAbsolute_73', 'icu_73::CharString::append(char const*, int, UErrorCode&)', 'strrchr', 'strchr']

864 4135 doOpenChoice(charconst*,charconst*,charconst*,signedchar(*)(void*,charconst*,charconst*,UDataInfoconst*),void*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:1213
2 2 1 :

['strlen']

73 224 icu_73::CharString::append(charconst*,int,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/charstr.cpp:120
2 2 1 :

['u_strlen_73']

2 11 icu_73::UnicodeString::UnicodeString(signedchar,icu_73::ConstChar16Ptr,int) call site: 00000 /src/icu/icu4c/source/common/unistr.cpp:234
2 2 1 :

['icu_73::UnicodeString::setToEmpty()']

2 4 icu_73::UnicodeString::UnicodeString(signedchar,icu_73::ConstChar16Ptr,int) call site: 00000 /src/icu/icu4c/source/common/unistr.cpp:225
2 2 1 :

['u_memcpy_73']

2 2 _fromUnicodeWithCallback(UConverterFromUnicodeArgs*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/ucnv.cpp:1066
0 811 3 :

['isAlias(char const*, UErrorCode*)', 'findConverter(char const*, signed char*, UErrorCode*)', 'haveAliasData(UErrorCode*)']

0 811 ucnv_io_getConverterName_73 call site: 00462 /src/icu/icu4c/source/common/ucnv_io.cpp:748

Runtime coverage analysis

Covered functions
255
Functions that are reachable but not covered
104
Reachable functions
358
Percentage of reachable functions covered
70.95%
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/icu/icu4c/source/test/fuzzer/converter_fuzzer.cpp 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 6
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/unicode/uobject.h 1
/src/icu/icu4c/source/common/unicode/unistr.h 9
/src/icu/icu4c/source/common/uobject.cpp 3
/src/icu/icu4c/source/common/umutex.h 8
/src/icu/icu4c/source/common/cmemory.cpp 2
/src/icu/icu4c/source/common/ustring.cpp 3
/src/icu/icu4c/source/common/ucnv.cpp 10
/src/icu/icu4c/source/common/ucnv_bld.cpp 22
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/ustr_cnv.cpp 3
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/uhash.cpp 19
/src/icu/icu4c/source/common/ucnv_io.cpp 10
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/restrace.h 1
/src/icu/icu4c/source/common/charstr.h 11
/src/icu/icu4c/source/common/cmemory.h 8
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 4
/src/icu/icu4c/source/common/charstr.cpp 6
/src/icu/icu4c/source/common/putil.cpp 8
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/ucnv_err.cpp 2
/src/icu/icu4c/source/common/ucnv_cb.cpp 5
/src/icu/icu4c/source/common/ucnv_cnv.cpp 2
/src/icu/icu4c/source/common/unistr_cnv.cpp 2

Fuzzer: collator_compare_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 2664 76.7%
gold [1:9] 504 14.5%
yellow [10:29] 103 2.96%
greenyellow [30:49] 19 0.54%
lawngreen 50+ 181 5.21%
All colors 3471 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
24857 24869 5 :

['icu_73::(anonymous namespace)::getReorderCode(char const*)', 'uprv_stricmp_73', 'icu_73::Locale::getKeywordValue(char const*, char*, int, UErrorCode&) const', 'U_FAILURE(UErrorCode) [clone .109]', 'u_getPropertyValueEnum_73']

24857 24869 icu_73::(anonymousnamespace)::setAttributesFromKeywords(icu_73::Localeconst&,icu_73::Collator&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/coll.cpp:323
6504 6504 1 :

['icu_73::CollationLoader::loadFromData(UErrorCode&)']

6504 6504 icu_73::CollationLoader::createCacheEntry(UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/ucol_res.cpp:220
5169 10179 8 :

['icu_73::(anonymous namespace)::isKnownCanonicalizedLocale(char const*, UErrorCode&)', 'icu_73::Locale::setToBogus()', 'icu_73::Locale::init(char const*, signed char)', 'icu_73::CharString::CharString()', 'icu_73::CharString::~CharString()', 'icu_73::(anonymous namespace)::canonicalizeLocale(icu_73::Locale const&, icu_73::CharString&, UErrorCode&)', 'icu_73::CharString::data()', 'U_FAILURE(UErrorCode)']

5169 10179 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1941
5169 10141 3 :

['icu_73::Locale::Locale()', 'icu_73::Locale::~Locale()', 'icu_73::ICULocaleService::get(icu_73::Locale const&, icu_73::Locale*, UErrorCode&) const']

5169 15214 icu_73::Collator::createInstance(icu_73::Localeconst&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/coll.cpp:443
5069 5069 1 :

['(anonymous namespace)::getAliasTargetAsResourceBundle(ResourceData const&, unsigned int, char const*, int, UResourceDataEntry*, char const*, int, UResourceBundle*, UErrorCode*)']

5069 5069 (anonymousnamespace)::init_resb_result(UResourceDataEntry*,unsignedint,charconst*,int,UResourceDataEntry*,charconst*,int,UResourceBundle*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:1397
4942 9888 3 :

['uprv_malloc_73', 'uloc_getName_73', 'uloc_canonicalize_73']

10119 20113 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1857
4940 4940 1 :

['entryOpenDirect(char const*, char const*, UErrorCode*)']

4940 5077 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:2658
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
1506 3713 16 :

['icu_73::(anonymous namespace)::UTF16NFDIterator::~UTF16NFDIterator()', 'icu_73::CollationSettings::dontCheckFCD() const', 'icu_73::CollationSettings::isNumeric() const', 'icu_73::FCDUTF16CollationIterator::~FCDUTF16CollationIterator()', 'icu_73::(anonymous namespace)::FCDUTF16NFDIterator::FCDUTF16NFDIterator(icu_73::Normalizer2Impl const&, char16_t const*, char16_t const*)', 'U_FAILURE(UErrorCode) [clone .707]', 'icu_73::(anonymous namespace)::compareNFDIter(icu_73::Normalizer2Impl const&, icu_73::(anonymous namespace)::NFDIterator&, icu_73::(anonymous namespace)::NFDIterator&)', 'icu_73::UTF16CollationIterator::UTF16CollationIterator(icu_73::CollationData const*, signed char, char16_t const*, char16_t const*, char16_t const*)', 'icu_73::CollationSettings::getStrength() const', 'icu_73::(anonymous namespace)::UTF16NFDIterator::UTF16NFDIterator(char16_t const*, char16_t const*)', 'icu_73::UTF16CollationIterator::~UTF16CollationIterator()', 'icu_73::CollationCompare::compareUpToQuaternary(icu_73::CollationIterator&, icu_73::CollationIterator&, icu_73::CollationSettings const&, UErrorCode&)', 'icu_73::FCDUTF16CollationIterator::FCDUTF16CollationIterator(icu_73::CollationData const*, signed char, char16_t const*, char16_t const*, char16_t const*)', 'icu_73::(anonymous namespace)::FCDUTF16NFDIterator::~FCDUTF16NFDIterator()', 'icu_73::CollationData::isUnsafeBackward(int, signed char) const', 'icu_73::CollationFastLatin::compareUTF16(unsigned short const*, unsigned short const*, int, char16_t const*, int, char16_t const*, int)']

1506 3713 icu_73::RuleBasedCollator::doCompare(char16_tconst*,int,char16_tconst*,int,UErrorCode&)const call site: 00000 /src/icu/icu4c/source/i18n/rulebasedcollator.cpp:994
1048 1048 3 :

['icu_73::UnicodeSetStringSpan::needsStringSpanUTF16()', 'icu_73::UnicodeSetStringSpan::UnicodeSetStringSpan(icu_73::UnicodeSet const&, icu_73::UVector const&, unsigned int)', 'icu_73::UnicodeSetStringSpan::~UnicodeSetStringSpan()']

1088 1217 icu_73::UnicodeSet::freeze() call site: 00000 /src/icu/icu4c/source/common/uniset.cpp:2179
836 1004 12 :

['UDataMemory_isLoaded_73', 'icu_73::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_73', 'U_FAILURE(UErrorCode) [clone .5115]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'udata_checkCommonData_73', 'icu_73::UDataPathIterator::next(UErrorCode*)', 'icu_73::UDataPathIterator::~UDataPathIterator()', 'udata_findCachedData(char const*, UErrorCode&)', 'findBasename(char const*)', 'uprv_mapFile_73', 'U_SUCCESS(UErrorCode) [clone .5117]']

836 1004 openCommonData(charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:685
466 5492 13 :

['ures_appendResPath(UResourceBundle*, char const*, int, UErrorCode*)', 'icu_73::CharString::length() const', 'uloc_getDefault_73', 'ures_freeResPath(UResourceBundle*)', 'res_findResource_73', 'icu_73::CharString::CharString()', 'icu_73::CharString::~CharString()', 'strlen', 'icu_73::CharString::data()', 'U_FAILURE(UErrorCode) [clone .2918]', 'createPath(char const*, int, char const*, int, char const*, icu_73::CharString&, UErrorCode*)', 'strchr', 'strcmp']

466 15482 ures_getByKeyWithFallback_73 call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:2182

Runtime coverage analysis

Covered functions
515
Functions that are reachable but not covered
1174
Reachable functions
1795
Percentage of reachable functions covered
34.6%
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/icu/icu4c/source/test/fuzzer/collator_compare_fuzzer.cpp 1
/src/icu/icu4c/source/common/locid.cpp 82
/src/icu/icu4c/source/common/umutex.h 12
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 2
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/uobject.cpp 5
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/putil.cpp 12
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 55
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/uloc.cpp 34
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/localpointer.h 44
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/uhash.cpp 25
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 44
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/ustring.cpp 8
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/udatamem.cpp 9
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/uinvchar.cpp 4
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/unicode/unistr.h 23
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 22
/src/icu/icu4c/source/common/uvector.cpp 18
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/uvector.h 2
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/i18n/coll.cpp 12
/src/icu/icu4c/source/common/servls.cpp 4
/src/icu/icu4c/source/common/serv.cpp 5
/src/icu/icu4c/source/common/servnotf.cpp 2
/src/icu/icu4c/source/common/servrbf.cpp 1
/src/icu/icu4c/source/common/servlkf.cpp 2
/src/icu/icu4c/source/common/serv.h 1
/src/icu/icu4c/source/i18n/ucln_in.cpp 1
/src/icu/icu4c/source/common/locutil.cpp 1
/src/icu/icu4c/source/i18n/ucol_res.cpp 4
/src/icu/icu4c/source/i18n/collationroot.cpp 3
/src/icu/icu4c/source/i18n/collationtailoring.cpp 3
/src/icu/icu4c/source/common/sharedobject.h 9
/src/icu/icu4c/source/i18n/collationsettings.h 4
/src/icu/icu4c/source/common/sharedobject.cpp 5
/src/icu/icu4c/source/i18n/collationtailoring.h 2
/src/icu/icu4c/source/i18n/collationdatareader.cpp 3
/src/icu/icu4c/source/common/normalizer2.cpp 11
/src/icu/icu4c/source/common/normalizer2impl.h 1
/src/icu/icu4c/source/common/normalizer2impl.cpp 1
/src/icu/icu4c/source/common/norm2allmodes.h 3
/src/icu/icu4c/source/common/unicode/normalizer2.h 1
/src/icu/icu4c/source/i18n/collationdata.h 1
/src/icu/icu4c/source/common/utrie2.cpp 1
/src/icu/icu4c/source/common/uniset.cpp 30
/src/icu/icu4c/source/common/unicode/unifilt.h 2
/src/icu/icu4c/source/common/unicode/unifunct.h 1
/src/icu/icu4c/source/common/unicode/unimatch.h 1
/src/icu/icu4c/source/common/unicode/uniset.h 1
/src/icu/icu4c/source/common/unifilt.cpp 2
/src/icu/icu4c/source/common/unifunct.cpp 1
/src/icu/icu4c/source/common/uset.cpp 3
/src/icu/icu4c/source/common/unisetspan.cpp 26
/src/icu/icu4c/source/common/bmpset.cpp 8
/src/icu/icu4c/source/common/bmpset.h 1
/src/icu/icu4c/source/common/ustrtrns.cpp 3
/src/icu/icu4c/source/common/unisetspan.h 3
/src/icu/icu4c/source/common/utf_impl.cpp 3
/src/icu/icu4c/source/i18n/collationfastlatin.cpp 1
/src/icu/icu4c/source/i18n/collationdata.cpp 7
/src/icu/icu4c/source/i18n/collationsettings.cpp 8
/src/icu/icu4c/source/common/uvectr32.cpp 5
/src/icu/icu4c/source/common/uvectr32.h 4
/src/icu/icu4c/source/common/unifiedcache.cpp 23
/src/icu/icu4c/source/common/unifiedcache.h 6
/src/icu/icu4c/source/i18n/rulebasedcollator.cpp 1
/src/icu/icu4c/source/common/propname.cpp 5
/src/icu/icu4c/source/common/unicode/bytestrie.h 7
/src/icu/icu4c/source/common/bytestrie.cpp 6

Fuzzer: break_iterator_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 1899 60.4%
gold [1:9] 340 10.8%
yellow [10:29] 37 1.17%
greenyellow [30:49] 30 0.95%
lawngreen 50+ 837 26.6%
All colors 3143 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
10650 15774 26 :

['icu_73::(anonymous namespace)::AliasReplacer::replaceTransformedExtensions(icu_73::CharString&, icu_73::CharString&, UErrorCode&)', 'icu_73::Locale::~Locale()', 'icu_73::LocalPointerBase ::operator->() const', 'icu_73::CharStringByteSink::~CharStringByteSink()', 'icu_73::CharStringByteSink::CharStringByteSink(icu_73::CharString*)', 'icu_73::LocalPointer ::~LocalPointer()', 'icu_73::CharString::CharString()', 'icu_73::Locale::createKeywords(UErrorCode&) const', 'icu_73::CharString::data()', 'icu_73::LocalPointer ::LocalPointer(icu_73::StringEnumeration*)', 'locale_getKeywordsStart_73', 'U_FAILURE(UErrorCode)', 'icu_73::StringPiece::StringPiece(char const*)', 'icu_73::CharString::clear()', 'icu_73::CharString::toStringPiece() const', 'U_SUCCESS(UErrorCode)', 'icu_73::(anonymous namespace)::AliasReplacer::outputToString(icu_73::CharString&, UErrorCode)', 'icu_73::LocalPointerBase ::isNull() const', 'icu_73::Locale::Locale(icu_73::Locale const&)', 'icu_73::CharString::append(icu_73::StringPiece, UErrorCode&)', 'icu_73::Locale::getName() const', 'icu_73::Locale::getKeywordValue(icu_73::StringPiece, icu_73::ByteSink&, UErrorCode&) const', 'strlen', 'icu_73::(anonymous namespace)::AliasReplacer::replaceSubdivision(icu_73::StringPiece, icu_73::CharString&, UErrorCode&)', 'icu_73::Locale::setKeywordValue(char const*, char const*, UErrorCode&)', 'strcmp']

10650 15922 icu_73::(anonymousnamespace)::AliasReplacer::replace(icu_73::Localeconst&,icu_73::CharString&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1709
10191 10483 25 :

['icu_73::Locale::~Locale()', 'icu_73::LocalPointerBase ::orphan()', 'icu_73::UMemory::operator new(unsigned long)', 'icu_73::LocaleBuilder::~LocaleBuilder()', 'icu_73::UMemory::operator delete(void*)', 'icu_73::CharString::data()', 'icu_73::LocalPointerBase ::isNull() const', 'icu_73::LocaleBuilder::setScript(icu_73::StringPiece)', 'icu_73::CharString::CharString(char const*, int, UErrorCode&)', 'strchr', 'icu_73::Locale::getCountry() const', 'U_FAILURE(UErrorCode)', 'icu_73::LocalPointer ::LocalPointer(icu_73::CharString*)', 'icu_73::StringPiece::StringPiece(char const*)', 'U_SUCCESS(UErrorCode)', 'icu_73::LocalPointer ::~LocalPointer()', 'icu_73::LocalPointerBase ::operator->() const', 'icu_73::LocaleBuilder::build(UErrorCode&)', 'icu_73::UVector::adoptElement(void*, UErrorCode&)', 'icu_73::LocaleBuilder::setLanguage(icu_73::StringPiece)', 'icu_73::LocaleBuilder::LocaleBuilder()', 'strstr', 'icu_73::Locale::addLikelySubtags(UErrorCode&)', 'strlen', 'icu_73::LocalPointer ::adoptInsteadAndCheckErrorCode(icu_73::CharString*, UErrorCode&)']

10191 10483 icu_73::(anonymousnamespace)::AliasReplacer::replaceTerritory(icu_73::UVector&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1379
5170 5170 2 :

['icu_73::LocalPointerBase ::orphan()', 'CreateLSTMData_73']

5170 5408 CreateLSTMDataForScript_73 call site: 00000 /src/icu/icu4c/source/common/lstmbe.cpp:805
5167 10154 7 :

['U_SUCCESS(UErrorCode)', 'icu_73::Locale::~Locale()', 'icu_73::Locale::Locale(char const*, char const*, char const*, char const*)', 'icu_73::ICULocaleService::get(icu_73::Locale const&, int, icu_73::Locale*, UErrorCode&) const', 'icu_73::LocaleBased::setLocaleIDs(char const*, char const*)', 'icu_73::Locale::getName() const', 'icu_73::LocaleBased::LocaleBased(char*, char*)']

5167 10154 icu_73::BreakIterator::createInstance(icu_73::Localeconst&,int,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/brkiter.cpp:376
5069 5069 1 :

['(anonymous namespace)::getAliasTargetAsResourceBundle(ResourceData const&, unsigned int, char const*, int, UResourceDataEntry*, char const*, int, UResourceBundle*, UErrorCode*)']

5069 5069 (anonymousnamespace)::init_resb_result(UResourceDataEntry*,unsignedint,charconst*,int,UResourceDataEntry*,charconst*,int,UResourceBundle*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:1397
4936 9986 7 :

['ures_close_73', 'ures_getByKey_73', 'icu_73::ResourceTracer::ResourceTracer(void const*, char const*)', 'U_SUCCESS(UErrorCode) [clone .2926]', 'ures_getString_73', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'icu_73::res_getString(icu_73::ResourceTracer const&, ResourceData const*, unsigned int, int*)']

4936 9986 ures_getStringByKey_73 call site: 00836 /src/icu/icu4c/source/common/uresbund.cpp:2507
4936 4936 2 :

['getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'U_SUCCESS(UErrorCode) [clone .2926]']

4936 9862 ures_getByKey_73 call site: 00337 /src/icu/icu4c/source/common/uresbund.cpp:2450
4934 5031 3 :

['ures_getString_73', 'ures_close_73', 'ures_getByIndex_73']

4934 5031 ures_getStringWithAlias(UResourceBundleconst*,unsignedint,int,int*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:1709
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
4451 4451 3 :

['DeleteLSTMData_73', 'U_SUCCESS(UErrorCode) [clone .8589]', 'CreateLSTMBreakEngine_73']

4451 38822 icu_73::ICULanguageBreakFactory::loadEngineFor(int) call site: 00000 /src/icu/icu4c/source/common/brkeng.cpp:173
1048 1048 3 :

['icu_73::UnicodeSetStringSpan::needsStringSpanUTF16()', 'icu_73::UnicodeSetStringSpan::UnicodeSetStringSpan(icu_73::UnicodeSet const&, icu_73::UVector const&, unsigned int)', 'icu_73::UnicodeSetStringSpan::~UnicodeSetStringSpan()']

1088 1217 icu_73::UnicodeSet::freeze() call site: 00000 /src/icu/icu4c/source/common/uniset.cpp:2179
1047 1049 3 :

['icu_73::EmojiProps::addStrings(USetAdder const*, UProperty, UErrorCode&) const', 'icu_73::EmojiProps::getSingleton(UErrorCode&)', 'icu_73::LocalPointerBase ::getAlias() const']

1047 5172 (anonymousnamespace)::makeSet(UProperty,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/characterproperties.cpp:279

Runtime coverage analysis

Covered functions
877
Functions that are reachable but not covered
714
Reachable functions
1496
Percentage of reachable functions covered
52.27%
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/icu/icu4c/source/test/fuzzer/break_iterator_fuzzer.cpp 1
/src/icu/icu4c/source/common/utext.cpp 3
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/test/fuzzer/fuzzer_utils.h 1
/src/icu/icu4c/source/common/locavailable.cpp 10
/src/icu/icu4c/source/common/umutex.h 10
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/unicode/errorcode.h 3
/src/icu/icu4c/source/common/uresbund.cpp 55
/src/icu/icu4c/source/common/uloc.cpp 34
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 55
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/unicode/localpointer.h 44
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/uobject.cpp 6
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/uresimp.h 3
/src/icu/icu4c/source/common/uresdata.cpp 16
/src/icu/icu4c/source/common/locid.cpp 77
/src/icu/icu4c/source/common/putil.cpp 12
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/ustring.cpp 9
/src/icu/icu4c/source/common/uvector.cpp 14
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/uinvchar.cpp 4
/src/icu/icu4c/source/common/restrace.h 5
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/unicode/unistr.h 24
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 5
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 28
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 22
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/resource.h 2
/src/icu/icu4c/source/common/resource.cpp 2
/src/icu/icu4c/source/common/errorcode.cpp 1
/src/icu/icu4c/source/common/brkiter.cpp 16
/src/icu/icu4c/source/common/servls.cpp 3
/src/icu/icu4c/source/common/serv.cpp 5
/src/icu/icu4c/source/common/servnotf.cpp 2
/src/icu/icu4c/source/common/servrbf.cpp 1
/src/icu/icu4c/source/common/servlkf.cpp 2
/src/icu/icu4c/source/common/serv.h 1
/src/icu/icu4c/source/common/locutil.cpp 1
/src/icu/icu4c/source/common/locbased.h 1
/src/icu/icu4c/source/common/locbased.cpp 1
/src/icu/icu4c/source/common/rbbi.cpp 4
/src/icu/icu4c/source/common/uchriter.cpp 2
/src/icu/icu4c/source/common/chariter.cpp 4
/src/icu/icu4c/source/common/rbbi_cache.cpp 4
/src/icu/icu4c/source/common/uvectr32.cpp 3
/src/icu/icu4c/source/common/rbbidata.cpp 6
/src/icu/icu4c/source/common/ucptrie.cpp 3
/src/icu/icu4c/source/common/ustrtrns.cpp 1
/src/icu/icu4c/source/common/utf_impl.cpp 2
/src/icu/icu4c/source/common/filteredbrk.cpp 5

Fuzzer: ucasemap_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 1928 60.5%
gold [1:9] 324 10.1%
yellow [10:29] 33 1.03%
greenyellow [30:49] 9 0.28%
lawngreen 50+ 892 27.9%
All colors 3186 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
15592 15774 26 :

['icu_73::(anonymous namespace)::AliasReplacer::replaceTransformedExtensions(icu_73::CharString&, icu_73::CharString&, UErrorCode&)', 'icu_73::Locale::~Locale()', 'icu_73::LocalPointerBase ::operator->() const', 'icu_73::CharStringByteSink::~CharStringByteSink()', 'icu_73::CharStringByteSink::CharStringByteSink(icu_73::CharString*)', 'icu_73::LocalPointer ::~LocalPointer()', 'icu_73::CharString::CharString()', 'icu_73::Locale::createKeywords(UErrorCode&) const', 'icu_73::CharString::data()', 'icu_73::LocalPointer ::LocalPointer(icu_73::StringEnumeration*)', 'locale_getKeywordsStart_73', 'U_FAILURE(UErrorCode)', 'icu_73::StringPiece::StringPiece(char const*)', 'icu_73::CharString::clear()', 'icu_73::CharString::toStringPiece() const', 'U_SUCCESS(UErrorCode)', 'icu_73::(anonymous namespace)::AliasReplacer::outputToString(icu_73::CharString&, UErrorCode)', 'icu_73::LocalPointerBase ::isNull() const', 'icu_73::Locale::Locale(icu_73::Locale const&)', 'icu_73::CharString::append(icu_73::StringPiece, UErrorCode&)', 'icu_73::Locale::getName() const', 'icu_73::Locale::getKeywordValue(icu_73::StringPiece, icu_73::ByteSink&, UErrorCode&) const', 'strlen', 'icu_73::(anonymous namespace)::AliasReplacer::replaceSubdivision(icu_73::StringPiece, icu_73::CharString&, UErrorCode&)', 'icu_73::Locale::setKeywordValue(char const*, char const*, UErrorCode&)', 'strcmp']

15592 15922 icu_73::(anonymousnamespace)::AliasReplacer::replace(icu_73::Localeconst&,icu_73::CharString&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1709
10191 10483 25 :

['icu_73::Locale::~Locale()', 'icu_73::LocalPointerBase ::orphan()', 'icu_73::UMemory::operator new(unsigned long)', 'icu_73::LocaleBuilder::~LocaleBuilder()', 'icu_73::UMemory::operator delete(void*)', 'icu_73::CharString::data()', 'icu_73::LocalPointerBase ::isNull() const', 'icu_73::LocaleBuilder::setScript(icu_73::StringPiece)', 'icu_73::CharString::CharString(char const*, int, UErrorCode&)', 'strchr', 'icu_73::Locale::getCountry() const', 'U_FAILURE(UErrorCode)', 'icu_73::LocalPointer ::LocalPointer(icu_73::CharString*)', 'icu_73::StringPiece::StringPiece(char const*)', 'U_SUCCESS(UErrorCode)', 'icu_73::LocalPointer ::~LocalPointer()', 'icu_73::LocalPointerBase ::operator->() const', 'icu_73::LocaleBuilder::build(UErrorCode&)', 'icu_73::UVector::adoptElement(void*, UErrorCode&)', 'icu_73::LocaleBuilder::setLanguage(icu_73::StringPiece)', 'icu_73::LocaleBuilder::LocaleBuilder()', 'strstr', 'icu_73::Locale::addLikelySubtags(UErrorCode&)', 'strlen', 'icu_73::LocalPointer ::adoptInsteadAndCheckErrorCode(icu_73::CharString*, UErrorCode&)']

10191 10483 icu_73::(anonymousnamespace)::AliasReplacer::replaceTerritory(icu_73::UVector&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1379
5170 5170 2 :

['icu_73::LocalPointerBase ::orphan()', 'CreateLSTMData_73']

5170 5408 CreateLSTMDataForScript_73 call site: 00000 /src/icu/icu4c/source/common/lstmbe.cpp:805
5167 10154 7 :

['U_SUCCESS(UErrorCode)', 'icu_73::Locale::~Locale()', 'icu_73::Locale::Locale(char const*, char const*, char const*, char const*)', 'icu_73::ICULocaleService::get(icu_73::Locale const&, int, icu_73::Locale*, UErrorCode&) const', 'icu_73::LocaleBased::setLocaleIDs(char const*, char const*)', 'icu_73::Locale::getName() const', 'icu_73::LocaleBased::LocaleBased(char*, char*)']

5167 10154 icu_73::BreakIterator::createInstance(icu_73::Localeconst&,int,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/brkiter.cpp:376
5069 5069 1 :

['(anonymous namespace)::getAliasTargetAsResourceBundle(ResourceData const&, unsigned int, char const*, int, UResourceDataEntry*, char const*, int, UResourceBundle*, UErrorCode*)']

5069 5069 (anonymousnamespace)::init_resb_result(UResourceDataEntry*,unsignedint,charconst*,int,UResourceDataEntry*,charconst*,int,UResourceBundle*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:1397
4936 9986 7 :

['ures_close_73', 'ures_getByKey_73', 'icu_73::ResourceTracer::ResourceTracer(void const*, char const*)', 'U_SUCCESS(UErrorCode) [clone .2926]', 'ures_getString_73', 'getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'icu_73::res_getString(icu_73::ResourceTracer const&, ResourceData const*, unsigned int, int*)']

4936 9986 ures_getStringByKey_73 call site: 00828 /src/icu/icu4c/source/common/uresbund.cpp:2507
4936 4936 2 :

['getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'U_SUCCESS(UErrorCode) [clone .2926]']

4936 9862 ures_getByKey_73 call site: 00328 /src/icu/icu4c/source/common/uresbund.cpp:2450
4934 5031 3 :

['ures_getString_73', 'ures_close_73', 'ures_getByIndex_73']

4934 5031 ures_getStringWithAlias(UResourceBundleconst*,unsignedint,int,int*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:1709
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
4927 4927 1 :

['uloc_getLanguage_73']

4927 5026 ucasemap_setLocale_73 call site: 02697 /src/icu/icu4c/source/common/ucasemap.cpp:107
4451 4451 3 :

['DeleteLSTMData_73', 'U_SUCCESS(UErrorCode) [clone .8589]', 'CreateLSTMBreakEngine_73']

4451 38822 icu_73::ICULanguageBreakFactory::loadEngineFor(int) call site: 00000 /src/icu/icu4c/source/common/brkeng.cpp:173
1048 1048 3 :

['icu_73::UnicodeSetStringSpan::needsStringSpanUTF16()', 'icu_73::UnicodeSetStringSpan::UnicodeSetStringSpan(icu_73::UnicodeSet const&, icu_73::UVector const&, unsigned int)', 'icu_73::UnicodeSetStringSpan::~UnicodeSetStringSpan()']

1088 1217 icu_73::UnicodeSet::freeze() call site: 00000 /src/icu/icu4c/source/common/uniset.cpp:2179

Runtime coverage analysis

Covered functions
947
Functions that are reachable but not covered
732
Reachable functions
1590
Percentage of reachable functions covered
53.96%
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/icu/icu4c/source/test/fuzzer/ucasemap_fuzzer.cpp 1
/src/icu/icu4c/source/test/fuzzer/fuzzer_utils.h 1
/src/icu/icu4c/source/common/locavailable.cpp 10
/src/icu/icu4c/source/common/umutex.h 10
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 1
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/unicode/errorcode.h 3
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/uresbund.cpp 55
/src/icu/icu4c/source/common/uloc.cpp 34
/src/icu/icu4c/source/common/bytestream.cpp 4
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 55
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/unicode/localpointer.h 47
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/uobject.cpp 6
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/uresimp.h 3
/src/icu/icu4c/source/common/uresdata.cpp 16
/src/icu/icu4c/source/common/locid.cpp 77
/src/icu/icu4c/source/common/putil.cpp 12
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/ustring.cpp 9
/src/icu/icu4c/source/common/uvector.cpp 14
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/uinvchar.cpp 4
/src/icu/icu4c/source/common/restrace.h 5
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/unicode/unistr.h 24
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 5
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unistr.cpp 28
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 22
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/resource.h 2
/src/icu/icu4c/source/common/resource.cpp 2
/src/icu/icu4c/source/common/errorcode.cpp 1
/src/icu/icu4c/source/common/ucasemap.cpp 8
/src/icu/icu4c/source/common/ucase.cpp 1
/src/icu/icu4c/source/common/edits.cpp 2
/src/icu/icu4c/source/common/ucasemap_titlecase_brkiter.cpp 1
/src/icu/icu4c/source/common/utext.cpp 4
/src/icu/icu4c/source/common/ustr_titlecase_brkiter.cpp 2
/src/icu/icu4c/source/common/brkiter.cpp 13
/src/icu/icu4c/source/common/servls.cpp 3
/src/icu/icu4c/source/common/serv.cpp 5
/src/icu/icu4c/source/common/servnotf.cpp 2
/src/icu/icu4c/source/common/servrbf.cpp 1
/src/icu/icu4c/source/common/servlkf.cpp 2
/src/icu/icu4c/source/common/serv.h 1
/src/icu/icu4c/source/common/locutil.cpp 1
/src/icu/icu4c/source/common/locbased.h 1
/src/icu/icu4c/source/common/locbased.cpp 1
/src/icu/icu4c/source/common/rbbi.cpp 4
/src/icu/icu4c/source/common/uchriter.cpp 2
/src/icu/icu4c/source/common/chariter.cpp 4
/src/icu/icu4c/source/common/rbbi_cache.cpp 4
/src/icu/icu4c/source/common/uvectr32.cpp 3
/src/icu/icu4c/source/common/rbbidata.cpp 6
/src/icu/icu4c/source/common/ucptrie.cpp 3
/src/icu/icu4c/source/common/ustrtrns.cpp 1
/src/icu/icu4c/source/common/utf_impl.cpp 2
/src/icu/icu4c/source/common/filteredbrk.cpp 5

Fuzzer: collator_rulebased_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 2174 41.1%
gold [1:9] 484 9.15%
yellow [10:29] 64 1.21%
greenyellow [30:49] 85 1.60%
lawngreen 50+ 2480 46.9%
All colors 5287 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
5169 10179 8 :

['icu_73::(anonymous namespace)::isKnownCanonicalizedLocale(char const*, UErrorCode&)', 'icu_73::Locale::setToBogus()', 'icu_73::Locale::init(char const*, signed char)', 'icu_73::CharString::CharString()', 'icu_73::CharString::~CharString()', 'icu_73::(anonymous namespace)::canonicalizeLocale(icu_73::Locale const&, icu_73::CharString&, UErrorCode&)', 'icu_73::CharString::data()', 'U_FAILURE(UErrorCode)']

5169 10179 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1941
4942 9888 3 :

['uprv_malloc_73', 'uloc_getName_73', 'uloc_canonicalize_73']

10119 20113 icu_73::Locale::init(charconst*,signedchar) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1857
4930 4930 1 :

['getPoolEntry(char const*, UErrorCode*)']

4986 10062 init_entry(charconst*,charconst*,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uresbund.cpp:585
1048 1048 3 :

['icu_73::UnicodeSetStringSpan::needsStringSpanUTF16()', 'icu_73::UnicodeSetStringSpan::UnicodeSetStringSpan(icu_73::UnicodeSet const&, icu_73::UVector const&, unsigned int)', 'icu_73::UnicodeSetStringSpan::~UnicodeSetStringSpan()']

1088 1217 icu_73::UnicodeSet::freeze() call site: 00000 /src/icu/icu4c/source/common/uniset.cpp:2179
1047 1049 3 :

['icu_73::EmojiProps::addStrings(USetAdder const*, UProperty, UErrorCode&) const', 'icu_73::EmojiProps::getSingleton(UErrorCode&)', 'icu_73::LocalPointerBase ::getAlias() const']

1047 5172 (anonymousnamespace)::makeSet(UProperty,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/characterproperties.cpp:279
352 549 8 :

['icu_73::Normalizer2Impl::decomposeShort(char16_t const*, char16_t const*, signed char, signed char, icu_73::ReorderingBuffer&, UErrorCode&) const', 'icu_73::Normalizer2Impl::findNextFCDBoundary(char16_t const*, char16_t const*) const', 'icu_73::Normalizer2Impl::getFCD16FromNormData(int) const', 'icu_73::ReorderingBuffer::removeSuffix(int)', 'U_FAILURE(UErrorCode) [clone .4516]', 'icu_73::ReorderingBuffer::appendZeroCC(int, UErrorCode&)', 'icu_73::Normalizer2Impl::singleLeadMightHaveNonZeroFCD16(int) const', 'icu_73::ReorderingBuffer::appendZeroCC(char16_t const*, char16_t const*, UErrorCode&)']

352 549 icu_73::Normalizer2Impl::makeFCD(char16_tconst*,char16_tconst*,icu_73::ReorderingBuffer*,UErrorCode&)const call site: 00000 /src/icu/icu4c/source/common/normalizer2impl.cpp:2384
166 166 1 :

['ulocimp_getKeywords_73']

166 264 _canonicalize(charconst*,icu_73::ByteSink&,unsignedint,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uloc.cpp:1663
162 202 3 :

['icu_73::Normalizer2Impl::copyLowPrefixFromNulTerminated(char16_t const*, int, icu_73::ReorderingBuffer*, UErrorCode&) const', 'icu_73::Normalizer2Impl::getFCD16(int) const', 'u_strchr_73']

514 751 icu_73::Normalizer2Impl::makeFCD(char16_tconst*,char16_tconst*,icu_73::ReorderingBuffer*,UErrorCode&)const call site: 00000 /src/icu/icu4c/source/common/normalizer2impl.cpp:2280
162 162 3 :

['icu_73::Normalizer2Impl::copyLowPrefixFromNulTerminated(char16_t const*, int, icu_73::ReorderingBuffer*, UErrorCode&) const', 'U_FAILURE(UErrorCode) [clone .4516]', 'u_strchr_73']

162 456 icu_73::Normalizer2Impl::decompose(char16_tconst*,char16_tconst*,icu_73::ReorderingBuffer*,UErrorCode&)const call site: 00000 /src/icu/icu4c/source/common/normalizer2impl.cpp:590
152 152 1 :

['icu_73::UnicodeSet::cloneAsThawed() const']

308 1666 icu_73::CollationDataReader::read(icu_73::CollationTailoringconst*,unsignedcharconst*,int,icu_73::CollationTailoring&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/collationdatareader.cpp:267
152 152 1 :

['icu_73::RuleBasedCollator::setAttribute(UColAttribute, UColAttributeValue, UErrorCode&)']

160 212 icu_73::RuleBasedCollator::internalBuildTailoring(icu_73::UnicodeStringconst&,int,UColAttributeValue,UParseError*,icu_73::UnicodeString*,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/collationbuilder.cpp:187
152 152 1 :

['icu_73::CollationSettings::aliasReordering(icu_73::CollationData const&, int const*, int, unsigned int const*, int, unsigned char const*, UErrorCode&)']

152 195 icu_73::CollationDataReader::read(icu_73::CollationTailoringconst*,unsignedcharconst*,int,icu_73::CollationTailoring&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/collationdatareader.cpp:445

Runtime coverage analysis

Covered functions
1443
Functions that are reachable but not covered
790
Reachable functions
2830
Percentage of reachable functions covered
72.08%
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/icu/icu4c/source/test/fuzzer/collator_rulebased_fuzzer.cpp 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 6
/src/icu/icu4c/source/common/unistr.cpp 44
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/unicode/unistr.h 45
/src/icu/icu4c/source/common/uobject.cpp 6
/src/icu/icu4c/source/common/umutex.h 14
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/ustring.cpp 15
/src/icu/icu4c/source/i18n/collationbuilder.cpp 15
/src/icu/icu4c/source/i18n/coll.cpp 2
/src/icu/icu4c/source/common/locid.cpp 79
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 2
/src/icu/icu4c/source/common/putil.cpp 13
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 61
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/uloc.cpp 34
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/localpointer.h 60
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/uhash.cpp 22
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 44
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/udatamem.cpp 9
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/uinvchar.cpp 4
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/uvector.cpp 22
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/uvector.h 4
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/i18n/collationroot.cpp 3
/src/icu/icu4c/source/i18n/collationtailoring.cpp 4
/src/icu/icu4c/source/common/sharedobject.h 5
/src/icu/icu4c/source/i18n/collationsettings.h 8
/src/icu/icu4c/source/common/sharedobject.cpp 5
/src/icu/icu4c/source/i18n/collationtailoring.h 2
/src/icu/icu4c/source/i18n/collationdatareader.cpp 3
/src/icu/icu4c/source/common/normalizer2.cpp 15
/src/icu/icu4c/source/common/normalizer2impl.h 14
/src/icu/icu4c/source/common/normalizer2impl.cpp 12
/src/icu/icu4c/source/common/norm2allmodes.h 3
/src/icu/icu4c/source/common/unicode/normalizer2.h 1
/src/icu/icu4c/source/i18n/collationdata.h 8
/src/icu/icu4c/source/common/utrie2.cpp 7
/src/icu/icu4c/source/common/uniset.cpp 58
/src/icu/icu4c/source/common/unicode/unifilt.h 2
/src/icu/icu4c/source/common/unicode/unifunct.h 1
/src/icu/icu4c/source/common/unicode/unimatch.h 1
/src/icu/icu4c/source/common/unicode/uniset.h 5
/src/icu/icu4c/source/common/unifilt.cpp 2
/src/icu/icu4c/source/common/unifunct.cpp 1
/src/icu/icu4c/source/common/uset.cpp 3
/src/icu/icu4c/source/common/unisetspan.cpp 27
/src/icu/icu4c/source/common/bmpset.cpp 9
/src/icu/icu4c/source/common/bmpset.h 1
/src/icu/icu4c/source/common/ustrtrns.cpp 4
/src/icu/icu4c/source/common/unisetspan.h 3
/src/icu/icu4c/source/common/utf_impl.cpp 3
/src/icu/icu4c/source/i18n/collationfastlatin.cpp 1
/src/icu/icu4c/source/i18n/collationdata.cpp 9
/src/icu/icu4c/source/i18n/collationsettings.cpp 13
/src/icu/icu4c/source/common/uvectr32.cpp 6
/src/icu/icu4c/source/common/uvectr32.h 6
/src/icu/icu4c/source/i18n/ucln_in.cpp 1
/src/icu/icu4c/source/i18n/collationruleparser.h 5
/src/icu/icu4c/source/i18n/collationrootelements.h 6
/src/icu/icu4c/source/i18n/collationdatabuilder.cpp 28
/src/icu/icu4c/source/common/uvectr64.cpp 4
/src/icu/icu4c/source/common/umutablecptrie.cpp 50
/src/icu/icu4c/source/common/ucptrie.cpp 5
/src/icu/icu4c/source/common/utrie2_builder.cpp 14
/src/icu/icu4c/source/i18n/collation.h 21
/src/icu/icu4c/source/i18n/collationruleparser.cpp 25
/src/icu/icu4c/source/common/patternprops.cpp 2
/src/icu/icu4c/source/common/propname.cpp 9
/src/icu/icu4c/source/common/unicode/bytestrie.h 7
/src/icu/icu4c/source/common/bytestrie.cpp 6
/src/icu/icu4c/source/common/uniset_props.cpp 17
/src/icu/icu4c/source/common/unicode/parsepos.h 3
/src/icu/icu4c/source/common/ruleiter.cpp 10
/src/icu/icu4c/source/common/util.cpp 3
/src/icu/icu4c/source/common/characterproperties.cpp 8
/src/icu/icu4c/source/common/uprops.cpp 8
/src/icu/icu4c/source/common/uchar.cpp 4
/src/icu/icu4c/source/common/ucase.cpp 2
/src/icu/icu4c/source/common/loadednormalizer2impl.cpp 10
/src/icu/icu4c/source/common/ubidi_props.cpp 2
/src/icu/icu4c/source/common/emojiprops.cpp 9
/src/icu/icu4c/source/common/emojiprops.h 2
/src/icu/icu4c/source/common/unames.cpp 17
/src/icu/icu4c/source/common/ucharstrieiterator.cpp 4
/src/icu/icu4c/source/common/unicode/ucharstrie.h 19
/src/icu/icu4c/source/common/parsepos.cpp 1
/src/icu/icu4c/source/common/ruleiter.h 1
/src/icu/icu4c/source/i18n/collationdatabuilder.h 8
/src/icu/icu4c/source/i18n/collationweights.cpp 20
/src/icu/icu4c/source/common/uvectr64.h 5
/src/icu/icu4c/source/i18n/collationbuilder.h 6
/src/icu/icu4c/source/i18n/collationrootelements.cpp 6
/src/icu/icu4c/source/i18n/collationweights.h 2
/src/icu/icu4c/source/i18n/collation.cpp 4
/src/icu/icu4c/source/common/usetiter.cpp 7
/src/icu/icu4c/source/common/unicode/usetiter.h 2
/src/icu/icu4c/source/i18n/collationiterator.h 9
/src/icu/icu4c/source/i18n/collationiterator.cpp 25
/src/icu/icu4c/source/common/ucharstrie.cpp 6
/src/icu/icu4c/source/i18n/collationfcd.h 1
/src/icu/icu4c/source/i18n/rulebasedcollator.cpp 6
/src/icu/icu4c/source/i18n/unicode/tblcoll.h 2

Fuzzer: uregex_open_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 3641 62.1%
gold [1:9] 241 4.11%
yellow [10:29] 56 0.95%
greenyellow [30:49] 9 0.15%
lawngreen 50+ 1914 32.6%
All colors 5861 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
11814 11814 1 :

['icu_73::RegexPattern::compile(UText*, unsigned int, UErrorCode&)']

11814 11995 uregex_open_73 call site: 00077 /src/icu/icu4c/source/i18n/uregex.cpp:156
8859 108033 18 :

['icu_73::UnicodeSet::removeAll(icu_73::UnicodeSet const&)', 'icu_73::UnicodeSet::UnicodeSet()', 'icu_73::ConstChar16Ptr::~ConstChar16Ptr()', 'icu_73::LocalPointerBase ::getAlias() const', 'icu_73::UnicodeSet::applyIntPropertyValue(UProperty, int, UErrorCode&)', 'icu_73::LocalPointer ::adoptInsteadAndCheckErrorCode(icu_73::UnicodeSet*, UErrorCode&)', 'icu_73::UMemory::operator new(unsigned long)', 'icu_73::ConstChar16Ptr::ConstChar16Ptr(char16_t const*)', 'icu_73::UnicodeSet::add(int, int)', 'icu_73::UnicodeSet::add(int)', 'icu_73::UMemory::operator delete(void*)', 'icu_73::UnicodeString::compare(icu_73::ConstChar16Ptr, int) const', 'icu_73::addIdentifierIgnorable(icu_73::UnicodeSet*, UErrorCode&)', 'icu_73::UnicodeSet::~UnicodeSet()', 'U_FAILURE(UErrorCode) [clone .801]', 'icu_73::UnicodeSet::closeOver(int)', 'icu_73::addCategory(icu_73::UnicodeSet*, int, UErrorCode&)', 'icu_73::UnicodeSet::isEmpty() const']

8859 108332 icu_73::RegexCompile::createSetForProperty(icu_73::UnicodeStringconst&,signedchar) call site: 00000 /src/icu/icu4c/source/i18n/regexcmp.cpp:4484
1048 1048 3 :

['icu_73::UnicodeSetStringSpan::needsStringSpanUTF16()', 'icu_73::UnicodeSetStringSpan::UnicodeSetStringSpan(icu_73::UnicodeSet const&, icu_73::UVector const&, unsigned int)', 'icu_73::UnicodeSetStringSpan::~UnicodeSetStringSpan()']

1088 1217 icu_73::UnicodeSet::freeze() call site: 00000 /src/icu/icu4c/source/common/uniset.cpp:2179
1047 1049 3 :

['icu_73::EmojiProps::addStrings(USetAdder const*, UProperty, UErrorCode&) const', 'icu_73::EmojiProps::getSingleton(UErrorCode&)', 'icu_73::LocalPointerBase ::getAlias() const']

1047 5172 (anonymousnamespace)::makeSet(UProperty,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/characterproperties.cpp:279
836 1004 12 :

['UDataMemory_isLoaded_73', 'icu_73::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_73', 'U_FAILURE(UErrorCode) [clone .5115]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'udata_checkCommonData_73', 'icu_73::UDataPathIterator::next(UErrorCode*)', 'icu_73::UDataPathIterator::~UDataPathIterator()', 'udata_findCachedData(char const*, UErrorCode&)', 'findBasename(char const*)', 'uprv_mapFile_73', 'U_SUCCESS(UErrorCode) [clone .5117]']

836 1004 openCommonData(charconst*,int,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/udata.cpp:685
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

52 52 _uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) call site: 00000 /src/icu/icu4c/source/common/uhash.cpp:484
52 52 2 :

['icu_73::expandName(icu_73::UCharNames*, unsigned char const*, unsigned short, UCharNameChoice, char*, unsigned short)', 'icu_73::getExtName(unsigned int, char*, unsigned short)']

52 52 icu_73::enumGroupNames(icu_73::UCharNames*,unsignedshortconst*,int,int,signedchar(*)(void*,int,UCharNameChoice,charconst*,int),void*,UCharNameChoice) call site: 00000 /src/icu/icu4c/source/common/unames.cpp:607
44 61 2 :

['icu_73::RegexStaticSets::~RegexStaticSets()', 'icu_73::UMemory::operator delete(void*)']

44 61 icu_73::initStaticSets(UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/regexst.cpp:157
28 28 1 :

['icu_73::getExtName(unsigned int, char*, unsigned short)']

28 28 icu_73::enumExtNames(int,int,signedchar(*)(void*,int,UCharNameChoice,charconst*,int),void*) call site: 00000 /src/icu/icu4c/source/common/unames.cpp:647
20 94 4 :

['U_FAILURE(UErrorCode) [clone .8589]', 'icu_73::UnicodeSet::allocateStrings(UErrorCode&)', 'icu_73::UnicodeSet::setToBogus()', 'icu_73::UVector::assign(icu_73::UVector const&, void (*)(UElement*, UElement*), UErrorCode&)']

20 116 icu_73::UnicodeSet::UnicodeSet(icu_73::UnicodeSetconst&,signedchar) call site: 00000 /src/icu/icu4c/source/common/uniset.cpp:171
20 20 1 :

['icu_73::UnicodeSet::setToBogus()']

20 20 icu_73::UnicodeSet::ensureCapacity(int) call site: 00000 /src/icu/icu4c/source/common/uniset.cpp:1650
20 20 1 :

['icu_73::UnicodeSet::setToBogus()']

20 20 icu_73::UnicodeSet::ensureBufferCapacity(int) call site: 00000 /src/icu/icu4c/source/common/uniset.cpp:1673

Runtime coverage analysis

Covered functions
665
Functions that are reachable but not covered
1553
Reachable functions
2623
Percentage of reachable functions covered
40.79%
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/icu/icu4c/source/test/fuzzer/uregex_open_fuzzer.cpp 1
/src/icu/icu4c/source/i18n/uregex.cpp 5
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/ustring.cpp 12
/src/icu/icu4c/source/common/uobject.cpp 6
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/i18n/rematch.cpp 8
/src/icu/icu4c/source/i18n/repattrn.cpp 8
/src/icu/icu4c/source/common/uvector.h 11
/src/icu/icu4c/source/common/uvector.cpp 26
/src/icu/icu4c/source/common/uniset.cpp 62
/src/icu/icu4c/source/common/unisetspan.cpp 30
/src/icu/icu4c/source/common/unifilt.cpp 2
/src/icu/icu4c/source/common/unifunct.cpp 1
/src/icu/icu4c/source/common/utext.cpp 12
/src/icu/icu4c/source/common/uhash.cpp 23
/src/icu/icu4c/source/common/unistr.cpp 42
/src/icu/icu4c/source/common/umutex.h 15
/src/icu/icu4c/source/common/unicode/uobject.h 2
/src/icu/icu4c/source/common/unicode/unistr.h 42
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uvectr64.cpp 7
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/uvectr32.cpp 7
/src/icu/icu4c/source/common/unicode/unifilt.h 2
/src/icu/icu4c/source/common/unicode/unifunct.h 1
/src/icu/icu4c/source/common/unicode/unimatch.h 1
/src/icu/icu4c/source/i18n/regeximp.h 3
/src/icu/icu4c/source/i18n/regexcmp.cpp 35
/src/icu/icu4c/source/common/ustack.cpp 4
/src/icu/icu4c/source/i18n/regexst.cpp 5
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 2
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/i18n/ucln_in.cpp 1
/src/icu/icu4c/source/common/unicode/char16ptr.h 3
/src/icu/icu4c/source/common/unicode/uniset.h 6
/src/icu/icu4c/source/common/uniset_props.cpp 17
/src/icu/icu4c/source/common/unicode/parsepos.h 3
/src/icu/icu4c/source/common/ruleiter.cpp 10
/src/icu/icu4c/source/common/patternprops.cpp 2
/src/icu/icu4c/source/common/putil.cpp 13
/src/icu/icu4c/source/common/util.cpp 3
/src/icu/icu4c/source/common/uinvchar.cpp 4
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 55
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/propname.cpp 9
/src/icu/icu4c/source/common/unicode/bytestrie.h 7
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/bytestrie.cpp 6
/src/icu/icu4c/source/common/characterproperties.cpp 8
/src/icu/icu4c/source/common/uprops.cpp 8
/src/icu/icu4c/source/common/unicode/localpointer.h 57
/src/icu/icu4c/source/common/uchar.cpp 5
/src/icu/icu4c/source/common/utrie2.cpp 3
/src/icu/icu4c/source/common/normalizer2.cpp 11
/src/icu/icu4c/source/common/normalizer2impl.h 14
/src/icu/icu4c/source/common/normalizer2impl.cpp 12
/src/icu/icu4c/source/common/norm2allmodes.h 3
/src/icu/icu4c/source/common/unicode/normalizer2.h 1
/src/icu/icu4c/source/common/ucptrie.cpp 6
/src/icu/icu4c/source/common/ucase.cpp 23
/src/icu/icu4c/source/common/loadednormalizer2impl.cpp 10
/src/icu/icu4c/source/common/udata.cpp 22
/src/icu/icu4c/source/common/restrace.h 4
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/umutablecptrie.cpp 50
/src/icu/icu4c/source/common/ubidi_props.cpp 2
/src/icu/icu4c/source/common/emojiprops.cpp 9
/src/icu/icu4c/source/common/emojiprops.h 2
/src/icu/icu4c/source/common/unames.cpp 17
/src/icu/icu4c/source/common/ucharstrieiterator.cpp 4
/src/icu/icu4c/source/common/uvectr32.h 7
/src/icu/icu4c/source/common/unicode/ucharstrie.h 8
/src/icu/icu4c/source/common/bmpset.cpp 10
/src/icu/icu4c/source/common/bmpset.h 1
/src/icu/icu4c/source/common/ustrtrns.cpp 4
/src/icu/icu4c/source/common/unisetspan.h 3
/src/icu/icu4c/source/common/utf_impl.cpp 4
/src/icu/icu4c/source/common/parsepos.cpp 1
/src/icu/icu4c/source/common/ruleiter.h 1
/src/icu/icu4c/source/i18n/regextxt.cpp 2
/src/icu/icu4c/source/common/unistr_case.cpp 3
/src/icu/icu4c/source/common/unicode/edits.h 7
/src/icu/icu4c/source/common/edits.cpp 8
/src/icu/icu4c/source/common/ustrcase.cpp 17
/src/icu/icu4c/source/common/uvectr64.h 6
/src/icu/icu4c/source/common/uniset_closure.cpp 10
/src/icu/icu4c/source/common/locid.cpp 76
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/uloc.cpp 34
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/uresbund.cpp 51
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/uresdata.cpp 15
/src/icu/icu4c/source/common/uresimp.h 1
/src/icu/icu4c/source/common/unicode/ures.h 5
/src/icu/icu4c/source/common/uresdata.h 1
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 10
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/brkiter.cpp 13
/src/icu/icu4c/source/common/servls.cpp 3
/src/icu/icu4c/source/common/serv.cpp 5
/src/icu/icu4c/source/common/servnotf.cpp 2
/src/icu/icu4c/source/common/servrbf.cpp 1
/src/icu/icu4c/source/common/servlkf.cpp 2
/src/icu/icu4c/source/common/serv.h 1
/src/icu/icu4c/source/common/locutil.cpp 1
/src/icu/icu4c/source/common/locbased.h 1
/src/icu/icu4c/source/common/locbased.cpp 1
/src/icu/icu4c/source/common/rbbi.cpp 4
/src/icu/icu4c/source/common/uchriter.cpp 2
/src/icu/icu4c/source/common/chariter.cpp 4
/src/icu/icu4c/source/common/rbbi_cache.cpp 4
/src/icu/icu4c/source/common/rbbidata.cpp 6
/src/icu/icu4c/source/common/filteredbrk.cpp 5
/src/icu/icu4c/source/common/unistr_case_locale.cpp 2
/src/icu/icu4c/source/common/ustrcase_locale.cpp 1
/src/icu/icu4c/source/common/unistr_titlecase_brkiter.cpp 2
/src/icu/icu4c/source/common/ustr_titlecase_brkiter.cpp 2

Fuzzer: number_format_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 3696 63.0%
gold [1:9] 330 5.62%
yellow [10:29] 50 0.85%
greenyellow [30:49] 9 0.15%
lawngreen 50+ 1777 30.3%
All colors 5862 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
16647 22066 18 :

['icu_73::UnicodeString::setTo(icu_73::UnicodeString const&, int, int)', 'icu_73::CharString::appendInvariantChars(icu_73::UnicodeString const&, UErrorCode&)', 'icu_73::Locale::~Locale()', 'icu_73::UnicodeString::tempSubString(int, int) const', 'icu_73::UnicodeString::lastIndexOf(char16_t) const', 'icu_73::Locale::createFromName(char const*)', 'icu_73::Locale::Locale()', 'icu_73::Locale::operator=(icu_73::Locale&&)', 'icu_73::UnicodeString::compare(icu_73::UnicodeString const&) const', 'icu_73::UnicodeString::setTo(icu_73::UnicodeString const&, int)', 'icu_73::CharString::data()', 'icu_73::Locale::operator=(icu_73::Locale const&)', 'icu_73::UnicodeString::UnicodeString()', 'icu_73::CharString::CharString()', 'icu_73::CharString::~CharString()', 'icu_73::UnicodeString::indexOf(char16_t) const', 'icu_73::RuleBasedNumberFormat::RuleBasedNumberFormat(icu_73::URBNFRuleSetTag, icu_73::Locale const&, UErrorCode&)', 'icu_73::UnicodeString::setTo(icu_73::UnicodeString const&)']

16647 22659 icu_73::NumberFormat::makeInstance(icu_73::Localeconst&,UNumberFormatStyle,signedchar,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/numfmt.cpp:1434
15553 15774 26 :

['icu_73::(anonymous namespace)::AliasReplacer::replaceTransformedExtensions(icu_73::CharString&, icu_73::CharString&, UErrorCode&)', 'icu_73::Locale::~Locale()', 'icu_73::LocalPointerBase ::operator->() const', 'icu_73::CharStringByteSink::~CharStringByteSink()', 'icu_73::CharStringByteSink::CharStringByteSink(icu_73::CharString*)', 'icu_73::LocalPointer ::~LocalPointer()', 'icu_73::CharString::CharString()', 'icu_73::Locale::createKeywords(UErrorCode&) const', 'icu_73::CharString::data()', 'icu_73::LocalPointer ::LocalPointer(icu_73::StringEnumeration*)', 'locale_getKeywordsStart_73', 'U_FAILURE(UErrorCode)', 'icu_73::StringPiece::StringPiece(char const*)', 'icu_73::CharString::clear()', 'icu_73::CharString::toStringPiece() const', 'U_SUCCESS(UErrorCode)', 'icu_73::(anonymous namespace)::AliasReplacer::outputToString(icu_73::CharString&, UErrorCode)', 'icu_73::LocalPointerBase ::isNull() const', 'icu_73::Locale::Locale(icu_73::Locale const&)', 'icu_73::CharString::append(icu_73::StringPiece, UErrorCode&)', 'icu_73::Locale::getName() const', 'icu_73::Locale::getKeywordValue(icu_73::StringPiece, icu_73::ByteSink&, UErrorCode&) const', 'strlen', 'icu_73::(anonymous namespace)::AliasReplacer::replaceSubdivision(icu_73::StringPiece, icu_73::CharString&, UErrorCode&)', 'icu_73::Locale::setKeywordValue(char const*, char const*, UErrorCode&)', 'strcmp']

15553 15922 icu_73::(anonymousnamespace)::AliasReplacer::replace(icu_73::Localeconst&,icu_73::CharString&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1709
10217 10483 25 :

['icu_73::Locale::~Locale()', 'icu_73::LocalPointerBase ::orphan()', 'icu_73::UMemory::operator new(unsigned long)', 'icu_73::LocaleBuilder::~LocaleBuilder()', 'icu_73::UMemory::operator delete(void*)', 'icu_73::CharString::data()', 'icu_73::LocalPointerBase ::isNull() const', 'icu_73::LocaleBuilder::setScript(icu_73::StringPiece)', 'icu_73::CharString::CharString(char const*, int, UErrorCode&)', 'strchr', 'icu_73::Locale::getCountry() const', 'U_FAILURE(UErrorCode)', 'icu_73::LocalPointer ::LocalPointer(icu_73::CharString*)', 'icu_73::StringPiece::StringPiece(char const*)', 'U_SUCCESS(UErrorCode)', 'icu_73::LocalPointer ::~LocalPointer()', 'icu_73::LocalPointerBase ::operator->() const', 'icu_73::LocaleBuilder::build(UErrorCode&)', 'icu_73::UVector::adoptElement(void*, UErrorCode&)', 'icu_73::LocaleBuilder::setLanguage(icu_73::StringPiece)', 'icu_73::LocaleBuilder::LocaleBuilder()', 'strstr', 'icu_73::Locale::addLikelySubtags(UErrorCode&)', 'strlen', 'icu_73::LocalPointer ::adoptInsteadAndCheckErrorCode(icu_73::CharString*, UErrorCode&)']

10217 10483 icu_73::(anonymousnamespace)::AliasReplacer::replaceTerritory(icu_73::UVector&,UErrorCode&) call site: 00000 /src/icu/icu4c/source/common/locid.cpp:1379
8698 8698 3 :

['icu_73::numparse::impl::PercentMatcher::PercentMatcher(icu_73::DecimalFormatSymbols const&)', 'icu_73::numparse::impl::PercentMatcher::operator=(icu_73::numparse::impl::PercentMatcher&&)', 'icu_73::numparse::impl::PercentMatcher::~PercentMatcher()']

35748 79732 icu_73::numparse::impl::NumberParserImpl::createParserFromProperties(icu_73::number::impl::DecimalFormatPropertiesconst&,icu_73::DecimalFormatSymbolsconst&,bool,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/numparse_impl.cpp:153
8698 8698 3 :

['icu_73::numparse::impl::PermilleMatcher::operator=(icu_73::numparse::impl::PermilleMatcher&&)', 'icu_73::numparse::impl::PermilleMatcher::PermilleMatcher(icu_73::DecimalFormatSymbols const&)', 'icu_73::numparse::impl::PermilleMatcher::~PermilleMatcher()']

27050 71025 icu_73::numparse::impl::NumberParserImpl::createParserFromProperties(icu_73::number::impl::DecimalFormatPropertiesconst&,icu_73::DecimalFormatSymbolsconst&,bool,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/numparse_impl.cpp:156
8224 8226 2 :

['icu_73::LocalPointerBase ::operator->() const', 'icu_73::DecimalFormat::setCurrencyUsage(UCurrencyUsage, UErrorCode*)']

8224 8503 icu_73::NumberFormat::makeInstance(icu_73::Localeconst&,UNumberFormatStyle,signedchar,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/numfmt.cpp:1495
6470 6596 11 :

['icu_73::LocalPointer ::adoptInstead(icu_73::CurrencyPluralInfo*)', 'icu_73::LocalPointer ::~LocalPointer()', 'icu_73::LocalPointerBase ::orphan()', 'icu_73::Locale::~Locale()', 'icu_73::DecimalFormatSymbols::getLocale() const', 'icu_73::LocalPointerBase ::operator->() const', 'icu_73::CurrencyPluralInfo::CurrencyPluralInfo(icu_73::Locale const&, UErrorCode&)', 'icu_73::UMemory::operator new(unsigned long)', 'icu_73::LocalPointer ::LocalPointer(icu_73::CurrencyPluralInfo*, UErrorCode&)', 'U_FAILURE(UErrorCode) [clone .6678]', 'icu_73::UMemory::operator delete(void*)']

6470 14963 icu_73::DecimalFormat::DecimalFormat(icu_73::UnicodeStringconst&,icu_73::DecimalFormatSymbols*,UNumberFormatStyle,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/decimfmt.cpp:93
5815 5828 2 :

['icu_73::DecimalFormatSymbols::DecimalFormatSymbols(UErrorCode&)', 'icu_73::UMemory::operator new(unsigned long)']

5958 6029 icu_73::DecimalFormat::DecimalFormat(icu_73::DecimalFormatSymbolsconst*,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/decimfmt.cpp:114
5706 5706 1 :

['icu_73::number::Precision::withCurrency(icu_73::CurrencyUnit const&, UErrorCode&) const']

6263 7190 icu_73::number::impl::NumberPropertyMapper::oldToNew(icu_73::number::impl::DecimalFormatPropertiesconst&,icu_73::DecimalFormatSymbolsconst&,icu_73::number::impl::DecimalFormatWarehouse&,icu_73::number::impl::DecimalFormatProperties*,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/number_mapper.cpp:279
5355 5355 3 :

['icu_73::numparse::impl::CombinedCurrencyMatcher::CombinedCurrencyMatcher(icu_73::number::impl::CurrencySymbols const&, icu_73::DecimalFormatSymbols const&, int, UErrorCode&)', 'icu_73::numparse::impl::CombinedCurrencyMatcher::~CombinedCurrencyMatcher()', 'icu_73::numparse::impl::CombinedCurrencyMatcher::operator=(icu_73::numparse::impl::CombinedCurrencyMatcher&&)']

41103 85096 icu_73::numparse::impl::NumberParserImpl::createParserFromProperties(icu_73::number::impl::DecimalFormatPropertiesconst&,icu_73::DecimalFormatSymbolsconst&,bool,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/numparse_impl.cpp:143
5169 5169 1 :

['icu_73::ICULocaleService::get(icu_73::Locale const&, int, UErrorCode&) const']

5169 5169 icu_73::NumberFormat::internalCreateInstance(icu_73::Localeconst&,UNumberFormatStyle,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/numfmt.cpp:1048
4951 4953 4 :

['icu_73::CurrencyUnit::getISOCurrency() const', 'ucurr_getDefaultFractionDigitsForUsage_73', 'int const& std::__1::min (int const&, int const&)', 'int const& std::__1::max (int const&, int const&)']

17802 19768 icu_73::number::impl::NumberPropertyMapper::oldToNew(icu_73::number::impl::DecimalFormatPropertiesconst&,icu_73::DecimalFormatSymbolsconst&,icu_73::number::impl::DecimalFormatWarehouse&,icu_73::number::impl::DecimalFormatProperties*,UErrorCode&) call site: 00000 /src/icu/icu4c/source/i18n/number_mapper.cpp:104

Runtime coverage analysis

Covered functions
1274
Functions that are reachable but not covered
1729
Reachable functions
3170
Percentage of reachable functions covered
45.46%
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/icu/icu4c/source/test/fuzzer/number_format_fuzzer.cpp 1
/src/icu/icu4c/source/test/fuzzer/fuzzer_utils.h 1
/src/icu/icu4c/source/common/locavailable.cpp 10
/src/icu/icu4c/source/common/umutex.h 10
/src/icu/icu4c/source/common/umutex.cpp 10
/src/icu/icu4c/source/common/ucln_cmn.cpp 2
/src/icu/icu4c/source/common/mutex.h 2
/src/icu/icu4c/source/common/unicode/errorcode.h 3
/src/icu/icu4c/source/common/unicode/utypes.h 2
/src/icu/icu4c/source/common/cmemory.cpp 3
/src/icu/icu4c/source/common/uresbund.cpp 61
/src/icu/icu4c/source/common/uloc.cpp 35
/src/icu/icu4c/source/common/bytestream.cpp 3
/src/icu/icu4c/source/common/unicode/bytestream.h 3
/src/icu/icu4c/source/common/ulocimp.h 5
/src/icu/icu4c/source/common/charstr.h 14
/src/icu/icu4c/source/common/cmemory.h 75
/src/icu/icu4c/source/common/charstr.cpp 10
/src/icu/icu4c/source/common/uloc_tag.cpp 54
/src/icu/icu4c/source/common/unicode/localpointer.h 103
/src/icu/icu4c/source/common/cstring.cpp 9
/src/icu/icu4c/source/common/uobject.cpp 6
/src/icu/icu4c/source/common/stringpiece.cpp 1
/src/icu/icu4c/source/common/unicode/stringpiece.h 6
/src/icu/icu4c/source/common/uloc_keytype.cpp 12
/src/icu/icu4c/source/common/uhash.cpp 25
/src/icu/icu4c/source/common/uhash.h 3
/src/icu/icu4c/source/common/unicode/ures.h 7
/src/icu/icu4c/source/common/uresimp.h 3
/src/icu/icu4c/source/common/uresdata.cpp 17
/src/icu/icu4c/source/common/locid.cpp 79
/src/icu/icu4c/source/common/putil.cpp 18
/src/icu/icu4c/source/common/bytesinkutil.cpp 2
/src/icu/icu4c/source/common/uarrsort.cpp 7
/src/icu/icu4c/source/common/unicode/uobject.h 3
/src/icu/icu4c/source/common/ustring.cpp 17
/src/icu/icu4c/source/common/uvector.cpp 15
/src/icu/icu4c/source/common/charstrmap.h 5
/src/icu/icu4c/source/common/uinvchar.cpp 5
/src/icu/icu4c/source/common/restrace.h 6
/src/icu/icu4c/source/common/uniquecharstr.h 6
/src/icu/icu4c/source/common/unicode/unistr.h 50
/src/icu/icu4c/source/common/unicode/rep.h 1
/src/icu/icu4c/source/common/uresdata.h 7
/src/icu/icu4c/source/common/unicode/char16ptr.h 7
/src/icu/icu4c/source/common/unistr.cpp 48
/src/icu/icu4c/source/common/unicode/locid.h 6
/src/icu/icu4c/source/common/uvector.h 1
/src/icu/icu4c/source/common/localebuilder.cpp 16
/src/icu/icu4c/source/common/ustrenum.cpp 2
/src/icu/icu4c/source/common/umath.cpp 2
/src/icu/icu4c/source/common/loclikely.cpp 11
/src/icu/icu4c/source/common/unicode/uenum.h 2
/src/icu/icu4c/source/common/uenum.cpp 3
/src/icu/icu4c/source/common/udatamem.cpp 8
/src/icu/icu4c/source/common/umapfile.cpp 2
/src/icu/icu4c/source/common/udata.cpp 21
/src/icu/icu4c/source/common/ucmndata.cpp 2
/src/icu/icu4c/source/common/resource.h 2
/src/icu/icu4c/source/common/resource.cpp 2
/src/icu/icu4c/source/common/errorcode.cpp 1
/src/icu/icu4c/source/i18n/numfmt.cpp 23
/src/icu/icu4c/source/i18n/ucln_in.cpp 1
/src/icu/icu4c/source/common/servls.cpp 4
/src/icu/icu4c/source/common/serv.cpp 5
/src/icu/icu4c/source/common/servnotf.cpp 2
/src/icu/icu4c/source/common/servrbf.cpp 1
/src/icu/icu4c/source/common/servlkf.cpp 2
/src/icu/icu4c/source/common/serv.h 1
/src/icu/icu4c/source/common/locutil.cpp 1
/src/icu/icu4c/source/i18n/numsys.cpp 11
/src/icu/icu4c/source/i18n/dcfmtsym.cpp 14
/src/icu/icu4c/source/common/locbased.h 1
/src/icu/icu4c/source/common/locbased.cpp 1
/src/icu/icu4c/source/i18n/unicode/dcfmtsym.h 7
/src/icu/icu4c/source/common/uchar.cpp 1
/src/icu/icu4c/source/common/ucurr.cpp 16
/src/icu/icu4c/source/common/hash.h 7
/src/icu/icu4c/source/i18n/number_utils.cpp 8
/src/icu/icu4c/source/i18n/rbnf.cpp 11
/src/icu/icu4c/source/i18n/format.cpp 3
/src/icu/icu4c/source/i18n/nfrule.cpp 10
/src/icu/icu4c/source/common/patternprops.cpp 4
/src/icu/icu4c/source/i18n/nfrs.cpp 6
/src/icu/icu4c/source/i18n/nfrule.h 4
/src/icu/icu4c/source/i18n/nfrlist.h 8
/src/icu/icu4c/source/i18n/nfrs.h 5
/src/icu/icu4c/source/i18n/nfsubs.cpp 11
/src/icu/icu4c/source/i18n/decimfmt.cpp 8
/src/icu/icu4c/source/i18n/number_mapper.h 11
/src/icu/icu4c/source/i18n/number_decimfmtprops.cpp 5
/src/icu/icu4c/source/i18n/number_types.h 28
/src/icu/icu4c/source/i18n/number_decimfmtprops.h 4
/src/icu/icu4c/source/i18n/currunit.cpp 5
/src/icu/icu4c/source/i18n/measunit.cpp 8
/src/icu/icu4c/source/i18n/measunit_impl.h 3
/src/icu/icu4c/source/i18n/unicode/numberformatter.h 25
/src/icu/icu4c/source/i18n/number_usageprefs.cpp 1
/src/icu/icu4c/source/i18n/number_multiplier.cpp 7
/src/icu/icu4c/source/i18n/number_decnum.h 2
/src/icu/icu4c/source/i18n/number_symbolswrapper.cpp 3
/src/icu/icu4c/source/i18n/number_patternmodifier.cpp 1
/src/icu/icu4c/source/i18n/number_fluent.cpp 7
/src/icu/icu4c/source/i18n/number_formatimpl.h 1
/src/icu/icu4c/source/i18n/number_microprops.h 2
/src/icu/icu4c/source/i18n/number_patternstring.cpp 17
/src/icu/icu4c/source/i18n/number_patternstring.h 7
/src/icu/icu4c/source/i18n/number_decimalquantity.cpp 30
/src/icu/icu4c/source/i18n/plurrule_impl.h 4
/src/icu/icu4c/source/i18n/double-conversion-string-to-double.h 1
/src/icu/icu4c/source/i18n/double-conversion-string-to-double.cpp 16
/src/icu/icu4c/source/i18n/double-conversion-ieee.h 12
/src/icu/icu4c/source/i18n/double-conversion-diy-fp.h 9
/src/icu/icu4c/source/i18n/double-conversion-utils.h 9
/src/icu/icu4c/source/i18n/double-conversion-strtod.h 1
/src/icu/icu4c/source/i18n/double-conversion-strtod.cpp 10
/src/icu/icu4c/source/i18n/double-conversion-cached-powers.cpp 2
/src/icu/icu4c/source/i18n/double-conversion-bignum.h 8
/src/icu/icu4c/source/i18n/double-conversion-bignum.cpp 24
/src/icu/icu4c/source/i18n/number_affixutils.cpp 6
/src/icu/icu4c/source/i18n/number_mapper.cpp 4
/src/icu/icu4c/source/i18n/currpinf.cpp 7
/src/icu/icu4c/source/i18n/number_affixutils.h 4
/src/icu/icu4c/source/i18n/formatted_string_builder.h 1
/src/icu/icu4c/source/i18n/standardplural.cpp 1
/src/icu/icu4c/source/common/ustrtrns.cpp 1
/src/icu/icu4c/source/common/utf_impl.cpp 2
/src/icu/icu4c/source/i18n/number_currencysymbols.cpp 1
/src/icu/icu4c/source/i18n/unicode/currunit.h 1
/src/icu/icu4c/source/i18n/number_rounding.cpp 8
/usr/local/bin/../include/c++/v1/math.h 6
/src/icu/icu4c/source/i18n/decContext.cpp 3
/src/icu/icu4c/source/i18n/decNumber.cpp 22
/src/icu/icu4c/source/i18n/double-conversion-double-to-string.cpp 2
/src/icu/icu4c/source/i18n/double-conversion-fast-dtoa.cpp 8
/src/icu/icu4c/source/i18n/double-conversion-bignum-dtoa.cpp 11
/src/icu/icu4c/source/i18n/number_integerwidth.cpp 2
/src/icu/icu4c/source/i18n/number_grouping.cpp 2
/src/icu/icu4c/source/i18n/number_padding.cpp 2
/src/icu/icu4c/source/i18n/number_notation.cpp 3
/src/icu/icu4c/source/i18n/number_multiplier.h 1
/src/icu/icu4c/source/i18n/unicode/rbnf.h 1
/src/icu/icu4c/source/i18n/nfsubs.h 1
/src/icu/icu4c/source/i18n/plurfmt.cpp 5
/src/icu/icu4c/source/common/messagepattern.cpp 34
/src/icu/icu4c/source/common/unicode/messagepattern.h 4
/src/icu/icu4c/source/i18n/unicode/plurfmt.h 2
/src/icu/icu4c/source/i18n/plurrule.cpp 25
/src/icu/icu4c/source/common/uvectr32.cpp 6
/src/icu/icu4c/source/common/uvectr32.h 4
/src/icu/icu4c/source/i18n/pluralranges.cpp 6
/src/icu/icu4c/source/i18n/pluralranges.h 3
/src/icu/icu4c/source/common/unifiedcache.h 5
/src/icu/icu4c/source/common/unifiedcache.cpp 6
/src/icu/icu4c/source/common/sharedobject.h 2
/src/icu/icu4c/source/common/sharedobject.cpp 2
/src/icu/icu4c/source/i18n/sharedpluralrules.h 1
/src/icu/icu4c/source/i18n/sharednumberformat.h 1
/src/icu/icu4c/source/i18n/fmtable.cpp 4

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
icu_73::number::impl::MixedUnitLongNameHandler::processQuantity(icu_73::number::impl::DecimalQuantity&,icu_73::number::impl::MicroProps&,UErrorCode&)const /src/icu/icu4c/source/i18n/number_longnames.cpp 4 ['class.icu_73::number::impl::MixedUnitLongNameHandler *', 'class.icu_73::number::impl::DecimalQuantity *', 'struct.icu_73::number::impl::MicroProps *', 'int *'] 39 0 55 6 3 4479 0 16589 5276
icu_73::DecimalFormat::parseCurrency(icu_73::UnicodeStringconst&,icu_73::ParsePosition&)const /src/icu/icu4c/source/i18n/decimfmt.cpp 3 ['class.icu_73::DecimalFormat *', 'class.icu_73::UnicodeString *', 'class.icu_73::ParsePosition *'] 34 0 339 68 56 3403 0 12684 1413
icu_73::RuleBasedBreakIterator::RuleBasedBreakIterator(icu_73::UnicodeStringconst&,UParseError&,UErrorCode&) /src/icu/icu4c/source/common/rbbi.cpp 4 ['class.icu_73::RuleBasedBreakIterator *', 'class.icu_73::UnicodeString *', 'struct.UParseError *', 'int *'] 23 0 101 17 17 1523 0 6021 1317
uregex_replaceFirst_73 /src/icu/icu4c/source/i18n/uregex.cpp 6 ['struct.URegularExpression *', 'N/A', 'int ', 'N/A', 'int ', 'int *'] 38 0 133 21 9 1561 0 7261 1052
icu_73::CollationBuilder::addRelation(int,icu_73::UnicodeStringconst&,icu_73::UnicodeStringconst&,icu_73::UnicodeStringconst&,charconst*&,UErrorCode&) /src/icu/icu4c/source/i18n/collationbuilder.cpp 7 ['class.icu_73::CollationBuilder *', 'int ', 'class.icu_73::UnicodeString *', 'class.icu_73::UnicodeString *', 'class.icu_73::UnicodeString *', 'char **', 'int *'] 13 0 665 123 116 1087 0 3112 820
icu_73::FractionalPartSubstitution::doParse(icu_73::UnicodeStringconst&,icu_73::ParsePosition&,double,double,signedchar,unsignedint,icu_73::Formattable&)const /src/icu/icu4c/source/i18n/nfsubs.cpp 8 ['class.icu_73::FractionalPartSubstitution *', 'class.icu_73::UnicodeString *', 'class.icu_73::ParsePosition *', 'N/A', 'N/A', 'char ', 'int ', 'class.icu_73::Formattable *'] 31 0 409 79 63 4891 0 18287 772
icu_73::CollationDataBuilder::build(icu_73::CollationData&,UErrorCode&) /src/icu/icu4c/source/i18n/collationdatabuilder.cpp 3 ['class.icu_73::CollationDataBuilder *', 'struct.icu_73::CollationData *', 'int *'] 19 0 81 6 3 1597 0 5622 600

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

Functions statically reachable by fuzzers
43.5%
4014/9223
Cyclomatic complexity statically reachable by fuzzers
49.4%
32730 / 66180

All functions overview

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

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

Runtime coverage analysis

This section shows analysis of runtime coverage data.

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

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
uprv_getDefaultLocaleID_73 56 24 42.85% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
udata_checkCommonData_73 38 19 50.0% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
ures_getNextResource_73 40 18 45.0% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
entryOpenDirect(charconst*,charconst*,UErrorCode*) 44 22 50.0% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
ures_getStringByKey_73 64 27 42.18% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
ucnv_close_73 54 24 44.44% ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
_reset(UConverter*,UConverterResetChoice,signedchar) 55 25 45.45% ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
_UTF16BEToUnicodeWithOffsets(UConverterToUnicodeArgs*,UErrorCode*) 186 83 44.62% []
_UTF16LEToUnicodeWithOffsets(UConverterToUnicodeArgs*,UErrorCode*) 186 83 44.62% []
ucnv_MBCSToUnicodeWithOffsets_73 299 157 52.50% []
icu_73::UDataPathIterator::next(UErrorCode*) 64 24 37.5% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
ucnv_outputOverflowFromUnicode(UConverter*,char**,charconst*,int**,UErrorCode*) 39 21 53.84% ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
_UTF16BEFromUnicodeWithOffsets(UConverterFromUnicodeArgs*,UErrorCode*) 160 87 54.37% []
_UTF16LEFromUnicodeWithOffsets(UConverterFromUnicodeArgs*,UErrorCode*) 160 87 54.37% []
icu_73::Locale::setKeywordValue(charconst*,charconst*,UErrorCode&) 36 15 41.66% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
uloc_setKeywordValue_73 172 50 29.06% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
icu_73::(anonymousnamespace)::setAttributesFromKeywords(icu_73::Localeconst&,icu_73::Collator&,UErrorCode&) 98 5 5.102% ['collator_compare_fuzzer']
icu_73::CollationCompare::compareUpToQuaternary(icu_73::CollationIterator&,icu_73::CollationIterator&,icu_73::CollationSettingsconst&,UErrorCode&) 242 78 32.23% []
icu_73::CollationDataReader::read(icu_73::CollationTailoringconst*,unsignedcharconst*,int,icu_73::CollationTailoring&,UErrorCode&) 333 176 52.85% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
icu_73::CollationFastLatin::nextPair(unsignedshortconst*,int,unsignedint,char16_tconst*,unsignedcharconst*,int&,int&) 82 43 52.43% []
icu_73::RuleBasedCollator::setAttribute(UColAttribute,UColAttributeValue,UErrorCode&) 61 7 11.47% ['collator_rulebased_fuzzer']
icu_73::CollationLoader::loadFromCollations(UErrorCode&) 51 19 37.25% []
(anonymousnamespace)::initInclusion(UPropertySource,UErrorCode&) 102 53 51.96% ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::(anonymousnamespace)::AliasReplacer::replace(icu_73::Localeconst&,icu_73::CharString&,UErrorCode&) 114 50 43.85% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
icu_73::(anonymousnamespace)::AliasReplacer::replaceLanguage(bool,bool,bool,icu_73::UVector&,UErrorCode&) 75 28 37.33% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
icu_73::(anonymousnamespace)::AliasReplacer::replaceTerritory(icu_73::UVector&,UErrorCode&) 48 9 18.75% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
icu_73::Normalizer2Impl::combine(unsignedshortconst*,int) 42 16 38.09% []
icu_73::Normalizer2Impl::recompose(icu_73::ReorderingBuffer&,int,signedchar)const 124 65 52.41% []
icu_73::Normalizer2Impl::compose(char16_tconst*,char16_tconst*,signedchar,signedchar,icu_73::ReorderingBuffer&,UErrorCode&)const 213 108 50.70% []
icu_73::PropNameData::findPropertyValueNameGroup(int,int) 34 15 44.11% []
icu_73::RuleBasedBreakIterator::BreakCache::seek(int) 31 7 22.58% []
ulocimp_getKeywordValue_73 86 42 48.83% ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
icu_73::UnicodeSet::copyFrom(icu_73::UnicodeSetconst&,signedchar) 46 22 47.82% ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
ures_getNextString_73 43 15 34.88% ['number_format_fuzzer']
u_strFindFirst_73 109 45 41.28% ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
u_strFromUTF8WithSub_73 214 47 21.96% ['unicode_string_codepage_create_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
utext_moveIndex32_73 35 18 51.42% ['uregex_open_fuzzer']
ucstrTextAccess(UText*,long,signedchar) 54 15 27.77% []
icu_73::UVector32::expandCapacity(int,UErrorCode&) 39 16 41.02% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
ucase_getCaseLocale_73 144 64 44.44% ['ucasemap_fuzzer', 'uregex_open_fuzzer']
utf8TextAccess(UText*,long,signedchar) 279 140 50.17% []
icu_73::CanonicalIterator::setSource(icu_73::UnicodeStringconst&,UErrorCode&) 68 36 52.94% []
icu_73::(anonymousnamespace)::MutableCodePointTrie::build(UCPTrieType,UCPTrieValueWidth,UErrorCode&) 118 52 44.06% ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::findAlgName(icu_73::AlgorithmicRange*,UCharNameChoice,charconst*) 90 30 33.33% ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::enumGroupNames(icu_73::UCharNames*,unsignedshortconst*,int,int,signedchar(*)(void*,int,UCharNameChoice,charconst*,int),void*,UCharNameChoice) 31 17 54.83% ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::UnicodeString::UnicodeString(int,int,int) 38 6 15.78% ['collator_rulebased_fuzzer']
icu_73::UVector64::expandCapacity(int,UErrorCode&) 39 18 46.15% ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::CollationBuilder::getSpecialResetPosition(icu_73::UnicodeStringconst&,charconst*&,UErrorCode&) 137 34 24.81% []
icu_73::CollationDataBuilder::addCE32(icu_73::UnicodeStringconst&,icu_73::UnicodeStringconst&,unsignedint,UErrorCode&) 129 67 51.93% ['collator_rulebased_fuzzer']
icu_73::CollationDataBuilder::getJamoCE32s(unsignedint*,UErrorCode&) 60 32 53.33% []
icu_73::Edits::addReplace(int,int) 63 24 38.09% ['ucasemap_fuzzer', 'uregex_open_fuzzer']
ustrcase_mapWithOverlap_73 46 23 50.0% []
uprv_strCompare_73 97 35 36.08% []
icu_73::RegexCompile::createSetForProperty(icu_73::UnicodeStringconst&,signedchar) 165 72 43.63% ['uregex_open_fuzzer']
icu_73::BMPSet::span(char16_tconst*,char16_tconst*,USetSpanCondition)const 73 13 17.80% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::BMPSet::spanBack(char16_tconst*,char16_tconst*,USetSpanCondition)const 79 13 16.45% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::BMPSet::spanUTF8(unsignedcharconst*,int,USetSpanCondition)const 126 10 7.936% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::BMPSet::spanBackUTF8(unsignedcharconst*,int,USetSpanCondition)const 55 16 29.09% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
ulocimp_getRegionForSupplementalData_73 39 17 43.58% ['number_format_fuzzer']
ucurr_getName_73 69 35 50.72% ['number_format_fuzzer']
icu_73::UnicodeSet::spanBack(char16_tconst*,int,USetSpanCondition)const 34 4 11.76% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::UnicodeSet::spanUTF8(charconst*,int,USetSpanCondition)const 35 5 14.28% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
icu_73::UnicodeSet::spanBackUTF8(charconst*,int,USetSpanCondition)const 35 5 14.28% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
ures_getByIndex_73 39 15 38.46% ['number_format_fuzzer']
ures_getStringByIndex_73 44 17 38.63% ['number_format_fuzzer']
u_strToUTF8WithSub_73 211 50 23.69% ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
doubleicu_73::double_conversion::StringToDoubleConverter::StringToIeee (unsignedshortconst*,int,bool,int*)const 252 115 45.63% ['number_format_fuzzer']
icu_73::number::impl::AffixUtils::escape(icu_73::UnicodeStringconst&) 40 8 20.0% ['number_format_fuzzer']
icu_73::number::impl::AffixUtils::nextToken(icu_73::number::impl::AffixTag,icu_73::UnicodeStringconst&,UErrorCode&) 128 14 10.93% ['number_format_fuzzer']
icu_73::number::impl::NumberPropertyMapper::oldToNew(icu_73::number::impl::DecimalFormatPropertiesconst&,icu_73::DecimalFormatSymbolsconst&,icu_73::number::impl::DecimalFormatWarehouse&,icu_73::number::impl::DecimalFormatProperties*,UErrorCode&) 168 83 49.40% ['number_format_fuzzer']
icu_73::number::impl::ParsedPatternInfo::consumeFormat(UErrorCode&) 35 11 31.42% ['number_format_fuzzer']
icu_73::number::impl::ParsedPatternInfo::consumeFractionFormat(UErrorCode&) 43 17 39.53% ['number_format_fuzzer']
icu_73::number::impl::PatternParser::patternInfoToProperties(icu_73::number::impl::DecimalFormatProperties&,icu_73::number::impl::ParsedPatternInfo&,icu_73::number::impl::IgnoreRounding,UErrorCode&) 134 73 54.47% ['number_format_fuzzer']
icu_73::number::impl::utils::getPatternForStyle(icu_73::Localeconst&,charconst*,icu_73::number::impl::CldrPatternStyle,UErrorCode&) 35 16 45.71% ['number_format_fuzzer']
icu_73::NumberFormat::makeInstance(icu_73::Localeconst&,UNumberFormatStyle,signedchar,UErrorCode&) 126 56 44.44% ['number_format_fuzzer']
icu_73::numparse::impl::AffixPatternMatcherBuilder::consumeToken(icu_73::number::impl::AffixPatternType,int,UErrorCode&) 39 12 30.76% []
icu_73::NumberingSystem::createInstance(icu_73::Localeconst&,UErrorCode&) 67 35 52.23% ['number_format_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/icu/icu4c/source/common/servslkf.cpp [] []
/src/icu/icu4c/source/common/rbbinode.cpp [] []
/src/icu/icu4c/source/i18n/collation.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/plurrule_impl.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/unistr_cnv.cpp ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer'] ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
/src/icu/icu4c/source/common/ucnv_u32.cpp [] []
/src/icu/icu4c/source/i18n/collationsettings.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/unicode/fieldpos.h [] []
/src/icu/icu4c/source/i18n/number_longnames.cpp [] []
/src/icu/icu4c/source/i18n/double-conversion-string-to-double.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/unicode/listformatter.h [] []
/src/icu/icu4c/source/common/bytestriebuilder.cpp [] []
/src/icu/icu4c/source/common/ucnv_ct.cpp [] []
/src/icu/icu4c/source/common/ustr_titlecase_brkiter.cpp ['ucasemap_fuzzer', 'uregex_open_fuzzer'] ['ucasemap_fuzzer']
/src/icu/icu4c/source/common/parsepos.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/ucol_sit.cpp [] []
/src/icu/icu4c/source/common/ustrenum.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/test/fuzzer/uloc_get_name_fuzzer.cpp ['uloc_get_name_fuzzer'] ['uloc_get_name_fuzzer']
/src/icu/icu4c/source/i18n/collationcompare.cpp [] []
/src/icu/icu4c/source/i18n/format.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/numparse_decimal.cpp [] []
/src/icu/icu4c/source/common/errorcode.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/double-conversion-bignum.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/sharednumberformat.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/unicode/simpleformatter.h [] []
/src/icu/icu4c/source/i18n/units_data.cpp [] []
/src/icu/icu4c/source/common/caniter.cpp [] []
/src/icu/icu4c/source/i18n/unicode/curramt.h [] []
/src/icu/icu4c/source/i18n/repattrn.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/common/stringtriebuilder.cpp [] []
/src/icu/icu4c/source/i18n/collationweights.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/nfrs.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/number_microprops.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/ucptrie.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/unicode/symtable.h [] []
/src/icu/icu4c/source/common/umapfile.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['converter_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer']
/src/icu/icu4c/source/common/loadednormalizer2impl.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/messagepattern.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/serv.cpp ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/collationtailoring.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/ucasemap.cpp ['ucasemap_fuzzer'] ['ucasemap_fuzzer']
/src/icu/icu4c/source/common/unicode/localpointer.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_notation.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/unifiedcache.cpp ['collator_compare_fuzzer', 'number_format_fuzzer'] ['collator_compare_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_multiplier.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_rounding.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/ucharstriebuilder.cpp [] []
/src/icu/icu4c/source/i18n/decContext.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/bmpset.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/putilimp.h [] []
/src/icu/icu4c/source/i18n/ucln_in.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/collationfastlatinbuilder.h [] []
/src/icu/icu4c/source/test/fuzzer/collator_rulebased_fuzzer.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/servrbf.cpp ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/decimfmt.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/bytestrie.cpp ['uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['uloc_is_right_to_left_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/ucol_res.cpp ['collator_compare_fuzzer'] ['collator_compare_fuzzer']
/src/icu/icu4c/source/i18n/number_decimfmtprops.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_decimalquantity.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/unicode/dcfmtsym.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/locbased.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_compact.cpp [] []
/src/icu/icu4c/source/common/ustring.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/double-conversion-strtod.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/usr/local/bin/../include/c++/v1/exception [] []
/src/icu/icu4c/source/common/ucnvlat1.cpp [] []
/src/icu/icu4c/source/common/ucase.cpp ['ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/uregex.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/number_multiplier.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/uvectr64.h ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/numsys.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/uobject.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/unicode/bytestrie.h ['uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['uloc_is_right_to_left_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/test/fuzzer/number_format_fuzzer.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/utf16collationiterator.h [] []
/src/icu/icu4c/source/common/uset.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/number_patternstring.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/rbbi_cache.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer']
/src/icu/icu4c/source/i18n/collationdatabuilder.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/unicode/stringpiece.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/mutex.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/coleitr.cpp [] []
/src/icu/icu4c/source/common/ucmndata.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/ucnv_bld.cpp ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer'] ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
/src/icu/icu4c/source/common/ucnv_u7.cpp [] []
/src/icu/icu4c/source/common/umutex.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/measunit_impl.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/unicode/unifunct.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] []
/src/icu/icu4c/source/i18n/number_symbolswrapper.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/numparse_symbols.cpp [] []
/src/icu/icu4c/source/i18n/double-conversion-utils.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/ucharstrieiterator.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/measunit_extra.cpp [] []
/src/icu/icu4c/source/i18n/formattedval_sbimpl.cpp [] []
/src/icu/icu4c/source/common/normalizer2impl.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/nfsubs.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/rulebasedcollator.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/numparse_currency.cpp [] []
/src/icu/icu4c/source/common/ucasemap_imp.h [] []
/src/icu/icu4c/source/common/rbbistbl.cpp [] []
/src/icu/icu4c/source/common/util.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/brkiter.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer']
/src/icu/icu4c/source/i18n/fpositer.cpp [] []
/src/icu/icu4c/source/i18n/double-conversion-ieee.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/unicode/usetiter.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/double-conversion-strtod.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/collationfastlatin.h [] []
/src/icu/icu4c/source/common/utrie.cpp [] []
/src/icu/icu4c/source/common/unicode/normalizer2.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/unicode/coleitr.h [] []
/src/icu/icu4c/source/i18n/units_data.h [] []
/src/icu/icu4c/source/common/unicode/chariter.h [] []
/src/icu/icu4c/source/i18n/number_fluent.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/unifiedcache.h ['collator_compare_fuzzer', 'number_format_fuzzer'] ['collator_compare_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uchriter.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer']
/src/icu/icu4c/source/common/uresdata.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/bocsu.cpp [] []
/src/icu/icu4c/source/common/ucnv.cpp ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer'] ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
/src/icu/icu4c/source/i18n/collationkeys.h [] []
/src/icu/icu4c/source/common/unicode/parsepos.h ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/collationdatareader.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/locresdata.cpp [] []
/src/icu/icu4c/source/i18n/double-conversion-double-to-string.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/norm2allmodes.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/bytesinkutil.h [] []
/src/icu/icu4c/source/common/chariter.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer']
/src/icu/icu4c/source/common/locdispnames.cpp [] []
/src/icu/icu4c/source/i18n/double-conversion-bignum.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/collationtailoring.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/unicode/numberformatter.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_patternstring.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/usetiter.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/test/fuzzer/uloc_for_language_tag_fuzzer.cpp ['uloc_for_language_tag_fuzzer'] ['uloc_for_language_tag_fuzzer']
/src/icu/icu4c/source/i18n/number_mapper.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_decnum.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/ustack.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/common/charstr.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_affixutils.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/locutil.cpp ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/common/bytestream.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/umutablecptrie.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/rbbisetb.cpp [] []
/src/icu/icu4c/source/i18n/unicode/plurfmt.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/dcfmtsym.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/unicode/errorcode.h ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uniset.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/rbbirb.cpp [] []
/src/icu/icu4c/source/i18n/collationdata.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/uvectr32.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/fphdlimp.h [] []
/src/icu/icu4c/source/i18n/units_router.h [] []
/src/icu/icu4c/source/i18n/nfrs.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/unicode/locid.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/ucnv_err.cpp ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer'] ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
/src/icu/icu4c/source/i18n/unicode/coll.h [] []
/src/icu/icu4c/source/i18n/number_output.cpp [] []
/src/icu/icu4c/source/i18n/collationkeys.cpp [] []
/src/icu/icu4c/source/common/uprops.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/standardplural.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/units_complexconverter.h [] []
/src/icu/icu4c/source/i18n/double-conversion-cached-powers.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/dictionarydata.cpp [] []
/src/icu/icu4c/source/i18n/number_patternmodifier.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/numparse_parsednumber.cpp [] []
/src/icu/icu4c/source/common/rbbitblb.cpp [] []
/src/icu/icu4c/source/i18n/double-conversion-string-to-double.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/formattedval_impl.h [] []
/src/icu/icu4c/source/i18n/formattedvalue.cpp [] []
/src/icu/icu4c/source/common/uvector.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/nfrule.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/unicode/bytestriebuilder.h [] []
/src/icu/icu4c/source/i18n/nfrule.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/utrie2_builder.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/unicode/ucharstrie.h ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/collationdata.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/unicode/formattedvalue.h [] []
/src/icu/icu4c/source/common/ucnv2022.cpp [] []
/src/icu/icu4c/source/i18n/pluralranges.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/cmemory.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_types.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/hash.h ['number_format_fuzzer'] []
/usr/local/bin/../include/c++/v1/stdlib.h [] []
/src/icu/icu4c/source/common/rbbidata.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer']
/src/icu/icu4c/source/i18n/measure.cpp [] []
/src/icu/icu4c/source/common/restrace.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/numparse_scientific.h [] []
/src/icu/icu4c/source/common/utrace.cpp [] []
/src/icu/icu4c/source/i18n/unicode/numfmt.h [] []
/src/icu/icu4c/source/i18n/collationrootelements.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/number_usageprefs.h [] []
/src/icu/icu4c/source/i18n/collationfcd.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/utrie2.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/cstring.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/characterproperties.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/resource.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uset_props.cpp [] []
/src/icu/icu4c/source/common/uscript_props.cpp ['uloc_is_right_to_left_fuzzer'] ['uloc_is_right_to_left_fuzzer']
/src/icu/icu4c/source/i18n/collationroot.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/collationbuilder.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/fphdlimp.cpp [] []
/src/icu/icu4c/source/i18n/displayoptions.cpp [] []
/src/icu/icu4c/source/common/ucol_swp.cpp [] []
/src/icu/icu4c/source/common/uniset_props.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/uresimp.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_decimfmtprops.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/charstr.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/unistr_case_locale.cpp ['uregex_open_fuzzer'] []
/src/icu/icu4c/source/i18n/uitercollationiterator.cpp [] []
/src/icu/icu4c/source/common/unicode/unimatch.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] []
/src/icu/icu4c/source/i18n/nfsubs.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/udatamem.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/fmtable.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/formatted_string_builder.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/uchar.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uiter.cpp [] []
/src/icu/icu4c/source/i18n/collationweights.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/ucnv_u16.cpp [] []
/src/icu/icu4c/source/i18n/numfmt.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/regeximp.cpp [] []
/src/icu/icu4c/source/common/locavailable.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uvector.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/udataswp.cpp [] []
/src/icu/icu4c/source/common/locid.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/ucnv_u8.cpp [] []
/src/icu/icu4c/source/common/rbbiscan.cpp [] []
/src/icu/icu4c/source/common/umath.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['collator_compare_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/test/fuzzer/uloc_canonicalize_fuzzer.cpp ['uloc_canonicalize_fuzzer'] ['uloc_canonicalize_fuzzer']
/src/icu/icu4c/source/common/unisetspan.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] []
/src/icu/icu4c/source/common/utypes.cpp [] []
/src/icu/icu4c/source/i18n/number_usageprefs.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/numparse_compositions.h [] []
/src/icu/icu4c/source/test/fuzzer/locale_fuzzer.cpp ['locale_fuzzer'] ['locale_fuzzer']
/src/icu/icu4c/source/i18n/unicode/displayoptions.h [] []
/src/icu/icu4c/source/i18n/collationfastlatinbuilder.cpp [] []
/src/icu/icu4c/source/common/unistr.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/unicode/measure.h [] []
/src/icu/icu4c/source/common/simpleformatter.cpp [] []
/src/icu/icu4c/source/i18n/double-conversion-fast-dtoa.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/decNumber.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/uresbund.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uinvchar.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/ustr_cnv.cpp ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer'] []
/src/icu/icu4c/source/common/ubidi_props.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/common/lstmbe.cpp [] []
/src/icu/icu4c/source/i18n/plurrule.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/messageimpl.h [] []
/src/icu/icu4c/source/i18n/collation.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/ucnvmbcs.cpp [] []
/src/icu/icu4c/source/common/ucnv_cnv.cpp ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer'] ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
/src/icu/icu4c/source/i18n/utf16collationiterator.cpp [] []
/src/icu/icu4c/source/common/unistr_titlecase_brkiter.cpp ['uregex_open_fuzzer'] []
/src/icu/icu4c/source/i18n/collationrootelements.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/unicode/edits.h ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/units_complexconverter.cpp [] []
/src/icu/icu4c/source/common/locbased.h ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_scientific.cpp [] []
/src/icu/icu4c/source/common/normalizer2impl.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/collationdatawriter.cpp [] []
/src/icu/icu4c/source/common/uhash_us.cpp [] []
/src/icu/icu4c/source/common/ucln_cmn.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/unicode/utext.h [] []
/src/icu/icu4c/source/i18n/number_roundingutils.h [] []
/src/icu/icu4c/source/common/sharedobject.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_scientific.h [] []
/src/icu/icu4c/source/i18n/number_utils.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/collationsets.cpp [] []
/src/icu/icu4c/source/i18n/double-conversion-diy-fp.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/propname.cpp ['uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['uloc_is_right_to_left_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/collationiterator.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/unistr_case.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/number_grouping.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/utf_impl.cpp ['unicode_string_codepage_create_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['ucasemap_fuzzer']
/src/icu/icu4c/source/i18n/numparse_impl.h [] []
/src/icu/icu4c/source/common/rbbi_cache.h [] []
/src/icu/icu4c/source/common/unicode/utypes.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uniquecharstr.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/unicode/tblcoll.h ['collator_rulebased_fuzzer'] []
/src/icu/icu4c/source/common/servls.cpp ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/common/unisetspan.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] []
/src/icu/icu4c/source/i18n/rbnf.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/collationruleparser.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/bmpset.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/cpputils.h [] []
/src/icu/icu4c/source/i18n/number_utils.h [] []
/src/icu/icu4c/source/i18n/ucol.cpp [] []
/src/icu/icu4c/source/common/unicode/umutablecptrie.h [] []
/src/icu/icu4c/source/common/ulocimp.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/regexst.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/numparse_compositions.cpp [] []
/src/icu/icu4c/source/i18n/numparse_decimal.h [] []
/src/icu/icu4c/source/i18n/nfrlist.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/unicode/ures.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_formatimpl.cpp [] []
/src/icu/icu4c/source/common/normalizer2.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/unicode/uenum.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/regextxt.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/common/ucnvhz.cpp [] []
/src/icu/icu4c/source/common/unicode/unifilt.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] []
/src/icu/icu4c/source/i18n/plurfmt.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/emojiprops.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] []
/src/icu/icu4c/source/i18n/pluralranges.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/unicode/formattednumber.h [] []
/src/icu/icu4c/source/i18n/collationsettings.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/unicode/sortkey.h [] []
/src/icu/icu4c/source/common/unicode/unistr.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/utrie_swap.cpp [] []
/src/icu/icu4c/source/common/umutex.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/unicode/bytestream.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/ucharstrie.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/number_currencysymbols.h [] []
/src/icu/icu4c/source/common/unicode/ucharstriebuilder.h [] []
/src/icu/icu4c/source/i18n/coll.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/number_padding.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/edits.cpp ['ucasemap_fuzzer', 'uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/common/ustrtrns.cpp ['unicode_string_codepage_create_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/bytesinkutil.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/numparse_currency.h [] []
/src/icu/icu4c/source/common/ruleiter.h ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/ucurr.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/ucasemap_titlecase_brkiter.cpp ['ucasemap_fuzzer'] ['ucasemap_fuzzer']
/src/icu/icu4c/source/test/fuzzer/uloc_open_keywords_fuzzer.cpp ['uloc_open_keywords_fuzzer'] ['uloc_open_keywords_fuzzer']
/src/icu/icu4c/source/common/rbbi.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer']
/src/icu/icu4c/source/i18n/numparse_affixes.h [] []
/src/icu/icu4c/source/common/patternprops.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/ucnv_io.cpp ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer'] ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
/src/icu/icu4c/source/i18n/rematch.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/unicode/currunit.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/unicode/numsys.h [] []
/src/icu/icu4c/source/common/utext.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/currunit.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/utf8collationiterator.h [] []
/src/icu/icu4c/source/i18n/listformatter.cpp [] []
/src/icu/icu4c/source/common/static_unicode_sets.cpp [] []
/src/icu/icu4c/source/i18n/sharedpluralrules.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/test/fuzzer/uregex_open_fuzzer.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/number_integerwidth.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/collationruleparser.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/loclikely.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['uloc_is_right_to_left_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/unicode/uniset.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/servlkf.cpp ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/common/uarrsort.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/ucnvbocu.cpp [] []
/src/icu/icu4c/source/common/uniset_closure.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/common/ruleiter.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/uenum.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['uloc_open_keywords_fuzzer', 'converter_fuzzer']
/src/icu/icu4c/source/common/uloc_keytype.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/ustr_imp.h [] []
/src/icu/icu4c/source/i18n/utf8collationiterator.cpp [] []
/src/icu/icu4c/source/i18n/unicode/measunit.h [] []
/src/icu/icu4c/source/common/sharedobject.h ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/test/fuzzer/locale_util.cpp ['uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer'] ['uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer']
/src/icu/icu4c/source/i18n/curramt.cpp [] []
/src/icu/icu4c/source/i18n/sortkey.cpp [] []
/src/icu/icu4c/source/test/fuzzer/fuzzer_utils.h ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/test/fuzzer/converter_fuzzer.cpp ['converter_fuzzer'] ['converter_fuzzer']
/src/icu/icu4c/source/common/ustrcase_locale.cpp ['uregex_open_fuzzer'] []
/src/icu/icu4c/source/common/unicode/appendable.h [] []
/src/icu/icu4c/source/test/fuzzer/ucasemap_fuzzer.cpp ['ucasemap_fuzzer'] ['ucasemap_fuzzer']
/src/icu/icu4c/source/i18n/number_currencysymbols.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/stringpiece.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/cmemory.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/unicode/fmtable.h [] []
/src/icu/icu4c/source/i18n/double-conversion-bignum-dtoa.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/collationiterator.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/unames.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/charstrmap.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/serv.h ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/common/ustrcase.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/test/fuzzer/uloc_is_right_to_left_fuzzer.cpp ['uloc_is_right_to_left_fuzzer'] ['uloc_is_right_to_left_fuzzer']
/src/icu/icu4c/source/i18n/number_utypes.h [] []
/src/icu/icu4c/source/i18n/currpinf.cpp ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/number_longnames.h [] []
/src/icu/icu4c/source/common/brkeng.cpp [] []
/src/icu/icu4c/source/i18n/numparse_utils.h [] []
/src/icu/icu4c/source/common/rbbiscan.h [] []
/src/icu/icu4c/source/common/filteredbrk.cpp ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer'] []
/src/icu/icu4c/source/common/ulist.cpp [] []
/src/icu/icu4c/source/i18n/number_patternmodifier.h [] []
/src/icu/icu4c/source/test/fuzzer/unicode_string_codepage_create_fuzzer.cpp ['unicode_string_codepage_create_fuzzer'] ['unicode_string_codepage_create_fuzzer']
/src/icu/icu4c/source/i18n/numparse_validators.cpp [] []
/src/icu/icu4c/source/i18n/collationbuilder.cpp ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/common/udata.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uhash.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/test/fuzzer/collator_compare_fuzzer.cpp ['collator_compare_fuzzer'] ['collator_compare_fuzzer']
/src/icu/icu4c/source/i18n/units_converter.h [] []
/usr/local/bin/../include/c++/v1/math.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/emojiprops.h ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] []
/src/icu/icu4c/source/common/dictionarydata.h [] []
/src/icu/icu4c/source/common/uloc.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/regexcmp.cpp ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/common/ucnvisci.cpp [] []
/src/icu/icu4c/source/i18n/measunit.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/ucnvscsu.cpp [] []
/src/icu/icu4c/source/common/util.h [] []
/src/icu/icu4c/source/i18n/collationsets.h [] []
/src/icu/icu4c/source/i18n/numparse_affixes.cpp [] []
/src/icu/icu4c/source/i18n/numparse_scientific.cpp [] []
/src/icu/icu4c/source/i18n/regeximp.h ['uregex_open_fuzzer'] ['uregex_open_fuzzer']
/src/icu/icu4c/source/common/uresdata.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/unicode/stringtriebuilder.h [] []
/src/icu/icu4c/source/i18n/numparse_impl.cpp [] []
/src/icu/icu4c/source/common/unicode/rep.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/formatted_string_builder.cpp [] []
/src/icu/icu4c/source/i18n/number_affixutils.cpp ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/common/uvectr32.cpp ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/servlk.cpp [] []
/src/icu/icu4c/source/common/resbund.cpp [] []
/src/icu/icu4c/source/i18n/number_modifiers.h [] []
/src/icu/icu4c/source/i18n/numparse_symbols.h [] []
/src/icu/icu4c/source/common/uvectr64.cpp ['collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/common/ucnv_ext.cpp [] []
/src/icu/icu4c/source/common/uloc_tag.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/standardplural.h [] []
/src/icu/icu4c/source/common/unicode/char16ptr.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_mapper.h ['number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/units_router.cpp [] []
/src/icu/icu4c/source/common/unicode/uobject.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['number_format_fuzzer']
/src/icu/icu4c/source/i18n/number_compact.h [] []
/src/icu/icu4c/source/i18n/numparse_types.h [] []
/src/icu/icu4c/source/common/ustrfmt.cpp [] []
/src/icu/icu4c/source/common/locmap.cpp [] []
/src/icu/icu4c/source/common/localebuilder.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/common/servnotf.cpp ['collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] []
/src/icu/icu4c/source/common/ucnv_lmb.cpp [] []
/src/icu/icu4c/source/i18n/number_formatimpl.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/unicode/rbnf.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/common/ucnv_cb.cpp ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer'] ['unicode_string_codepage_create_fuzzer', 'converter_fuzzer']
/src/icu/icu4c/source/i18n/uitercollationiterator.h [] []
/src/icu/icu4c/source/i18n/collationfastlatin.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer'] ['collator_compare_fuzzer', 'collator_rulebased_fuzzer']
/src/icu/icu4c/source/i18n/numparse_validators.h [] []
/src/icu/icu4c/source/common/dictbe.cpp [] []
/src/icu/icu4c/source/common/unicode/messagepattern.h ['number_format_fuzzer'] []
/src/icu/icu4c/source/i18n/number_modifiers.cpp [] []
/src/icu/icu4c/source/common/capi_helper.h [] []
/src/icu/icu4c/source/common/unifunct.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/string_segment.cpp [] []
/src/icu/icu4c/source/common/appendable.cpp [] []
/src/icu/icu4c/source/common/resource.h ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer'] ['break_iterator_fuzzer', 'ucasemap_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/unifilt.cpp ['collator_compare_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer'] ['collator_rulebased_fuzzer', 'uregex_open_fuzzer']
/src/icu/icu4c/source/i18n/collationdatabuilder.h ['collator_rulebased_fuzzer'] ['collator_rulebased_fuzzer']
/src/icu/icu4c/source/test/fuzzer/break_iterator_fuzzer.cpp ['break_iterator_fuzzer'] ['break_iterator_fuzzer']
/src/icu/icu4c/source/common/putil.cpp ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'unicode_string_codepage_create_fuzzer', 'converter_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer']
/src/icu/icu4c/source/common/uprops.h [] []
/src/icu/icu4c/source/i18n/units_converter.cpp [] []
/src/icu/icu4c/source/common/uhash.h ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'collator_compare_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'uregex_open_fuzzer', 'number_format_fuzzer'] ['locale_fuzzer', 'uloc_get_name_fuzzer', 'uloc_canonicalize_fuzzer', 'uloc_for_language_tag_fuzzer', 'uloc_open_keywords_fuzzer', 'uloc_is_right_to_left_fuzzer', 'break_iterator_fuzzer', 'ucasemap_fuzzer', 'collator_rulebased_fuzzer', 'number_format_fuzzer']

Directories in report

Directory
/src/icu/icu4c/source/i18n/
/src/icu/icu4c/source/i18n/unicode/
/src/icu/icu4c/source/common/
/src/icu/icu4c/source/test/fuzzer/
/usr/local/bin/../include/c++/v1/
/src/icu/icu4c/source/common/unicode/

Metadata section

This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.

Fuzzer Calltree file Program data file Coverage file
locale_fuzzer fuzzerLogFile-0-Xm6v3PGsyh.data fuzzerLogFile-0-Xm6v3PGsyh.data.yaml locale_fuzzer.covreport
uloc_get_name_fuzzer fuzzerLogFile-0-LLGbXYMBC0.data fuzzerLogFile-0-LLGbXYMBC0.data.yaml uloc_get_name_fuzzer.covreport
uloc_canonicalize_fuzzer fuzzerLogFile-0-2eOd9G8yIo.data fuzzerLogFile-0-2eOd9G8yIo.data.yaml uloc_canonicalize_fuzzer.covreport
uloc_for_language_tag_fuzzer fuzzerLogFile-0-qjw9jA9Bap.data fuzzerLogFile-0-qjw9jA9Bap.data.yaml uloc_for_language_tag_fuzzer.covreport
uloc_open_keywords_fuzzer fuzzerLogFile-0-8RlHnD0REV.data fuzzerLogFile-0-8RlHnD0REV.data.yaml uloc_open_keywords_fuzzer.covreport
uloc_is_right_to_left_fuzzer fuzzerLogFile-0-yCfUUMAvy0.data fuzzerLogFile-0-yCfUUMAvy0.data.yaml uloc_is_right_to_left_fuzzer.covreport
unicode_string_codepage_create_fuzzer fuzzerLogFile-0-FuT22zitX3.data fuzzerLogFile-0-FuT22zitX3.data.yaml unicode_string_codepage_create_fuzzer.covreport
converter_fuzzer fuzzerLogFile-0-v9Umy5W3pf.data fuzzerLogFile-0-v9Umy5W3pf.data.yaml converter_fuzzer.covreport
collator_compare_fuzzer fuzzerLogFile-0-nICG23agZV.data fuzzerLogFile-0-nICG23agZV.data.yaml collator_compare_fuzzer.covreport
break_iterator_fuzzer fuzzerLogFile-0-dgfmzSH2kn.data fuzzerLogFile-0-dgfmzSH2kn.data.yaml break_iterator_fuzzer.covreport
ucasemap_fuzzer fuzzerLogFile-0-96Ew93tB4l.data fuzzerLogFile-0-96Ew93tB4l.data.yaml ucasemap_fuzzer.covreport
collator_rulebased_fuzzer fuzzerLogFile-0-wGijeDHsjb.data fuzzerLogFile-0-wGijeDHsjb.data.yaml collator_rulebased_fuzzer.covreport
uregex_open_fuzzer fuzzerLogFile-0-P8H6IYwmWh.data fuzzerLogFile-0-P8H6IYwmWh.data.yaml uregex_open_fuzzer.covreport
number_format_fuzzer fuzzerLogFile-0-DpYnNaasia.data fuzzerLogFile-0-DpYnNaasia.data.yaml number_format_fuzzer.covreport