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
uloc_is_right_to_left_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_is_right_to_left_fuzzer.cpp 664 828 33 60 10099 4994 uloc_is_right_to_left_fuzzer.cpp
locale_fuzzer /src/icu/icu4c/source/test/fuzzer/locale_fuzzer.cpp 645 850 31 55 9841 4895 locale_fuzzer.cpp
uloc_open_keywords_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_open_keywords_fuzzer.cpp 643 849 34 56 9837 4891 uloc_open_keywords_fuzzer.cpp
uloc_get_name_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_get_name_fuzzer.cpp 643 849 36 56 9837 4891 uloc_get_name_fuzzer.cpp
uloc_canonicalize_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_canonicalize_fuzzer.cpp 643 849 36 56 9837 4891 uloc_canonicalize_fuzzer.cpp
uloc_for_language_tag_fuzzer /src/icu/icu4c/source/test/fuzzer/uloc_for_language_tag_fuzzer.cpp 643 849 32 56 9835 4893 uloc_for_language_tag_fuzzer.cpp
unicode_string_codepage_create_fuzzer /src/icu/icu4c/source/test/fuzzer/unicode_string_codepage_create_fuzzer.cpp 218 1682 21 36 3104 1479 unicode_string_codepage_create_fuzzer.cpp
converter_fuzzer /src/icu/icu4c/source/test/fuzzer/converter_fuzzer.cpp 216 1694 19 35 2575 1271 converter_fuzzer.cpp
break_iterator_fuzzer /src/icu/icu4c/source/test/fuzzer/break_iterator_fuzzer.cpp 820 2620 41 82 12181 6129 break_iterator_fuzzer.cpp
ucasemap_fuzzer /src/icu/icu4c/source/test/fuzzer/ucasemap_fuzzer.cpp 839 2679 41 87 12685 6322 ucasemap_fuzzer.cpp
collator_compare_fuzzer /src/icu/icu4c/source/test/fuzzer/collator_compare_fuzzer.cpp 965 2302 35 104 15318 7136 collator_compare_fuzzer.cpp
collator_rulebased_fuzzer /src/icu/icu4c/source/test/fuzzer/collator_rulebased_fuzzer.cpp 1495 3229 32 136 23428 11170 collator_rulebased_fuzzer.cpp
uregex_open_fuzzer /src/icu/icu4c/source/test/fuzzer/uregex_open_fuzzer.cpp 1399 2373 44 136 24920 11785 uregex_open_fuzzer.cpp
number_format_fuzzer /src/icu/icu4c/source/test/fuzzer/number_format_fuzzer.cpp 1645 6929 41 159 23124 11429 number_format_fuzzer.cpp

Fuzzer details

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 1584 60.7%
gold [1:9] 211 8.09%
yellow [10:29] 23 0.88%
greenyellow [30:49] 58 2.22%
lawngreen 50+ 730 28.0%
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
9823 9823 2 :

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

9823 9960 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:2658
4900 9914 7 :

['getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'ures_close_72', 'U_SUCCESS(UErrorCode) [clone .2542]', 'icu_72::res_getString(icu_72::ResourceTracer const&, ResourceData const*, unsigned int, int*)', 'icu_72::ResourceTracer::ResourceTracer(void const*, char const*)', 'ures_getString_72', 'ures_getByKey_72']

4900 9914 ures_getStringByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2507
4900 9790 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 .2542]']

4900 9790 ures_getByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2452
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
4890 4890 1 :

['uloc_getDefault_72']

14705 19690 entryOpenDirect(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:973
4890 4890 1 :

['uloc_getDefault_72']

9849 15717 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:528
4890 4890 1 :

['uloc_getDefault_72']

4894 5491 _canonicalize(charconst*,icu_72::ByteSink&,unsignedint,UErrorCode*) call site /src/icu/icu4c/source/common/uloc.cpp:1534
4890 4890 1 :

['uloc_getDefault_72']

4890 5283 uloc_getCountry_72 call site /src/icu/icu4c/source/common/uloc.cpp:1764
4890 4890 1 :

['uloc_getDefault_72']

4890 5168 uloc_getScript_72 call site /src/icu/icu4c/source/common/uloc.cpp:1738
4890 4890 1 :

['uloc_getDefault_72']

4890 5072 uloc_getLanguage_72 call site /src/icu/icu4c/source/common/uloc.cpp:1721
812 980 12 :

['U_FAILURE(UErrorCode) [clone .5083]', 'icu_72::UDataPathIterator::next(UErrorCode*)', 'findBasename(char const*)', 'U_SUCCESS(UErrorCode) [clone .5085]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'icu_72::UDataPathIterator::~UDataPathIterator()', 'udata_checkCommonData_72', 'udata_findCachedData(char const*, UErrorCode&)', 'UDataMemory_isLoaded_72', 'icu_72::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_72', 'uprv_mapFile_72']

812 980 openCommonData(charconst*,int,UErrorCode*) call site /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 /src/icu/icu4c/source/common/uhash.cpp:484

Runtime coverage analysis

Covered functions
368
Functions that are reachable but not covered
318
Reachable functions
664
Percentage of reachable functions covered
52.11%
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: 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] 287 11.1%
yellow [10:29] 21 0.81%
greenyellow [30:49] 60 2.33%
lawngreen 50+ 577 22.4%
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
9823 9823 2 :

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

9823 9960 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:2658
5120 10092 8 :

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

5120 10092 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1941
4906 4906 1 :

['uloc_canonicalize_72']

10034 15040 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1866
4900 9790 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 .2542]']

4900 9790 ures_getByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2452
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
812 980 12 :

['U_FAILURE(UErrorCode) [clone .5083]', 'icu_72::UDataPathIterator::next(UErrorCode*)', 'findBasename(char const*)', 'U_SUCCESS(UErrorCode) [clone .5085]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'icu_72::UDataPathIterator::~UDataPathIterator()', 'udata_checkCommonData_72', 'udata_findCachedData(char const*, UErrorCode&)', 'UDataMemory_isLoaded_72', 'icu_72::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_72', 'uprv_mapFile_72']

812 980 openCommonData(charconst*,int,UErrorCode*) call site /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 /src/icu/icu4c/source/common/uhash.cpp:484
29 4928 2 :

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

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

['free_entry(UResourceDataEntry*)']

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

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

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

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

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

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

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

Runtime coverage analysis

Covered functions
348
Functions that are reachable but not covered
319
Reachable functions
645
Percentage of reachable functions covered
50.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/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_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] 16 0.62%
greenyellow [30:49] 62 2.41%
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
9823 9823 2 :

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

9823 9960 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:2658
4900 9790 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 .2542]']

4900 9790 ures_getByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2452
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
4890 4890 1 :

['uloc_getDefault_72']

14705 19690 entryOpenDirect(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:973
4890 4890 1 :

['uloc_getDefault_72']

9849 15717 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:528
4890 4890 1 :

['uloc_getDefault_72']

4890 5532 uloc_openKeywords_72 call site /src/icu/icu4c/source/common/uloc.cpp:1420
812 980 12 :

['U_FAILURE(UErrorCode) [clone .5083]', 'icu_72::UDataPathIterator::next(UErrorCode*)', 'findBasename(char const*)', 'U_SUCCESS(UErrorCode) [clone .5085]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'icu_72::UDataPathIterator::~UDataPathIterator()', 'udata_checkCommonData_72', 'udata_findCachedData(char const*, UErrorCode&)', 'UDataMemory_isLoaded_72', 'icu_72::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_72', 'uprv_mapFile_72']

812 980 openCommonData(charconst*,int,UErrorCode*) call site /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 /src/icu/icu4c/source/common/uhash.cpp:484
28 28 1 :

['free_entry(UResourceDataEntry*)']

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

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

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

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

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

['uprv_malloc_72', 'uprv_realloc_72']

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

Runtime coverage analysis

Covered functions
341
Functions that are reachable but not covered
329
Reachable functions
643
Percentage of reachable functions covered
48.83%
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_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] 59 2.30%
lawngreen 50+ 518 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
9823 9823 2 :

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

9823 9960 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:2658
5120 10092 8 :

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

5120 10092 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1941
4906 9816 3 :

['uprv_malloc_72', 'uloc_getName_72', 'uloc_canonicalize_72']

10034 19950 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1857
4900 9790 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 .2542]']

4900 9790 ures_getByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2452
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
812 980 12 :

['U_FAILURE(UErrorCode) [clone .5083]', 'icu_72::UDataPathIterator::next(UErrorCode*)', 'findBasename(char const*)', 'U_SUCCESS(UErrorCode) [clone .5085]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'icu_72::UDataPathIterator::~UDataPathIterator()', 'udata_checkCommonData_72', 'udata_findCachedData(char const*, UErrorCode&)', 'UDataMemory_isLoaded_72', 'icu_72::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_72', 'uprv_mapFile_72']

812 980 openCommonData(charconst*,int,UErrorCode*) call site /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 /src/icu/icu4c/source/common/uhash.cpp:484
29 4928 2 :

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

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

['free_entry(UResourceDataEntry*)']

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

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

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

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

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

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

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

Runtime coverage analysis

Covered functions
344
Functions that are reachable but not covered
321
Reachable functions
643
Percentage of reachable functions covered
50.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/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] 309 12.0%
yellow [10:29] 10 0.39%
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
9823 9823 2 :

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

9823 9960 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:2658
5120 10092 8 :

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

5120 10092 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1941
4900 9790 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 .2542]']

4900 9790 ures_getByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2452
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
812 980 12 :

['U_FAILURE(UErrorCode) [clone .5083]', 'icu_72::UDataPathIterator::next(UErrorCode*)', 'findBasename(char const*)', 'U_SUCCESS(UErrorCode) [clone .5085]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'icu_72::UDataPathIterator::~UDataPathIterator()', 'udata_checkCommonData_72', 'udata_findCachedData(char const*, UErrorCode&)', 'UDataMemory_isLoaded_72', 'icu_72::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_72', 'uprv_mapFile_72']

812 980 openCommonData(charconst*,int,UErrorCode*) call site /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 /src/icu/icu4c/source/common/uhash.cpp:484
29 4928 2 :

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

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

['free_entry(UResourceDataEntry*)']

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

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

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

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

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

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

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

['uprv_malloc_72', 'uprv_realloc_72']

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

Runtime coverage analysis

Covered functions
346
Functions that are reachable but not covered
319
Reachable functions
643
Percentage of reachable functions covered
50.39%
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] 232 9.04%
yellow [10:29] 13 0.50%
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
9823 9823 2 :

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

9823 9960 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:2658
4900 9790 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 .2542]']

4900 9790 ures_getByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2452
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
4890 4890 1 :

['uloc_getDefault_72']

14705 19690 entryOpenDirect(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:973
4890 4890 1 :

['uloc_getDefault_72']

9849 15717 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:528
812 980 12 :

['U_FAILURE(UErrorCode) [clone .5083]', 'icu_72::UDataPathIterator::next(UErrorCode*)', 'findBasename(char const*)', 'U_SUCCESS(UErrorCode) [clone .5085]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'icu_72::UDataPathIterator::~UDataPathIterator()', 'udata_checkCommonData_72', 'udata_findCachedData(char const*, UErrorCode&)', 'UDataMemory_isLoaded_72', 'icu_72::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_72', 'uprv_mapFile_72']

812 980 openCommonData(charconst*,int,UErrorCode*) call site /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 /src/icu/icu4c/source/common/uhash.cpp:484
28 28 1 :

['free_entry(UResourceDataEntry*)']

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

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

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

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

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

['uprv_malloc_72', 'uprv_realloc_72']

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

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

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

Runtime coverage analysis

Covered functions
290
Functions that are reachable but not covered
374
Reachable functions
643
Percentage of reachable functions covered
41.84%
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: 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] 5 0.82%
lawngreen 50+ 121 19.9%
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
1379 1379 4 :

['u_getDefaultConverter_72', 'icu_72::UnicodeString::setToUTF8(icu_72::StringPiece)', 'icu_72::StringPiece::StringPiece(char const*, int)', 'ucnv_getDefaultName_72']

1536 1810 icu_72::UnicodeString::doCodepageCreate(charconst*,int,charconst*) call site /src/icu/icu4c/source/common/unistr_cnv.cpp:316
1132 1136 2 :

['ucnv_canCreateConverter_72', 'uprv_free_72']

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

['ucnv_canCreateConverter_72']

1132 1132 _HZOpen(UConverter*,UConverterLoadArgs*,UErrorCode*) call site /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 /src/icu/icu4c/source/common/ucnv2022.cpp:2687
227 269 2 :

['udata_checkCommonData_72', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)']

267 309 openCommonData(charconst*,int,UErrorCode*) call site /src/icu/icu4c/source/common/udata.cpp:794
157 157 1 :

['u_releaseDefaultConverter_72']

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

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

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

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

128 128 _UTF16LEToUnicodeWithOffsets(UConverterToUnicodeArgs*,UErrorCode*) call site /src/icu/icu4c/source/common/ucnv_u16.cpp:867
97 97 1 :

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

97 97 ucnv_MBCSToUnicodeWithOffsets_72 call site /src/icu/icu4c/source/common/ucnvmbcs.cpp:2503
72 122 4 :

['U_FAILURE(UErrorCode) [clone .6036]', '_EBCDICSwapLFNL(UConverterSharedData*, UErrorCode*)', 'umtx_unlock_72', 'umtx_lock_72']

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

['ucnv_extContinueMatchToU_72']

166 371 ucnv_MBCSToUnicodeWithOffsets_72 call site /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 /src/icu/icu4c/source/common/uhash.cpp:484

Runtime coverage analysis

Covered functions
192
Functions that are reachable but not covered
85
Reachable functions
218
Percentage of reachable functions covered
61.01%
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
1143 1143 2 :

['u_getDefaultConverter_72', 'U_FAILURE(UErrorCode) [clone .2575]']

1300 1407 icu_72::UnicodeString::extract(char*,int,UConverter*,UErrorCode&)const call site /src/icu/icu4c/source/common/unistr_cnv.cpp:227
227 269 2 :

['udata_checkCommonData_72', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)']

267 309 openCommonData(charconst*,int,UErrorCode*) call site /src/icu/icu4c/source/common/udata.cpp:794
157 157 1 :

['u_releaseDefaultConverter_72']

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

['ucnv_MBCSSingleFromUnicodeWithOffsets(UConverterFromUnicodeArgs*, UErrorCode*)']

87 87 ucnv_MBCSFromUnicodeWithOffsets_72 call site /src/icu/icu4c/source/common/ucnvmbcs.cpp:4116
62 62 1 :

['ucnv_extContinueMatchFromU_72']

149 430 ucnv_MBCSFromUnicodeWithOffsets_72 call site /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 /src/icu/icu4c/source/common/uhash.cpp:484
36 36 2 :

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

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

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

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

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

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

['strlen']

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

['u_strlen_72']

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

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

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

Runtime coverage analysis

Covered functions
255
Functions that are reachable but not covered
68
Reachable functions
216
Percentage of reachable functions covered
68.52%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/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: 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.3%
gold [1:9] 344 10.9%
yellow [10:29] 36 1.14%
greenyellow [30:49] 27 0.85%
lawngreen 50+ 839 26.6%
All colors 3145 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
10578 15656 26 :

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

10578 15804 icu_72::(anonymousnamespace)::AliasReplacer::replace(icu_72::Localeconst&,icu_72::CharString&,UErrorCode&) call site /src/icu/icu4c/source/common/locid.cpp:1709
10119 10405 25 :

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

10119 10405 icu_72::(anonymousnamespace)::AliasReplacer::replaceTerritory(icu_72::UVector&,UErrorCode&) call site /src/icu/icu4c/source/common/locid.cpp:1379
5134 5134 2 :

['icu_72::LocalPointerBase ::orphan()', 'CreateLSTMData_72']

5134 5372 CreateLSTMDataForScript_72 call site /src/icu/icu4c/source/common/lstmbe.cpp:805
5131 10082 7 :

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

5131 10082 icu_72::BreakIterator::createInstance(icu_72::Localeconst&,int,UErrorCode&) call site /src/icu/icu4c/source/common/brkiter.cpp:376
5033 5033 1 :

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

5033 5033 (anonymousnamespace)::init_resb_result(UResourceDataEntry*,unsignedint,charconst*,int,UResourceDataEntry*,charconst*,int,UResourceBundle*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:1397
4900 9914 7 :

['getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'ures_close_72', 'U_SUCCESS(UErrorCode) [clone .2542]', 'icu_72::res_getString(icu_72::ResourceTracer const&, ResourceData const*, unsigned int, int*)', 'icu_72::ResourceTracer::ResourceTracer(void const*, char const*)', 'ures_getString_72', 'ures_getByKey_72']

4900 9914 ures_getStringByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2507
4900 4900 2 :

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

4900 9790 ures_getByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2450
4898 4995 3 :

['ures_getString_72', 'ures_getByIndex_72', 'ures_close_72']

4898 4995 ures_getStringWithAlias(UResourceBundleconst*,unsignedint,int,int*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:1709
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
4444 4444 3 :

['CreateLSTMBreakEngine_72', 'U_SUCCESS(UErrorCode) [clone .8588]', 'DeleteLSTMData_72']

4444 38703 icu_72::ICULanguageBreakFactory::loadEngineFor(int) call site /src/icu/icu4c/source/common/brkeng.cpp:173
1048 1048 3 :

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

1088 1217 icu_72::UnicodeSet::freeze() call site /src/icu/icu4c/source/common/uniset.cpp:2179
1036 1038 3 :

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

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

Runtime coverage analysis

Covered functions
875
Functions that are reachable but not covered
385
Reachable functions
820
Percentage of reachable functions covered
53.05%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/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 46
/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.4%
gold [1:9] 324 10.1%
yellow [10:29] 33 1.03%
greenyellow [30:49] 9 0.28%
lawngreen 50+ 894 28.0%
All colors 3188 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
15484 15656 26 :

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

15484 15804 icu_72::(anonymousnamespace)::AliasReplacer::replace(icu_72::Localeconst&,icu_72::CharString&,UErrorCode&) call site /src/icu/icu4c/source/common/locid.cpp:1709
10119 10405 25 :

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

10119 10405 icu_72::(anonymousnamespace)::AliasReplacer::replaceTerritory(icu_72::UVector&,UErrorCode&) call site /src/icu/icu4c/source/common/locid.cpp:1379
5134 5134 2 :

['icu_72::LocalPointerBase ::orphan()', 'CreateLSTMData_72']

5134 5372 CreateLSTMDataForScript_72 call site /src/icu/icu4c/source/common/lstmbe.cpp:805
5131 10082 7 :

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

5131 10082 icu_72::BreakIterator::createInstance(icu_72::Localeconst&,int,UErrorCode&) call site /src/icu/icu4c/source/common/brkiter.cpp:376
5033 5033 1 :

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

5033 5033 (anonymousnamespace)::init_resb_result(UResourceDataEntry*,unsignedint,charconst*,int,UResourceDataEntry*,charconst*,int,UResourceBundle*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:1397
4900 9914 7 :

['getFallbackData(UResourceBundle const*, char const**, unsigned int*, UErrorCode*)', 'ures_close_72', 'U_SUCCESS(UErrorCode) [clone .2542]', 'icu_72::res_getString(icu_72::ResourceTracer const&, ResourceData const*, unsigned int, int*)', 'icu_72::ResourceTracer::ResourceTracer(void const*, char const*)', 'ures_getString_72', 'ures_getByKey_72']

4900 9914 ures_getStringByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2507
4900 4900 2 :

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

4900 9790 ures_getByKey_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2450
4898 4995 3 :

['ures_getString_72', 'ures_getByIndex_72', 'ures_close_72']

4898 4995 ures_getStringWithAlias(UResourceBundleconst*,unsignedint,int,int*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:1709
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
4891 4891 1 :

['uloc_getLanguage_72']

4891 4990 ucasemap_setLocale_72 call site /src/icu/icu4c/source/common/ucasemap.cpp:107
4444 4444 3 :

['CreateLSTMBreakEngine_72', 'U_SUCCESS(UErrorCode) [clone .8588]', 'DeleteLSTMData_72']

4444 38703 icu_72::ICULanguageBreakFactory::loadEngineFor(int) call site /src/icu/icu4c/source/common/brkeng.cpp:173
1048 1048 3 :

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

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

Runtime coverage analysis

Covered functions
946
Functions that are reachable but not covered
387
Reachable functions
839
Percentage of reachable functions covered
53.87%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/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 49
/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_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 2667 76.8%
gold [1:9] 504 14.5%
yellow [10:29] 103 2.96%
greenyellow [30:49] 19 0.54%
lawngreen 50+ 178 5.12%
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
24677 24689 5 :

['uprv_stricmp_72', 'u_getPropertyValueEnum_72', 'icu_72::(anonymous namespace)::getReorderCode(char const*)', 'U_FAILURE(UErrorCode) [clone .109]', 'icu_72::Locale::getKeywordValue(char const*, char*, int, UErrorCode&) const']

24677 24689 icu_72::(anonymousnamespace)::setAttributesFromKeywords(icu_72::Localeconst&,icu_72::Collator&,UErrorCode&) call site /src/icu/icu4c/source/i18n/coll.cpp:322
6468 6468 1 :

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

6468 6468 icu_72::CollationLoader::createCacheEntry(UErrorCode&) call site /src/icu/icu4c/source/i18n/ucol_res.cpp:220
5133 10069 3 :

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

5133 15106 icu_72::Collator::createInstance(icu_72::Localeconst&,UErrorCode&) call site /src/icu/icu4c/source/i18n/coll.cpp:442
5120 10092 8 :

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

5120 10092 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1941
5033 5033 1 :

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

5033 5033 (anonymousnamespace)::init_resb_result(UResourceDataEntry*,unsignedint,charconst*,int,UResourceDataEntry*,charconst*,int,UResourceBundle*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:1397
4906 9816 3 :

['uprv_malloc_72', 'uloc_getName_72', 'uloc_canonicalize_72']

10034 19950 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1857
4904 4904 1 :

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

4904 5041 ures_openWithType(UResourceBundle*,charconst*,charconst*,UResOpenType,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:2658
4894 4894 1 :

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

4950 9990 init_entry(charconst*,charconst*,UErrorCode*) call site /src/icu/icu4c/source/common/uresbund.cpp:585
1494 3701 16 :

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

1494 3701 icu_72::RuleBasedCollator::doCompare(char16_tconst*,int,char16_tconst*,int,UErrorCode&)const call site /src/icu/icu4c/source/i18n/rulebasedcollator.cpp:994
1048 1048 3 :

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

1088 1217 icu_72::UnicodeSet::freeze() call site /src/icu/icu4c/source/common/uniset.cpp:2179
812 980 12 :

['U_FAILURE(UErrorCode) [clone .5083]', 'icu_72::UDataPathIterator::next(UErrorCode*)', 'findBasename(char const*)', 'U_SUCCESS(UErrorCode) [clone .5085]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'icu_72::UDataPathIterator::~UDataPathIterator()', 'udata_checkCommonData_72', 'udata_findCachedData(char const*, UErrorCode&)', 'UDataMemory_isLoaded_72', 'icu_72::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_72', 'uprv_mapFile_72']

812 980 openCommonData(charconst*,int,UErrorCode*) call site /src/icu/icu4c/source/common/udata.cpp:685
466 5456 13 :

['U_FAILURE(UErrorCode) [clone .2534]', 'ures_freeResPath(UResourceBundle*)', 'icu_72::CharString::CharString()', 'strcmp', 'strchr', 'icu_72::CharString::~CharString()', 'strlen', 'res_findResource_72', 'createPath(char const*, int, char const*, int, char const*, icu_72::CharString&, UErrorCode*)', 'icu_72::CharString::length() const', 'icu_72::CharString::data()', 'ures_appendResPath(UResourceBundle*, char const*, int, UErrorCode*)', 'uloc_getDefault_72']

466 15374 ures_getByKeyWithFallback_72 call site /src/icu/icu4c/source/common/uresbund.cpp:2182

Runtime coverage analysis

Covered functions
513
Functions that are reachable but not covered
628
Reachable functions
965
Percentage of reachable functions covered
34.92%
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: 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 2177 41.2%
gold [1:9] 501 9.48%
yellow [10:29] 82 1.55%
greenyellow [30:49] 79 1.49%
lawngreen 50+ 2441 46.2%
All colors 5280 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
5120 10092 8 :

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

5120 10092 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1941
4906 9816 3 :

['uprv_malloc_72', 'uloc_getName_72', 'uloc_canonicalize_72']

10034 19950 icu_72::Locale::init(charconst*,signedchar) call site /src/icu/icu4c/source/common/locid.cpp:1857
4894 4894 1 :

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

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

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

1088 1217 icu_72::UnicodeSet::freeze() call site /src/icu/icu4c/source/common/uniset.cpp:2179
1036 1038 3 :

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

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

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

352 549 icu_72::Normalizer2Impl::makeFCD(char16_tconst*,char16_tconst*,icu_72::ReorderingBuffer*,UErrorCode&)const call site /src/icu/icu4c/source/common/normalizer2impl.cpp:2384
301 331 4 :

['icu_72::UMemory::operator delete(void*)', 'icu_72::UnicodeSet::setToBogus()', 'icu_72::UnicodeSetStringSpan::UnicodeSetStringSpan(icu_72::UnicodeSetStringSpan const&, icu_72::UVector const&)', 'icu_72::UMemory::operator new(unsigned long)']

301 354 icu_72::UnicodeSet::copyFrom(icu_72::UnicodeSetconst&,signedchar) call site /src/icu/icu4c/source/common/uniset.cpp:244
227 269 2 :

['udata_checkCommonData_72', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)']

267 309 openCommonData(charconst*,int,UErrorCode*) call site /src/icu/icu4c/source/common/udata.cpp:794
166 166 1 :

['ulocimp_getKeywords_72']

166 264 _canonicalize(charconst*,icu_72::ByteSink&,unsignedint,UErrorCode*) call site /src/icu/icu4c/source/common/uloc.cpp:1663
156 196 3 :

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

508 745 icu_72::Normalizer2Impl::makeFCD(char16_tconst*,char16_tconst*,icu_72::ReorderingBuffer*,UErrorCode&)const call site /src/icu/icu4c/source/common/normalizer2impl.cpp:2280
156 156 3 :

['u_strchr_72', 'U_FAILURE(UErrorCode) [clone .11335]', 'icu_72::Normalizer2Impl::copyLowPrefixFromNulTerminated(char16_t const*, int, icu_72::ReorderingBuffer*, UErrorCode&) const']

156 450 icu_72::Normalizer2Impl::decompose(char16_tconst*,char16_tconst*,icu_72::ReorderingBuffer*,UErrorCode&)const call site /src/icu/icu4c/source/common/normalizer2impl.cpp:590
152 152 1 :

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

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

Runtime coverage analysis

Covered functions
1433
Functions that are reachable but not covered
433
Reachable functions
1495
Percentage of reachable functions covered
71.04%
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 7
/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 3609 62.0%
gold [1:9] 238 4.09%
yellow [10:29] 58 0.99%
greenyellow [30:49] 12 0.20%
lawngreen 50+ 1898 32.6%
All colors 5815 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
27987 27987 7 :

['icu_72::UnicodeString::toUpper(icu_72::Locale const&)', 'icu_72::UnicodeString::toLower(icu_72::Locale const&)', 'icu_72::UnicodeString::toTitle(icu_72::BreakIterator*, icu_72::Locale const&)', 'icu_72::BreakIterator::createWordInstance(icu_72::Locale const&, UErrorCode&)', 'icu_72::Locale::~Locale()', 'icu_72::Locale::Locale(char const*, char const*, char const*, char const*)', 'U_SUCCESS(UErrorCode) [clone .15587]']

27987 29999 icu_72::UnicodeSet::closeOver(int) call site /src/icu/icu4c/source/common/uniset_closure.cpp:208
11691 11691 1 :

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

11691 11872 uregex_open_72 call site /src/icu/icu4c/source/i18n/uregex.cpp:156
8814 105592 18 :

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

8814 105891 icu_72::RegexCompile::createSetForProperty(icu_72::UnicodeStringconst&,signedchar) call site /src/icu/icu4c/source/i18n/regexcmp.cpp:4484
1048 1048 3 :

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

1088 1217 icu_72::UnicodeSet::freeze() call site /src/icu/icu4c/source/common/uniset.cpp:2179
1036 1038 3 :

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

1036 5150 (anonymousnamespace)::makeSet(UProperty,UErrorCode&) call site /src/icu/icu4c/source/common/characterproperties.cpp:279
812 980 12 :

['U_FAILURE(UErrorCode) [clone .5083]', 'icu_72::UDataPathIterator::next(UErrorCode*)', 'findBasename(char const*)', 'U_SUCCESS(UErrorCode) [clone .5085]', 'udata_cacheDataItem(char const*, UDataMemory*, UErrorCode*)', 'icu_72::UDataPathIterator::~UDataPathIterator()', 'udata_checkCommonData_72', 'udata_findCachedData(char const*, UErrorCode&)', 'UDataMemory_isLoaded_72', 'icu_72::UDataPathIterator::UDataPathIterator(char const*, char const*, char const*, char const*, signed char, UErrorCode*)', 'u_getDataDirectory_72', 'uprv_mapFile_72']

812 980 openCommonData(charconst*,int,UErrorCode*) call site /src/icu/icu4c/source/common/udata.cpp:685
301 331 4 :

['icu_72::UMemory::operator delete(void*)', 'icu_72::UnicodeSet::setToBogus()', 'icu_72::UnicodeSetStringSpan::UnicodeSetStringSpan(icu_72::UnicodeSetStringSpan const&, icu_72::UVector const&)', 'icu_72::UMemory::operator new(unsigned long)']

301 354 icu_72::UnicodeSet::copyFrom(icu_72::UnicodeSetconst&,signedchar) call site /src/icu/icu4c/source/common/uniset.cpp:244
54 109 2 :

['u_memchr_72', 'u_strchr_72']

54 109 u_strFindFirst_72 call site /src/icu/icu4c/source/common/ustring.cpp:121
52 52 1 :

['_uhash_remove(UHashtable*, UElement)']

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

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

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

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

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

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

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

Runtime coverage analysis

Covered functions
659
Functions that are reachable but not covered
835
Reachable functions
1399
Percentage of reachable functions covered
40.31%
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 24
/src/icu/icu4c/source/common/uniset.cpp 61
/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 5
/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 7
/src/icu/icu4c/source/common/uprops.cpp 8
/src/icu/icu4c/source/common/unicode/localpointer.h 58
/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 21
/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 6
/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 3709 63.1%
gold [1:9] 330 5.61%
yellow [10:29] 49 0.83%
greenyellow [30:49] 6 0.10%
lawngreen 50+ 1780 30.3%
All colors 5874 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
16570 21953 18 :

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

16570 22546 icu_72::NumberFormat::makeInstance(icu_72::Localeconst&,UNumberFormatStyle,signedchar,UErrorCode&) call site /src/icu/icu4c/source/i18n/numfmt.cpp:1432
15445 15656 26 :

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

15445 15804 icu_72::(anonymousnamespace)::AliasReplacer::replace(icu_72::Localeconst&,icu_72::CharString&,UErrorCode&) call site /src/icu/icu4c/source/common/locid.cpp:1709
10145 10405 25 :

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

10145 10405 icu_72::(anonymousnamespace)::AliasReplacer::replaceTerritory(icu_72::UVector&,UErrorCode&) call site /src/icu/icu4c/source/common/locid.cpp:1379
8742 17332 6 :

['icu_72::numparse::impl::MinusSignMatcher::MinusSignMatcher(icu_72::DecimalFormatSymbols const&, bool)', 'icu_72::numparse::impl::PlusSignMatcher::PlusSignMatcher(icu_72::DecimalFormatSymbols const&, bool)', 'icu_72::numparse::impl::MinusSignMatcher::~MinusSignMatcher()', 'icu_72::numparse::impl::PlusSignMatcher::~PlusSignMatcher()', 'icu_72::numparse::impl::MinusSignMatcher::operator=(icu_72::numparse::impl::MinusSignMatcher&&)', 'icu_72::numparse::impl::PlusSignMatcher::operator=(icu_72::numparse::impl::PlusSignMatcher&&)']

18288 62061 icu_72::numparse::impl::NumberParserImpl::createParserFromProperties(icu_72::number::impl::DecimalFormatPropertiesconst&,icu_72::DecimalFormatSymbolsconst&,bool,UErrorCode&) call site /src/icu/icu4c/source/i18n/numparse_impl.cpp:164
8666 8666 3 :

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

35620 79406 icu_72::numparse::impl::NumberParserImpl::createParserFromProperties(icu_72::number::impl::DecimalFormatPropertiesconst&,icu_72::DecimalFormatSymbolsconst&,bool,UErrorCode&) call site /src/icu/icu4c/source/i18n/numparse_impl.cpp:153
8666 8666 3 :

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

26954 70731 icu_72::numparse::impl::NumberParserImpl::createParserFromProperties(icu_72::number::impl::DecimalFormatPropertiesconst&,icu_72::DecimalFormatSymbolsconst&,bool,UErrorCode&) call site /src/icu/icu4c/source/i18n/numparse_impl.cpp:156
8664 8664 3 :

['icu_72::numparse::impl::PaddingMatcher::operator=(icu_72::numparse::impl::PaddingMatcher&&)', 'icu_72::numparse::impl::PaddingMatcher::PaddingMatcher(icu_72::UnicodeString const&)', 'icu_72::numparse::impl::PaddingMatcher::~PaddingMatcher()']

9392 27250 icu_72::numparse::impl::NumberParserImpl::createParserFromProperties(icu_72::number::impl::DecimalFormatPropertiesconst&,icu_72::DecimalFormatSymbolsconst&,bool,UErrorCode&) call site /src/icu/icu4c/source/i18n/numparse_impl.cpp:171
8187 8189 2 :

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

8187 8466 icu_72::NumberFormat::makeInstance(icu_72::Localeconst&,UNumberFormatStyle,signedchar,UErrorCode&) call site /src/icu/icu4c/source/i18n/numfmt.cpp:1493
6428 6554 11 :

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

6428 14884 icu_72::DecimalFormat::DecimalFormat(icu_72::UnicodeStringconst&,icu_72::DecimalFormatSymbols*,UNumberFormatStyle,UErrorCode&) call site /src/icu/icu4c/source/i18n/decimfmt.cpp:93
5778 5791 2 :

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

5921 5992 icu_72::DecimalFormat::DecimalFormat(icu_72::DecimalFormatSymbolsconst*,UErrorCode&) call site /src/icu/icu4c/source/i18n/decimfmt.cpp:114
5673 5673 1 :

['icu_72::number::CurrencyPrecision::withCurrency(icu_72::CurrencyUnit const&) const']

11997 13941 icu_72::number::impl::NumberPropertyMapper::oldToNew(icu_72::number::impl::DecimalFormatPropertiesconst&,icu_72::DecimalFormatSymbolsconst&,icu_72::number::impl::DecimalFormatWarehouse&,icu_72::number::impl::DecimalFormatProperties*,UErrorCode&) call site /src/icu/icu4c/source/i18n/number_mapper.cpp:131
5670 5670 1 :

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

6227 7154 icu_72::number::impl::NumberPropertyMapper::oldToNew(icu_72::number::impl::DecimalFormatPropertiesconst&,icu_72::DecimalFormatSymbolsconst&,icu_72::number::impl::DecimalFormatWarehouse&,icu_72::number::impl::DecimalFormatProperties*,UErrorCode&) call site /src/icu/icu4c/source/i18n/number_mapper.cpp:279

Runtime coverage analysis

Covered functions
1273
Functions that are reachable but not covered
889
Reachable functions
1645
Percentage of reachable functions covered
45.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/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 104
/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 29
/src/icu/icu4c/source/i18n/number_decimfmtprops.h 4
/src/icu/icu4c/source/i18n/currunit.cpp 5
/src/icu/icu4c/source/i18n/measunit.cpp 11
/src/icu/icu4c/source/i18n/measunit_impl.h 3
/src/icu/icu4c/source/i18n/unicode/numberformatter.h 24
/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 8
/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_72::number::impl::MixedUnitLongNameHandler::processQuantity(icu_72::number::impl::DecimalQuantity&,icu_72::number::impl::MicroProps&,UErrorCode&)const /src/icu/icu4c/source/i18n/number_longnames.cpp 4 ['class.icu_72::number::impl::MixedUnitLongNameHandler *', 'class.icu_72::number::impl::DecimalQuantity *', 'struct.icu_72::number::impl::MicroProps *', 'int *'] 38 0 55 6 3 2297 0 16561 5283
icu_72::DecimalFormat::parseCurrency(icu_72::UnicodeStringconst&,icu_72::ParsePosition&)const /src/icu/icu4c/source/i18n/decimfmt.cpp 3 ['class.icu_72::DecimalFormat *', 'class.icu_72::UnicodeString *', 'class.icu_72::ParsePosition *'] 37 0 339 68 56 1763 0 12629 1400
icu_72::RuleBasedBreakIterator::RuleBasedBreakIterator(icu_72::UnicodeStringconst&,UParseError&,UErrorCode&) /src/icu/icu4c/source/common/rbbi.cpp 4 ['class.icu_72::RuleBasedBreakIterator *', 'class.icu_72::UnicodeString *', 'struct.UParseError *', 'int *'] 23 0 101 17 17 806 0 6010 1317
uregex_replaceFirst_72 /src/icu/icu4c/source/i18n/uregex.cpp 6 ['struct.URegularExpression *', 'N/A', 'int ', 'N/A', 'int ', 'int *'] 38 0 133 21 9 861 0 7221 1052
icu_72::CollationBuilder::addRelation(int,icu_72::UnicodeStringconst&,icu_72::UnicodeStringconst&,icu_72::UnicodeStringconst&,charconst*&,UErrorCode&) /src/icu/icu4c/source/i18n/collationbuilder.cpp 7 ['class.icu_72::CollationBuilder *', 'int ', 'class.icu_72::UnicodeString *', 'class.icu_72::UnicodeString *', 'class.icu_72::UnicodeString *', 'char **', 'int *'] 13 0 665 123 116 559 0 3107 820
icu_72::FractionalPartSubstitution::doParse(icu_72::UnicodeStringconst&,icu_72::ParsePosition&,double,double,signedchar,unsignedint,icu_72::Formattable&)const /src/icu/icu4c/source/i18n/nfsubs.cpp 8 ['class.icu_72::FractionalPartSubstitution *', 'class.icu_72::UnicodeString *', 'class.icu_72::ParsePosition *', 'N/A', 'N/A', 'char ', 'int ', 'class.icu_72::Formattable *'] 29 0 409 79 63 2521 0 18250 772
icu_72::CollationDataBuilder::build(icu_72::CollationData&,UErrorCode&) /src/icu/icu4c/source/i18n/collationdatabuilder.cpp 3 ['class.icu_72::CollationDataBuilder *', 'struct.icu_72::CollationData *', 'int *'] 20 0 81 6 3 841 0 5615 600

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

Functions statically reachable by fuzzers
43.29%
4013/9271
Cyclomatic complexity statically reachable by fuzzers
49.02%
32441 / 66175

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

Directories in report

Directory
/src/icu/icu4c/source/i18n/
/src/icu/icu4c/source/test/fuzzer/
/src/icu/icu4c/source/common/
/usr/local/bin/../include/c++/v1/
/src/icu/icu4c/source/common/unicode/
/src/icu/icu4c/source/i18n/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
uloc_is_right_to_left_fuzzer fuzzerLogFile-0-iqOaKhABvU.data fuzzerLogFile-0-iqOaKhABvU.data.yaml uloc_is_right_to_left_fuzzer.covreport
locale_fuzzer fuzzerLogFile-0-y6sOv0rdpm.data fuzzerLogFile-0-y6sOv0rdpm.data.yaml locale_fuzzer.covreport
uloc_open_keywords_fuzzer fuzzerLogFile-0-tawAFk4pzd.data fuzzerLogFile-0-tawAFk4pzd.data.yaml uloc_open_keywords_fuzzer.covreport
uloc_get_name_fuzzer fuzzerLogFile-0-vTJNc4tHlO.data fuzzerLogFile-0-vTJNc4tHlO.data.yaml uloc_get_name_fuzzer.covreport
uloc_canonicalize_fuzzer fuzzerLogFile-0-4Pxn8iMRzq.data fuzzerLogFile-0-4Pxn8iMRzq.data.yaml uloc_canonicalize_fuzzer.covreport
uloc_for_language_tag_fuzzer fuzzerLogFile-0-q2wdhXUiAe.data fuzzerLogFile-0-q2wdhXUiAe.data.yaml uloc_for_language_tag_fuzzer.covreport
unicode_string_codepage_create_fuzzer fuzzerLogFile-0-LyZLNS9ltB.data fuzzerLogFile-0-LyZLNS9ltB.data.yaml unicode_string_codepage_create_fuzzer.covreport
converter_fuzzer fuzzerLogFile-0-bpNt6MBBbU.data fuzzerLogFile-0-bpNt6MBBbU.data.yaml converter_fuzzer.covreport
break_iterator_fuzzer fuzzerLogFile-0-3yYalF76Uy.data fuzzerLogFile-0-3yYalF76Uy.data.yaml break_iterator_fuzzer.covreport
ucasemap_fuzzer fuzzerLogFile-0-iSzjsih0Ww.data fuzzerLogFile-0-iSzjsih0Ww.data.yaml ucasemap_fuzzer.covreport
collator_compare_fuzzer fuzzerLogFile-0-qWyC0eSUUh.data fuzzerLogFile-0-qWyC0eSUUh.data.yaml collator_compare_fuzzer.covreport
collator_rulebased_fuzzer fuzzerLogFile-0-G6aTy0UEQI.data fuzzerLogFile-0-G6aTy0UEQI.data.yaml collator_rulebased_fuzzer.covreport
uregex_open_fuzzer fuzzerLogFile-0-XoaQkjtoVs.data fuzzerLogFile-0-XoaQkjtoVs.data.yaml uregex_open_fuzzer.covreport
number_format_fuzzer fuzzerLogFile-0-in1XLVd2Tx.data fuzzerLogFile-0-in1XLVd2Tx.data.yaml number_format_fuzzer.covreport