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

Fuzzer details

Fuzzer: fuzz_asyoutypeformatter

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 1405 66.5%
gold [1:9] 305 14.4%
yellow [10:29] 64 3.03%
greenyellow [30:49] 11 0.52%
lawngreen 50+ 327 15.4%
All colors 2112 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
369 375 6 :

['icu_66::RegexMatcher::group(int, UErrorCode&) const', 'std::__1::basic_string , std::__1::allocator >::operator=[abi:ne180100](std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'i18n::phonenumbers::(anonymous namespace)::UnicodeStringToUtf8String(icu_66::UnicodeString const&)', 'i18n::phonenumbers::scoped_ptr >::operator->() const', 'icu_66::UnicodeString::~UnicodeString()']

471 485 i18n::phonenumbers::IcuRegExp::Match(std::__1::basic_string ,std::__1::allocator >const&,bool,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:183
72 356 5 :

['i18n::phonenumbers::PhoneNumberDesc::PhoneNumberDesc(i18n::phonenumbers::PhoneNumberDesc const&)', 'operator delete(void*)', 'google::protobuf::RepeatedPtrField ::~RepeatedPtrField()', 'google::protobuf::MessageLite::~MessageLite()', 'operator new(unsigned long)']

72 356 i18n::phonenumbers::PhoneMetadata::PhoneMetadata(i18n::phonenumbers::PhoneMetadataconst&) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.cc:1129
59 113 5 :

['i18n::phonenumbers::LoggerHandler::~LoggerHandler()', 'i18n::phonenumbers::UnicodeText::Repr::Copy(char const*, int)', 'i18n::phonenumbers::ConvertToInterchangeValid(char*, int)', 'i18n::phonenumbers::LOG(int)', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [39])']

59 113 i18n::phonenumbers::UnicodeText::PointToUTF8(charconst*,int) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc:273
4 4 1 :

['i18n::phonenumbers::UnicodeText::Repr::clear()']

4 4 i18n::phonenumbers::UnicodeText::Repr::resize(int) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc:128
0 610 1 :

['i18n::phonenumbers::PhoneMetadata::CopyFrom(i18n::phonenumbers::PhoneMetadata const&)']

4 614 i18n::phonenumbers::PhoneMetadata::operator=(i18n::phonenumbers::PhoneMetadata&&) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.h:557
0 163 1 :

['i18n::phonenumbers::UnicodeString::UnicodeString(char const*)']

0 163 i18n::phonenumbers::UnicodeString::tempSubString(int,int)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/unicodestring.cc:91
0 117 1 :

['i18n::phonenumbers::UnicodeText::PointToUTF8(char const*, int)']

0 129 i18n::phonenumbers::UTF8ToUnicodeText(charconst*,int,bool) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.h:438
0 0 None 10922 11799 i18n::phonenumbers::IcuRegExp::Replace(std::__1::basic_string ,std::__1::allocator >*,bool,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:193
0 0 None 9965 10296 i18n::phonenumbers::IcuRegExp::Match(std::__1::basic_string ,std::__1::allocator >const&,bool,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:170
0 0 None 6014 6584 i18n::phonenumbers::IcuRegExp::Replace(std::__1::basic_string ,std::__1::allocator >*,bool,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:207
0 0 None 1547 1659 i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil() call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:872
0 0 None 1547 1649 i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil() call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:884

Runtime coverage analysis

Covered functions
356
Functions that are reachable but not covered
1242
Reachable functions
1811
Percentage of reachable functions covered
31.42%
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/libphonenumber/cpp/build/../test/phonenumbers/fuzz_asyoutypeformatter.cc 1
/src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc 24
/src/libphonenumber/cpp/src/phonenumbers/base/memory/singleton_posix.h 4
/src/libphonenumber/cpp/src/phonenumbers/logger.h 5
/src/libphonenumber/cpp/src/phonenumbers/base/memory/scoped_ptr.h 109
/src/libphonenumber/cpp/src/phonenumbers/regex_based_matcher.cc 1
/src/libphonenumber/cpp/src/phonenumbers/matcher_api.h 2
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.h 1
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter.h 6
/src/libphonenumber/cpp/src/phonenumbers/regexp_cache.cc 3
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock_posix.h 4
/src/libphonenumber/cpp/src/phonenumbers/stringutil.cc 16
/usr/local/include/absl/strings/str_cat.h 10
/usr/local/include/absl/strings/string_view.h 15
/src/abseil-cpp/absl/strings/numbers.cc 7
/src/abseil-cpp/absl/strings/numbers.h 1
/src/abseil-cpp/absl/strings/str_cat.cc 7
/src/abseil-cpp/absl/strings/internal/resize_uninitialized.h 4
/src/libphonenumber/cpp/src/phonenumbers/encoding_utils.h 1
/src/libphonenumber/cpp/src/phonenumbers/utf/rune.c 4
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock.h 2
/usr/local/include/absl/container/node_hash_set.h 8
/usr/local/include/absl/container/internal/raw_hash_set.h 166
/usr/local/include/absl/container/internal/compressed_tuple.h 44
/usr/local/include/absl/utility/utility.h 9
/usr/local/include/absl/container/node_hash_map.h 16
/usr/local/include/absl/container/internal/raw_hash_map.h 4
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.h 32
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.cc 14
/usr/local/include/google/protobuf/message_lite.h 4
/usr/local/include/google/protobuf/metadata_lite.h 6
/usr/local/include/google/protobuf/repeated_field.h 32
/usr/local/include/google/protobuf/generated_message_util.h 3
/src/protobuf/src/google/protobuf/generated_message_util.cc 5
/src/protobuf/src/google/protobuf/stubs/common.cc 7
/src/protobuf/src/google/protobuf/stubs/common.h 1
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/protobuf/src/google/protobuf/generated_message_util.h 1
/src/protobuf/src/google/protobuf/message_lite.cc 9
/src/protobuf/src/google/protobuf/stubs/mutex.h 5
/usr/local/include/google/protobuf/arenastring.h 9
/src/protobuf/src/google/protobuf/repeated_field.h 12
/usr/local/include/google/protobuf/arena.h 3
/src/protobuf/src/google/protobuf/arena.cc 13
/src/libphonenumber/cpp/src/phonenumbers/metadata.cc 2
/usr/local/include/google/protobuf/stubs/stringpiece.h 1
/src/protobuf/src/google/protobuf/message_lite.h 2
/src/protobuf/src/google/protobuf/io/coded_stream.h 1
/src/protobuf/src/google/protobuf/parse_context.h 4
/src/protobuf/src/google/protobuf/stubs/stringpiece.h 2
/usr/local/include/google/protobuf/parse_context.h 1
/src/libphonenumber/cpp/src/phonenumbers/default_logger.h 15
/src/libphonenumber/cpp/src/phonenumbers/region_code.h 2
/usr/local/include/absl/container/internal/hash_policy_traits.h 27
/usr/local/include/absl/container/internal/container_memory.h 36
/usr/local/include/absl/base/internal/prefetch.h 1
/usr/local/include/absl/hash/internal/hash.h 21
/usr/local/include/absl/numeric/bits.h 1
/usr/local/include/absl/container/internal/node_slot_policy.h 12
/src/abseil-cpp/absl/container/internal/raw_hash_set.h 4
/src/abseil-cpp/absl/container/internal/raw_hash_set.cc 3
/src/abseil-cpp/absl/numeric/bits.h 2
/usr/local/include/absl/container/internal/hashtablez_sampler.h 5
/usr/local/include/absl/memory/memory.h 20
/usr/local/include/absl/container/internal/hash_function_defaults.h 2
/src/abseil-cpp/absl/hash/internal/hash.cc 2
/src/abseil-cpp/absl/hash/internal/low_level_hash.cc 2
/usr/local/include/absl/base/internal/unaligned_access.h 2
/src/abseil-cpp/absl/numeric/int128.h 7
/src/libphonenumber/cpp/src/phonenumbers/asyoutypeformatter.cc 27
/src/libphonenumber/cpp/src/phonenumbers/unicodestring.h 13
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc 31
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.h 13
/src/protobuf/src/google/protobuf/arenastring.cc 2
/usr/local/include/google/protobuf/arena_impl.h 3
/src/protobuf/src/google/protobuf/arena_impl.h 16
/src/protobuf/src/google/protobuf/arena.h 2
/src/protobuf/src/google/protobuf/arenastring.h 1
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.h 3
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.cc 2
/src/libphonenumber/cpp/src/phonenumbers/normalize_utf8.h 1
/src/icu/source/common/uchar.cpp 1
/src/libphonenumber/cpp/src/phonenumbers/unicodestring.cc 6
/usr/local/include/absl/strings/numbers.h 2
/src/abseil-cpp/absl/strings/ascii.h 1
/src/abseil-cpp/absl/strings/str_replace.cc 2
/src/abseil-cpp/absl/strings/str_replace.h 3
/src/abseil-cpp/absl/strings/string_view.cc 1
/src/abseil-cpp/absl/strings/internal/memutil.cc 1
/src/abseil-cpp/absl/base/internal/throw_delegate.cc 2
/usr/local/bin/../include/c++/v1/stdexcept 2
/src/abseil-cpp/absl/strings/str_cat.h 1

Fuzzer: fuzz_matcher

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 1682 54.6%
gold [1:9] 473 15.3%
yellow [10:29] 102 3.31%
greenyellow [30:49] 66 2.14%
lawngreen 50+ 753 24.4%
All colors 3076 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
476 1089 11 :

['i18n::phonenumbers::PhoneNumberDesc::possible_length_local_only() const', 'i18n::phonenumbers::PhoneNumberDesc::possible_length() const', 'i18n::phonenumbers::(anonymous namespace)::GetNumberDescByType(i18n::phonenumbers::PhoneMetadata const&, i18n::phonenumbers::PhoneNumberUtil::PhoneNumberType)', 'void std::__1::sort[abi:ne180100] (int*, int*)', 'i18n::phonenumbers::(anonymous namespace)::DescHasPossibleNumberData(i18n::phonenumbers::PhoneNumberDesc const&)', 'i18n::phonenumbers::PhoneMetadata::general_desc() const', 'i18n::phonenumbers::(anonymous namespace)::TestNumberLength(std::__1::basic_string , std::__1::allocator > const&, i18n::phonenumbers::PhoneMetadata const&, i18n::phonenumbers::PhoneNumberUtil::PhoneNumberType)', 'google::protobuf::RepeatedField ::size() const', 'google::protobuf::RepeatedField ::MergeFrom(google::protobuf::RepeatedField const&)', 'google::protobuf::RepeatedField ::operator=(google::protobuf::RepeatedField const&)', 'i18n::phonenumbers::PhoneNumberDesc::possible_length_size() const']

794 1407 i18n::phonenumbers::(anonymousnamespace)::TestNumberLength(std::__1::basic_string ,std::__1::allocator >const&,i18n::phonenumbers::PhoneMetadataconst&,i18n::phonenumbers::PhoneNumberUtil::PhoneNumberType) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:419
72 356 5 :

['i18n::phonenumbers::PhoneNumberDesc::PhoneNumberDesc(i18n::phonenumbers::PhoneNumberDesc const&)', 'operator delete(void*)', 'google::protobuf::RepeatedPtrField ::~RepeatedPtrField()', 'google::protobuf::MessageLite::~MessageLite()', 'operator new(unsigned long)']

72 356 i18n::phonenumbers::PhoneMetadata::PhoneMetadata(i18n::phonenumbers::PhoneMetadataconst&) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.cc:1129
40 94 7 :

['std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', 'i18n::phonenumbers::StrAppend(std::__1::basic_string , std::__1::allocator >*, i18n::phonenumbers::StringHolder const&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'i18n::phonenumbers::StringHolder::~StringHolder()', 'absl::lts_20220623::optional , std::__1::allocator > >::value() &', 'i18n::phonenumbers::StringHolder::StringHolder(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::at(unsigned long)']

62 116 i18n::phonenumbers::PhoneNumberUtil::BuildNationalNumberForParsing(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2233
36 62 9 :

['std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', 'i18n::phonenumbers::scoped_ptr >::operator->() const', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'i18n::phonenumbers::scoped_ptr >::get() const', 'i18n::phonenumbers::scoped_ptr >::~scoped_ptr()', 'std::__1::basic_string , std::__1::allocator >::size[abi:ne180100]() const', 'i18n::phonenumbers::scoped_ptr >::operator->() const', 'i18n::phonenumbers::scoped_ptr >::scoped_ptr(i18n::phonenumbers::RegExpInput*)', 'i18n::phonenumbers::RegExp::Consume(i18n::phonenumbers::RegExpInput*) const']

36 7334 i18n::phonenumbers::PhoneNumberMatcher::ExtractMatch(std::__1::basic_string ,std::__1::allocator >const&,int,i18n::phonenumbers::PhoneNumberMatch*) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumbermatcher.cc:619
34 87 7 :

['std::__1::basic_string , std::__1::allocator >::operator=[abi:ne180100](char const*)', 'i18n::phonenumbers::VLOG(int)', 'i18n::phonenumbers::LoggerHandler::~LoggerHandler()', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (int const&)', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [2])', 'i18n::phonenumbers::RegionCode::GetUnknown()', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [39])']

34 87 i18n::phonenumbers::PhoneNumberUtil::GetRegionCodeForNumber(i18n::phonenumbers::PhoneNumberconst&,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:1918
30 30 6 :

['std::__1::basic_string , std::__1::allocator >::length[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', '_ZN4absl12lts_202206238optionalINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2IS8_TnNS2_9enable_ifIXsr4absl11conjunctionINS0_8negationINS2_7is_sameINS0_10in_place_tENS2_5decayIT_E4typeEEEEENSC_INSD_IS9_SI_EEEENS2_14is_convertibleIOSG_S8_EENS2_16is_constructibleIS8_JSO_EEEEE5valueEbE4typeELb0EEESO_', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::find(char, unsigned long) const', '_ZN4absl12lts_202206238optionalINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2IRA1_KcTnNS2_9enable_ifIXsr4absl11conjunctionINS0_8negationINS2_7is_sameINS0_10in_place_tENS2_5decayIT_E4typeEEEEENSF_INSG_IS9_SL_EEEENS2_14is_convertibleIOSJ_S8_EENS2_16is_constructibleIS8_JSR_EEEEE5valueEbE4typeELb0EEESR_']

30 30 i18n::phonenumbers::PhoneNumberUtil::ExtractPhoneContext(std::__1::basic_string ,std::__1::allocator >const&,unsignedlong)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2178
24 61 4 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [41])', 'i18n::phonenumbers::VLOG(int)', 'i18n::phonenumbers::LoggerHandler::~LoggerHandler()', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [49])']

24 61 i18n::phonenumbers::PhoneNumberUtil::MaybeExtractCountryCode(i18n::phonenumbers::PhoneMetadataconst*,bool,std::__1::basic_string ,std::__1::allocator >*,i18n::phonenumbers::PhoneNumber*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:3102
18 18 1 :

['google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty()']

152 152 i18n::phonenumbers::PhoneNumber::Clear() call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.cc:223
12 12 1 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [28])']

12 49 i18n::phonenumbers::PhoneNumberUtil::GetNumberTypeHelper(std::__1::basic_string ,std::__1::allocator >const&,i18n::phonenumbers::PhoneMetadataconst&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2616
12 12 1 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [32])']

12 49 i18n::phonenumbers::PhoneNumberUtil::GetNumberTypeHelper(std::__1::basic_string ,std::__1::allocator >const&,i18n::phonenumbers::PhoneMetadataconst&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2624
12 12 1 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [41])']

12 49 i18n::phonenumbers::PhoneNumberUtil::GetNumberTypeHelper(std::__1::basic_string ,std::__1::allocator >const&,i18n::phonenumbers::PhoneMetadataconst&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2628
12 12 1 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [29])']

12 49 i18n::phonenumbers::PhoneNumberUtil::GetNumberTypeHelper(std::__1::basic_string ,std::__1::allocator >const&,i18n::phonenumbers::PhoneMetadataconst&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2632

Runtime coverage analysis

Covered functions
575
Functions that are reachable but not covered
1483
Reachable functions
2473
Percentage of reachable functions covered
40.03%
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/libphonenumber/cpp/build/../test/phonenumbers/fuzz_matcher.cc 2
/src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc 67
/src/libphonenumber/cpp/src/phonenumbers/base/memory/singleton_posix.h 12
/src/libphonenumber/cpp/src/phonenumbers/logger.h 5
/src/libphonenumber/cpp/src/phonenumbers/base/memory/scoped_ptr.h 132
/src/libphonenumber/cpp/src/phonenumbers/regex_based_matcher.cc 1
/src/libphonenumber/cpp/src/phonenumbers/matcher_api.h 2
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.h 1
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter.h 10
/src/libphonenumber/cpp/src/phonenumbers/regexp_cache.cc 3
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock_posix.h 4
/src/libphonenumber/cpp/src/phonenumbers/stringutil.cc 27
/usr/local/include/absl/strings/str_cat.h 15
/usr/local/include/absl/strings/string_view.h 16
/src/abseil-cpp/absl/strings/numbers.cc 11
/src/abseil-cpp/absl/strings/numbers.h 1
/src/abseil-cpp/absl/strings/str_cat.cc 7
/src/abseil-cpp/absl/strings/internal/resize_uninitialized.h 4
/src/libphonenumber/cpp/src/phonenumbers/encoding_utils.h 3
/src/libphonenumber/cpp/src/phonenumbers/utf/rune.c 3
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock.h 2
/usr/local/include/absl/container/node_hash_set.h 8
/usr/local/include/absl/container/internal/raw_hash_set.h 166
/usr/local/include/absl/container/internal/compressed_tuple.h 44
/usr/local/include/absl/utility/utility.h 11
/usr/local/include/absl/container/node_hash_map.h 16
/usr/local/include/absl/container/internal/raw_hash_map.h 4
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.h 75
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.cc 11
/usr/local/include/google/protobuf/message_lite.h 5
/usr/local/include/google/protobuf/metadata_lite.h 12
/usr/local/include/google/protobuf/repeated_field.h 42
/usr/local/include/google/protobuf/generated_message_util.h 3
/src/protobuf/src/google/protobuf/generated_message_util.cc 6
/src/protobuf/src/google/protobuf/stubs/common.cc 8
/src/protobuf/src/google/protobuf/stubs/common.h 1
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/protobuf/src/google/protobuf/generated_message_util.h 1
/src/protobuf/src/google/protobuf/message_lite.cc 9
/src/protobuf/src/google/protobuf/stubs/mutex.h 5
/usr/local/include/google/protobuf/arenastring.h 10
/src/protobuf/src/google/protobuf/repeated_field.h 31
/usr/local/include/google/protobuf/arena.h 4
/src/protobuf/src/google/protobuf/arena.cc 11
/src/libphonenumber/cpp/src/phonenumbers/metadata.cc 2
/usr/local/include/google/protobuf/stubs/stringpiece.h 1
/src/protobuf/src/google/protobuf/message_lite.h 2
/src/protobuf/src/google/protobuf/io/coded_stream.h 1
/src/protobuf/src/google/protobuf/parse_context.h 4
/src/protobuf/src/google/protobuf/stubs/stringpiece.h 2
/usr/local/include/google/protobuf/parse_context.h 1
/src/libphonenumber/cpp/src/phonenumbers/default_logger.h 60
/src/libphonenumber/cpp/src/phonenumbers/region_code.h 2
/usr/local/include/absl/container/internal/hash_policy_traits.h 27
/usr/local/include/absl/container/internal/container_memory.h 36
/usr/local/include/absl/base/internal/prefetch.h 1
/usr/local/include/absl/hash/internal/hash.h 21
/usr/local/include/absl/numeric/bits.h 1
/usr/local/include/absl/container/internal/node_slot_policy.h 12
/src/abseil-cpp/absl/container/internal/raw_hash_set.h 4
/src/abseil-cpp/absl/container/internal/raw_hash_set.cc 3
/src/abseil-cpp/absl/numeric/bits.h 2
/usr/local/include/absl/container/internal/hashtablez_sampler.h 5
/usr/local/include/absl/memory/memory.h 20
/usr/local/include/absl/container/internal/hash_function_defaults.h 2
/src/abseil-cpp/absl/hash/internal/hash.cc 2
/src/abseil-cpp/absl/hash/internal/low_level_hash.cc 2
/usr/local/include/absl/base/internal/unaligned_access.h 2
/src/abseil-cpp/absl/numeric/int128.h 7
/src/libphonenumber/cpp/src/phonenumbers/phonenumbermatcher.cc 24
/src/libphonenumber/cpp/src/phonenumbers/stringutil.h 1
/src/libphonenumber/cpp/src/phonenumbers/alternate_format.cc 2
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc 20
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.h 9
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.h 3
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.cc 2
/src/libphonenumber/cpp/src/phonenumbers/phonenumbermatch.h 1
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.cc 12
/src/libphonenumber/cpp/src/phonenumbers/phonenumbermatch.cc 10
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.h 55
/usr/local/include/google/protobuf/arena_impl.h 3
/src/protobuf/src/google/protobuf/arena_impl.h 16
/src/protobuf/src/google/protobuf/arenastring.cc 5
/src/protobuf/src/google/protobuf/arena.h 2
/src/icu/source/common/uchar.cpp 5
/usr/local/include/absl/types/optional.h 11
/usr/local/include/absl/types/internal/optional.h 15
/src/abseil-cpp/absl/types/bad_optional_access.cc 2
/src/abseil-cpp/absl/types/bad_optional_access.h 1
/src/libphonenumber/cpp/src/phonenumbers/normalize_utf8.h 1
/usr/local/include/absl/strings/numbers.h 4
/src/abseil-cpp/absl/strings/ascii.h 1
/src/protobuf/src/google/protobuf/arenastring.h 1
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.cc 1
/usr/local/include/absl/strings/match.h 2
/src/libphonenumber/cpp/src/phonenumbers/callback.h 5
/src/protobuf/src/google/protobuf/repeated_field.cc 1
/usr/local/include/absl/strings/internal/str_split_internal.h 13
/usr/local/include/absl/strings/str_split.h 3
/src/abseil-cpp/absl/strings/str_split.cc 1
/src/abseil-cpp/absl/strings/string_view.cc 1
/src/abseil-cpp/absl/base/internal/throw_delegate.cc 2
/usr/local/bin/../include/c++/v1/stdexcept 2

Fuzzer: fuzz_shortnumberinfo

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 1825 69.4%
gold [1:9] 310 11.7%
yellow [10:29] 55 2.09%
greenyellow [30:49] 13 0.49%
lawngreen 50+ 425 16.1%
All colors 2628 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
406 424 10 :

['icu_66::RegexMatcher::group(int, UErrorCode&) const', 'i18n::phonenumbers::IcuRegExpInput::set_position(int)', 'std::__1::basic_string , std::__1::allocator >::operator=[abi:ne180100](std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'U_FAILURE(UErrorCode)', 'i18n::phonenumbers::(anonymous namespace)::UnicodeStringToUtf8String(icu_66::UnicodeString const&)', 'i18n::phonenumbers::scoped_ptr >::operator->() const', 'icu_66::RegexMatcher::groupCount() const', 'icu_66::UnicodeString::~UnicodeString()', 'icu_66::RegexMatcher::end(UErrorCode&) const']

506 524 i18n::phonenumbers::IcuRegExp::Consume(i18n::phonenumbers::RegExpInput*,bool,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:145
369 375 6 :

['icu_66::RegexMatcher::group(int, UErrorCode&) const', 'std::__1::basic_string , std::__1::allocator >::operator=[abi:ne180100](std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'i18n::phonenumbers::(anonymous namespace)::UnicodeStringToUtf8String(icu_66::UnicodeString const&)', 'i18n::phonenumbers::scoped_ptr >::operator->() const', 'icu_66::UnicodeString::~UnicodeString()']

471 485 i18n::phonenumbers::IcuRegExp::Match(std::__1::basic_string ,std::__1::allocator >const&,bool,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:183
40 94 7 :

['std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', 'i18n::phonenumbers::StrAppend(std::__1::basic_string , std::__1::allocator >*, i18n::phonenumbers::StringHolder const&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'i18n::phonenumbers::StringHolder::~StringHolder()', 'absl::lts_20220623::optional , std::__1::allocator > >::value() &', 'i18n::phonenumbers::StringHolder::StringHolder(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::at(unsigned long)']

62 116 i18n::phonenumbers::PhoneNumberUtil::BuildNationalNumberForParsing(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2233
34 1871 12 :

['i18n::phonenumbers::LOG(int)', 'std::__1::list , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::size[abi:ne180100]() const', 'std::__1::__list_iterator , std::__1::allocator >, void*>::operator++[abi:ne180100]()', 'std::__1::list , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::end[abi:ne180100]()', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [31])', 'i18n::phonenumbers::LoggerHandler::~LoggerHandler()', 'std::__1::__list_iterator , std::__1::allocator >, void*>::operator*[abi:ne180100]() const', 'std::__1::list , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::front[abi:ne180100]()', 'std::__1::list , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::begin[abi:ne180100]()', 'std::__1::operator!=[abi:ne180100](std::__1::__list_iterator , std::__1::allocator >, void*> const&, std::__1::__list_iterator , std::__1::allocator >, void*> const&)', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (int const&)', 'i18n::phonenumbers::ShortNumberInfo::GetExpectedCostForRegion(i18n::phonenumbers::PhoneNumber const&, std::__1::basic_string , std::__1::allocator > const&) const']

34 1871 i18n::phonenumbers::ShortNumberInfo::GetExpectedCost(i18n::phonenumbers::PhoneNumberconst&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.cc:230
30 30 6 :

['std::__1::basic_string , std::__1::allocator >::length[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', '_ZN4absl12lts_202206238optionalINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2IS8_TnNS2_9enable_ifIXsr4absl11conjunctionINS0_8negationINS2_7is_sameINS0_10in_place_tENS2_5decayIT_E4typeEEEEENSC_INSD_IS9_SI_EEEENS2_14is_convertibleIOSG_S8_EENS2_16is_constructibleIS8_JSO_EEEEE5valueEbE4typeELb0EEESO_', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::find(char, unsigned long) const', '_ZN4absl12lts_202206238optionalINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2IRA1_KcTnNS2_9enable_ifIXsr4absl11conjunctionINS0_8negationINS2_7is_sameINS0_10in_place_tENS2_5decayIT_E4typeEEEEENSF_INSG_IS9_SL_EEEENS2_14is_convertibleIOSJ_S8_EENS2_16is_constructibleIS8_JSR_EEEEE5valueEbE4typeELb0EEESR_']

30 30 i18n::phonenumbers::PhoneNumberUtil::ExtractPhoneContext(std::__1::basic_string ,std::__1::allocator >const&,unsignedlong)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2178
12 49 3 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [36])', 'i18n::phonenumbers::VLOG(int)', 'i18n::phonenumbers::LoggerHandler::~LoggerHandler()']

34 71 i18n::phonenumbers::PhoneNumberUtil::BuildNationalNumberForParsing(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2228
4 4 1 :

['i18n::phonenumbers::UnicodeText::Repr::clear()']

4 4 i18n::phonenumbers::UnicodeText::Repr::resize(int) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc:128
0 610 1 :

['i18n::phonenumbers::PhoneMetadata::CopyFrom(i18n::phonenumbers::PhoneMetadata const&)']

4 614 i18n::phonenumbers::PhoneMetadata::operator=(i18n::phonenumbers::PhoneMetadata&&) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.h:557
0 14 3 :

['i18n::phonenumbers::scoped_ptr >::operator->() const', 'i18n::phonenumbers::RegExp::FullMatch(std::__1::basic_string , std::__1::allocator > const&) const', 'i18n::phonenumbers::scoped_ptr >::operator->() const']

0 14 i18n::phonenumbers::PhoneNumberUtil::IsViablePhoneNumber(std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2842
0 0 None 10928 11799 i18n::phonenumbers::IcuRegExp::Replace(std::__1::basic_string ,std::__1::allocator >*,bool,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:193
0 0 None 9996 10046 i18n::phonenumbers::IcuRegExp::Consume(i18n::phonenumbers::RegExpInput*,bool,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:135
0 0 None 9965 10296 i18n::phonenumbers::IcuRegExp::Match(std::__1::basic_string ,std::__1::allocator >const&,bool,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc:170

Runtime coverage analysis

Covered functions
429
Functions that are reachable but not covered
1638
Reachable functions
2324
Percentage of reachable functions covered
29.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.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_shortnumberinfo.cc 2
/src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc 42
/src/libphonenumber/cpp/src/phonenumbers/base/memory/singleton_posix.h 4
/src/libphonenumber/cpp/src/phonenumbers/logger.h 5
/src/libphonenumber/cpp/src/phonenumbers/base/memory/scoped_ptr.h 139
/src/libphonenumber/cpp/src/phonenumbers/regex_based_matcher.cc 1
/src/libphonenumber/cpp/src/phonenumbers/matcher_api.h 2
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.h 1
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter.h 9
/src/libphonenumber/cpp/src/phonenumbers/regexp_cache.cc 3
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock_posix.h 4
/src/libphonenumber/cpp/src/phonenumbers/stringutil.cc 17
/usr/local/include/absl/strings/str_cat.h 11
/usr/local/include/absl/strings/string_view.h 13
/src/abseil-cpp/absl/strings/numbers.cc 11
/src/abseil-cpp/absl/strings/numbers.h 1
/src/abseil-cpp/absl/strings/str_cat.cc 6
/src/abseil-cpp/absl/strings/internal/resize_uninitialized.h 2
/src/libphonenumber/cpp/src/phonenumbers/encoding_utils.h 1
/src/libphonenumber/cpp/src/phonenumbers/utf/rune.c 3
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock.h 2
/usr/local/include/absl/container/node_hash_set.h 8
/usr/local/include/absl/container/internal/raw_hash_set.h 250
/usr/local/include/absl/container/internal/compressed_tuple.h 44
/usr/local/include/absl/utility/utility.h 11
/usr/local/include/absl/container/node_hash_map.h 16
/usr/local/include/absl/container/internal/raw_hash_map.h 6
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.h 61
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.cc 11
/usr/local/include/google/protobuf/message_lite.h 4
/usr/local/include/google/protobuf/metadata_lite.h 9
/usr/local/include/google/protobuf/repeated_field.h 27
/usr/local/include/google/protobuf/generated_message_util.h 3
/src/protobuf/src/google/protobuf/generated_message_util.cc 6
/src/protobuf/src/google/protobuf/stubs/common.cc 8
/src/protobuf/src/google/protobuf/stubs/common.h 1
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/protobuf/src/google/protobuf/generated_message_util.h 1
/src/protobuf/src/google/protobuf/message_lite.cc 9
/src/protobuf/src/google/protobuf/stubs/mutex.h 5
/usr/local/include/google/protobuf/arenastring.h 9
/src/protobuf/src/google/protobuf/repeated_field.h 28
/usr/local/include/google/protobuf/arena.h 4
/src/protobuf/src/google/protobuf/arena.cc 11
/src/libphonenumber/cpp/src/phonenumbers/metadata.cc 2
/usr/local/include/google/protobuf/stubs/stringpiece.h 1
/src/protobuf/src/google/protobuf/message_lite.h 2
/src/protobuf/src/google/protobuf/io/coded_stream.h 1
/src/protobuf/src/google/protobuf/parse_context.h 4
/src/protobuf/src/google/protobuf/stubs/stringpiece.h 2
/usr/local/include/google/protobuf/parse_context.h 1
/src/libphonenumber/cpp/src/phonenumbers/default_logger.h 32
/src/libphonenumber/cpp/src/phonenumbers/region_code.h 2
/usr/local/include/absl/container/internal/hash_policy_traits.h 46
/usr/local/include/absl/container/internal/container_memory.h 54
/usr/local/include/absl/base/internal/prefetch.h 1
/usr/local/include/absl/hash/internal/hash.h 21
/usr/local/include/absl/numeric/bits.h 1
/usr/local/include/absl/container/internal/node_slot_policy.h 12
/src/abseil-cpp/absl/container/internal/raw_hash_set.h 4
/src/abseil-cpp/absl/container/internal/raw_hash_set.cc 3
/src/abseil-cpp/absl/numeric/bits.h 2
/usr/local/include/absl/container/internal/hashtablez_sampler.h 5
/usr/local/include/absl/memory/memory.h 26
/usr/local/include/absl/container/internal/hash_function_defaults.h 2
/src/abseil-cpp/absl/hash/internal/hash.cc 2
/src/abseil-cpp/absl/hash/internal/low_level_hash.cc 2
/usr/local/include/absl/base/internal/unaligned_access.h 2
/src/abseil-cpp/absl/numeric/int128.h 7
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.h 26
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.cc 7
/usr/local/include/absl/types/optional.h 11
/usr/local/include/absl/types/internal/optional.h 15
/src/abseil-cpp/absl/types/bad_optional_access.cc 2
/src/abseil-cpp/absl/types/bad_optional_access.h 1
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc 20
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.h 9
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.h 3
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.cc 2
/src/protobuf/src/google/protobuf/arenastring.cc 4
/usr/local/include/google/protobuf/arena_impl.h 3
/src/protobuf/src/google/protobuf/arena_impl.h 16
/src/protobuf/src/google/protobuf/arena.h 2
/src/libphonenumber/cpp/src/phonenumbers/normalize_utf8.h 1
/src/icu/source/common/uchar.cpp 1
/usr/local/include/absl/strings/numbers.h 4
/src/abseil-cpp/absl/strings/ascii.h 1
/src/protobuf/src/google/protobuf/arenastring.h 1
/src/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.cc 21
/usr/local/include/absl/container/flat_hash_map.h 10
/usr/local/include/absl/container/flat_hash_set.h 12
/src/libphonenumber/cpp/src/phonenumbers/short_metadata.cc 2

Fuzzer: fuzz_util

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 1573 48.7%
gold [1:9] 473 14.6%
yellow [10:29] 94 2.91%
greenyellow [30:49] 28 0.86%
lawngreen 50+ 1057 32.7%
All colors 3225 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
72 356 5 :

['i18n::phonenumbers::PhoneNumberDesc::PhoneNumberDesc(i18n::phonenumbers::PhoneNumberDesc const&)', 'operator delete(void*)', 'google::protobuf::RepeatedPtrField ::~RepeatedPtrField()', 'google::protobuf::MessageLite::~MessageLite()', 'operator new(unsigned long)']

72 356 i18n::phonenumbers::PhoneMetadata::PhoneMetadata(i18n::phonenumbers::PhoneMetadataconst&) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.cc:1129
40 94 7 :

['std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', 'i18n::phonenumbers::StrAppend(std::__1::basic_string , std::__1::allocator >*, i18n::phonenumbers::StringHolder const&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'i18n::phonenumbers::StringHolder::~StringHolder()', 'absl::lts_20220623::optional , std::__1::allocator > >::value() &', 'i18n::phonenumbers::StringHolder::StringHolder(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::at(unsigned long)']

62 116 i18n::phonenumbers::PhoneNumberUtil::BuildNationalNumberForParsing(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2233
30 30 6 :

['std::__1::basic_string , std::__1::allocator >::length[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', '_ZN4absl12lts_202206238optionalINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2IS8_TnNS2_9enable_ifIXsr4absl11conjunctionINS0_8negationINS2_7is_sameINS0_10in_place_tENS2_5decayIT_E4typeEEEEENSC_INSD_IS9_SI_EEEENS2_14is_convertibleIOSG_S8_EENS2_16is_constructibleIS8_JSO_EEEEE5valueEbE4typeELb0EEESO_', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::find(char, unsigned long) const', '_ZN4absl12lts_202206238optionalINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2IRA1_KcTnNS2_9enable_ifIXsr4absl11conjunctionINS0_8negationINS2_7is_sameINS0_10in_place_tENS2_5decayIT_E4typeEEEEENSF_INSG_IS9_SL_EEEENS2_14is_convertibleIOSJ_S8_EENS2_16is_constructibleIS8_JSR_EEEEE5valueEbE4typeELb0EEESR_']

30 30 i18n::phonenumbers::PhoneNumberUtil::ExtractPhoneContext(std::__1::basic_string ,std::__1::allocator >const&,unsignedlong)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2178
12 12 1 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [29])']

12 49 i18n::phonenumbers::PhoneNumberUtil::GetNumberTypeHelper(std::__1::basic_string ,std::__1::allocator >const&,i18n::phonenumbers::PhoneMetadataconst&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2632
12 12 1 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [17])']

12 49 i18n::phonenumbers::PhoneNumberUtil::GetNumberTypeHelper(std::__1::basic_string ,std::__1::allocator >const&,i18n::phonenumbers::PhoneMetadataconst&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2640
12 12 1 :

['i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [30])']

12 49 i18n::phonenumbers::PhoneNumberUtil::GetNumberTypeHelper(std::__1::basic_string ,std::__1::allocator >const&,i18n::phonenumbers::PhoneMetadataconst&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2644
6 6 1 :

['google::protobuf::internal::GenericSwap(google::protobuf::MessageLite*, google::protobuf::MessageLite*)']

6 6 i18n::phonenumbers::PhoneNumber::Swap(i18n::phonenumbers::PhoneNumber*) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.h:137
4 4 1 :

['i18n::phonenumbers::UnicodeText::Repr::clear()']

4 4 i18n::phonenumbers::UnicodeText::Repr::resize(int) call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc:128
0 5391 11 :

['i18n::phonenumbers::PhoneNumberUtil::GetRegionCodeForCountryCode(int, std::__1::basic_string , std::__1::allocator >*) const', 'i18n::phonenumbers::PhoneNumberUtil::IsNumberMatch(i18n::phonenumbers::PhoneNumber const&, i18n::phonenumbers::PhoneNumber const&) const', 'std::__1::basic_string , std::__1::allocator >::basic_string[abi:ne180100]()', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'i18n::phonenumbers::PhoneNumber::country_code() const', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc', 'bool std::__1::operator!=[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator > const&, char const*)', 'i18n::phonenumbers::PhoneNumber::PhoneNumber()', 'i18n::phonenumbers::PhoneNumberUtil::ParseHelper(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&, bool, bool, i18n::phonenumbers::PhoneNumber*) const', 'i18n::phonenumbers::RegionCode::GetUnknown()', 'i18n::phonenumbers::PhoneNumberUtil::Parse(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&, i18n::phonenumbers::PhoneNumber*) const']

0 5407 i18n::phonenumbers::PhoneNumberUtil::IsNumberMatchWithOneString(i18n::phonenumbers::PhoneNumberconst&,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:3244
0 4357 22 :

['i18n::phonenumbers::SimpleItoa(int)', 'i18n::phonenumbers::StrCat(i18n::phonenumbers::StringHolder const&, i18n::phonenumbers::StringHolder const&, i18n::phonenumbers::StringHolder const&)', 'i18n::phonenumbers::StringHolder::StringHolder(char const*)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'i18n::phonenumbers::PhoneMetadata::premium_rate() const', 'i18n::phonenumbers::PhoneMetadata::uan() const', 'i18n::phonenumbers::PhoneNumberDesc::~PhoneNumberDesc()', 'i18n::phonenumbers::PhoneMetadata::toll_free() const', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [2])', 'i18n::phonenumbers::PhoneMetadata::mobile() const', 'i18n::phonenumbers::RegionCode::GetUnknown()', 'i18n::phonenumbers::StringHolder::StringHolder(std::__1::basic_string , std::__1::allocator > const&)', 'i18n::phonenumbers::LoggerHandler& i18n::phonenumbers::LoggerHandler::operator<< (char const (&) [31])', 'i18n::phonenumbers::PhoneNumberUtil::Parse(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&, i18n::phonenumbers::PhoneNumber*) const', 'i18n::phonenumbers::PhoneMetadata::voicemail() const', 'i18n::phonenumbers::PhoneMetadata::shared_cost() const', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc', 'i18n::phonenumbers::StringHolder::~StringHolder()', 'i18n::phonenumbers::PhoneNumberDesc::example_number() const', 'i18n::phonenumbers::PhoneNumberDesc::PhoneNumberDesc(i18n::phonenumbers::PhoneNumberDesc const&)', 'i18n::phonenumbers::PhoneMetadata::voip() const', 'i18n::phonenumbers::PhoneNumberDesc::has_example_number() const']

0 4414 i18n::phonenumbers::PhoneNumberUtil::GetExampleNumberForNonGeoEntity(int,i18n::phonenumbers::PhoneNumber*)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:2105
0 3244 6 :

['std::__1::basic_string , std::__1::allocator >::length[abi:ne180100]() const', 'i18n::phonenumbers::PhoneNumberUtil::IsValidNumber(i18n::phonenumbers::PhoneNumber const&) const', 'std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', 'i18n::phonenumbers::PhoneNumber::PhoneNumber()', 'i18n::phonenumbers::PhoneNumber::~PhoneNumber()', 'i18n::phonenumbers::PhoneNumberUtil::Parse(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&, i18n::phonenumbers::PhoneNumber*) const']

0 3244 i18n::phonenumbers::PhoneNumberUtil::RawInputContainsNationalPrefix(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:1584
0 2357 1 :

['i18n::phonenumbers::PhoneNumberUtil::IsNumberMatchWithOneString(i18n::phonenumbers::PhoneNumber const&, std::__1::basic_string , std::__1::allocator > const&) const']

0 2373 i18n::phonenumbers::PhoneNumberUtil::IsNumberMatchWithTwoStrings(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc:3213

Runtime coverage analysis

Covered functions
577
Functions that are reachable but not covered
1402
Reachable functions
2426
Percentage of reachable functions covered
42.21%
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/libphonenumber/cpp/build/../test/phonenumbers/fuzz_util.cc 2
/src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc 92
/src/libphonenumber/cpp/src/phonenumbers/base/memory/singleton_posix.h 4
/src/libphonenumber/cpp/src/phonenumbers/logger.h 5
/src/libphonenumber/cpp/src/phonenumbers/base/memory/scoped_ptr.h 111
/src/libphonenumber/cpp/src/phonenumbers/regex_based_matcher.cc 1
/src/libphonenumber/cpp/src/phonenumbers/matcher_api.h 2
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.h 1
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter.h 10
/src/libphonenumber/cpp/src/phonenumbers/regexp_cache.cc 3
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock_posix.h 4
/src/libphonenumber/cpp/src/phonenumbers/stringutil.cc 25
/usr/local/include/absl/strings/str_cat.h 12
/usr/local/include/absl/strings/string_view.h 15
/src/abseil-cpp/absl/strings/numbers.cc 11
/src/abseil-cpp/absl/strings/numbers.h 1
/src/abseil-cpp/absl/strings/str_cat.cc 9
/src/abseil-cpp/absl/strings/internal/resize_uninitialized.h 4
/src/libphonenumber/cpp/src/phonenumbers/encoding_utils.h 1
/src/libphonenumber/cpp/src/phonenumbers/utf/rune.c 3
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock.h 2
/usr/local/include/absl/container/node_hash_set.h 8
/usr/local/include/absl/container/internal/raw_hash_set.h 168
/usr/local/include/absl/container/internal/compressed_tuple.h 44
/usr/local/include/absl/utility/utility.h 11
/usr/local/include/absl/container/node_hash_map.h 16
/usr/local/include/absl/container/internal/raw_hash_map.h 4
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.h 96
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.cc 17
/usr/local/include/google/protobuf/message_lite.h 5
/usr/local/include/google/protobuf/metadata_lite.h 11
/usr/local/include/google/protobuf/repeated_field.h 47
/usr/local/include/google/protobuf/generated_message_util.h 3
/src/protobuf/src/google/protobuf/generated_message_util.cc 6
/src/protobuf/src/google/protobuf/stubs/common.cc 8
/src/protobuf/src/google/protobuf/stubs/common.h 1
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/protobuf/src/google/protobuf/generated_message_util.h 1
/src/protobuf/src/google/protobuf/message_lite.cc 9
/src/protobuf/src/google/protobuf/stubs/mutex.h 5
/usr/local/include/google/protobuf/arenastring.h 9
/src/protobuf/src/google/protobuf/repeated_field.h 34
/usr/local/include/google/protobuf/arena.h 6
/src/protobuf/src/google/protobuf/arena.cc 13
/src/libphonenumber/cpp/src/phonenumbers/metadata.cc 2
/usr/local/include/google/protobuf/stubs/stringpiece.h 1
/src/protobuf/src/google/protobuf/message_lite.h 2
/src/protobuf/src/google/protobuf/io/coded_stream.h 1
/src/protobuf/src/google/protobuf/parse_context.h 4
/src/protobuf/src/google/protobuf/stubs/stringpiece.h 2
/usr/local/include/google/protobuf/parse_context.h 1
/src/libphonenumber/cpp/src/phonenumbers/default_logger.h 62
/src/libphonenumber/cpp/src/phonenumbers/region_code.h 2
/usr/local/include/absl/container/internal/hash_policy_traits.h 27
/usr/local/include/absl/container/internal/container_memory.h 36
/usr/local/include/absl/base/internal/prefetch.h 1
/usr/local/include/absl/hash/internal/hash.h 21
/usr/local/include/absl/numeric/bits.h 1
/usr/local/include/absl/container/internal/node_slot_policy.h 12
/src/abseil-cpp/absl/container/internal/raw_hash_set.h 4
/src/abseil-cpp/absl/container/internal/raw_hash_set.cc 3
/src/abseil-cpp/absl/numeric/bits.h 2
/usr/local/include/absl/container/internal/hashtablez_sampler.h 5
/usr/local/include/absl/memory/memory.h 20
/usr/local/include/absl/container/internal/hash_function_defaults.h 2
/src/abseil-cpp/absl/hash/internal/hash.cc 2
/src/abseil-cpp/absl/hash/internal/low_level_hash.cc 2
/usr/local/include/absl/base/internal/unaligned_access.h 2
/src/abseil-cpp/absl/numeric/int128.h 7
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.h 51
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.cc 9
/usr/local/include/absl/types/optional.h 11
/usr/local/include/absl/types/internal/optional.h 15
/src/abseil-cpp/absl/types/bad_optional_access.cc 2
/src/abseil-cpp/absl/types/bad_optional_access.h 1
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc 20
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.h 9
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.h 3
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.cc 2
/src/protobuf/src/google/protobuf/arenastring.cc 7
/usr/local/include/google/protobuf/arena_impl.h 3
/src/protobuf/src/google/protobuf/arena_impl.h 16
/src/protobuf/src/google/protobuf/arena.h 3
/src/libphonenumber/cpp/src/phonenumbers/normalize_utf8.h 1
/src/icu/source/common/uchar.cpp 1
/usr/local/include/absl/strings/numbers.h 4
/src/abseil-cpp/absl/strings/ascii.h 1
/src/protobuf/src/google/protobuf/arenastring.h 1
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.cc 1
/usr/local/include/absl/strings/match.h 2
/src/protobuf/src/google/protobuf/repeated_field.cc 2
/src/abseil-cpp/absl/strings/str_replace.cc 2
/src/abseil-cpp/absl/strings/str_replace.h 3
/src/abseil-cpp/absl/strings/string_view.cc 1
/src/abseil-cpp/absl/strings/internal/memutil.cc 1
/src/abseil-cpp/absl/base/internal/throw_delegate.cc 2
/usr/local/bin/../include/c++/v1/stdexcept 2
/src/abseil-cpp/absl/strings/str_cat.h 1

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_66::RegexPattern::matches(icu_66::UnicodeStringconst&,icu_66::UnicodeStringconst&,UParseError&,UErrorCode&) /src/icu/source/i18n/repattrn.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 35 0 87 12 5 2192 0 10218 10191
icu_66::RuleBasedBreakIterator::RuleBasedBreakIterator(icu_66::UnicodeStringconst&,UParseError&,UErrorCode&) /src/icu/source/common/rbbi.cpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 33 0 134 23 20 1474 0 5887 1498
google::protobuf::internal::ExtensionSet::ParseMessageSetItem(charconst*,google::protobuf::MessageLiteconst*,google::protobuf::internal::InternalMetadata*,google::protobuf::internal::ParseContext*) /src/protobuf/src/google/protobuf/extension_set.cc 5 ['N/A', 'N/A', 'N/A', 'N/A', 'N/A'] 23 0 32 3 2 763 0 1501 1239

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

Functions statically reachable by fuzzers
43.0%
3267 / 7660
Cyclomatic complexity statically reachable by fuzzers
48.0%
21108 / 43914

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

Fuzz engine guidance

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

/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_asyoutypeformatter.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::NumberFormat::_internal_pattern() const', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneMetadata::set_international_prefix(char const*)', 'i18n::phonenumbers::scoped_ptr_impl >::~scoped_ptr_impl()', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::NumberFormat::_internal_format() const', 'i18n::phonenumbers::PhoneMetadataCollection::SharedCtor()', 'void absl::lts_20220623::container_internal::hash_policy_traits, std::__1::allocator > >, void>::construct, std::__1::allocator > >, std::__1::basic_string, std::__1::allocator > const&>(std::__1::allocator, std::__1::allocator > >*, std::__1::basic_string, std::__1::allocator >**, std::__1::basic_string, std::__1::allocator > const&)', 'i18n::phonenumbers::(anonymous namespace)::LoadCompiledInMetadata(i18n::phonenumbers::PhoneMetadataCollection*)']

/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_matcher.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneNumber::PhoneNumber(i18n::phonenumbers::PhoneNumber const&)', 'i18n::phonenumbers::(anonymous namespace)::TestNumberLength(std::__1::basic_string, std::__1::allocator > const&, i18n::phonenumbers::PhoneMetadata const&, i18n::phonenumbers::PhoneNumberUtil::PhoneNumberType)', 'i18n::phonenumbers::PhoneNumber::country_code_source() const', 'i18n::phonenumbers::PhoneMetadataCollection::SharedCtor()', 'i18n::phonenumbers::SplitStringUsing(std::__1::basic_string, std::__1::allocator > const&, char, std::__1::vector, std::__1::allocator >, std::__1::allocator, std::__1::allocator > > >*)', 'i18n::phonenumbers::(anonymous namespace)::TestNumberLength(std::__1::basic_string, std::__1::allocator > const&, i18n::phonenumbers::PhoneMetadata const&, i18n::phonenumbers::PhoneNumberUtil::PhoneNumberType)', 'i18n::phonenumbers::PhoneNumber::has_extension() const']

/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_shortnumberinfo.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneMetadata::toll_free() const', 'i18n::phonenumbers::scoped_ptr_impl >::~scoped_ptr_impl()', 'i18n::phonenumbers::PhoneNumber::country_code() const', 'i18n::phonenumbers::ShortNumberInfo::ShortNumberInfo()', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::ShortNumberInfo::ShortNumberInfo()', 'i18n::phonenumbers::NormalizeUTF8::NormalizeDecimalDigits(std::__1::basic_string, std::__1::allocator > const&)', 'i18n::phonenumbers::PhoneMetadataCollection::SharedCtor()']

/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_util.cc

Dictionary

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


Fuzzer function priority

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

-focus_function=['i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()', 'i18n::phonenumbers::PhoneNumber::_internal_set_raw_input(std::__1::basic_string, std::__1::allocator > const&)', 'i18n::phonenumbers::(anonymous namespace)::TestNumberLength(std::__1::basic_string, std::__1::allocator > const&, i18n::phonenumbers::PhoneMetadata const&, i18n::phonenumbers::PhoneNumberUtil::PhoneNumberType)', 'i18n::phonenumbers::PhoneNumberUtil::FormatByPattern(i18n::phonenumbers::PhoneNumber const&, i18n::phonenumbers::PhoneNumberUtil::PhoneNumberFormat, google::protobuf::RepeatedPtrField const&, std::__1::basic_string, std::__1::allocator >*) const', 'i18n::phonenumbers::PhoneMetadataCollection::SharedCtor()', 'i18n::phonenumbers::PhoneNumberUtil::FormatOutOfCountryKeepingAlphaChars(i18n::phonenumbers::PhoneNumber const&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >*) const', 'i18n::phonenumbers::(anonymous namespace)::LoadCompiledInMetadata(i18n::phonenumbers::PhoneMetadataCollection*)', 'i18n::phonenumbers::PhoneNumberUtil::PhoneNumberUtil()']

Runtime coverage analysis

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
[] []
/usr/local/include/absl/types/optional.h ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/abseil-cpp/absl/strings/ascii.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/loadednormalizer2impl.cpp [] []
/src/icu/source/common/./uvector.h [] []
/usr/local/include/google/protobuf/metadata_lite.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/protobuf/src/google/protobuf/stubs/callback.h [] []
/src/protobuf/src/google/protobuf/stubs/status.cc [] []
/usr/local/include/google/protobuf/stubs/port.h [] []
/src/icu/source/common/loclikely.cpp [] []
/usr/local/include/google/protobuf/repeated_field.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/abseil-cpp/absl/base/internal/raw_logging.cc [] []
/src/icu/source/common/uhash.cpp [] []
/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_asyoutypeformatter.cc ['fuzz_asyoutypeformatter'] []
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.h ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/abseil-cpp/absl/strings/str_replace.cc ['fuzz_asyoutypeformatter', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_util']
/src/icu/source/common/umapfile.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/phonenumbermatch.cc ['fuzz_matcher'] ['fuzz_matcher']
/usr/local/include/google/protobuf/io/coded_stream.h [] []
/src/icu/source/common/./rbbiscan.h [] []
/src/icu/source/common/rbbistbl.cpp [] []
/src/icu/source/common/umath.cpp [] []
/src/icu/source/common/utrie2.cpp [] []
/src/icu/source/common/./restrace.h [] []
/src/icu/source/common/./charstr.h [] []
/src/libphonenumber/cpp/src/phonenumbers/unicodestring.h ['fuzz_asyoutypeformatter'] ['fuzz_asyoutypeformatter']
/src/icu/source/common/./unicode/errorcode.h [] []
/src/icu/source/common/patternprops.cpp [] []
/usr/local/include/absl/hash/internal/hash.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/./unicode/bytestrie.h [] []
/src/libphonenumber/cpp/src/phonenumbers/normalize_utf8.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/serv.cpp [] []
/src/icu/source/common/uresdata.cpp [] []
/src/protobuf/src/google/protobuf/stubs/stringpiece.cc [] []
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.pb.cc ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/abseil-cpp/absl/strings/match.cc [] []
/usr/local/include/google/protobuf/has_bits.h [] []
/src/icu/source/common/./serv.h [] []
/usr/local/include/google/protobuf/wire_format_lite.h [] []
/src/icu/source/common/./uhash.h [] []
/src/icu/source/common/uvector.cpp [] []
/src/icu/source/common/umutablecptrie.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/libphonenumber/cpp/src/phonenumbers/phonenumbermatch.h ['fuzz_matcher'] ['fuzz_matcher']
/src/libphonenumber/cpp/src/phonenumbers/stringutil.h ['fuzz_matcher'] ['fuzz_matcher']
/src/libphonenumber/cpp/src/phonenumbers/regex_based_matcher.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/uobject.cpp [] []
/src/icu/source/common/ucol_swp.cpp [] []
/src/icu/source/common/locresdata.cpp [] []
/src/icu/source/common/unifunct.cpp [] []
/src/icu/source/common/./unicode/ucharstrie.h [] []
/src/icu/source/common/./unicode/char16ptr.h [] []
/src/abseil-cpp/absl/strings/string_view.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_util'] []
/src/icu/source/common/servls.cpp [] []
/src/icu/source/common/servslkf.cpp [] []
/src/icu/source/common/ucharstriebuilder.cpp [] []
/src/icu/source/common/schriter.cpp [] []
/src/icu/source/common/characterproperties.cpp [] []
/src/protobuf/src/google/protobuf/stubs/strutil.cc [] []
/src/libphonenumber/cpp/src/phonenumbers/short_metadata.cc ['fuzz_shortnumberinfo'] ['fuzz_shortnumberinfo']
/src/libphonenumber/cpp/src/phonenumbers/asyoutypeformatter.h [] []
/src/icu/source/common/./unicode/unifilt.h [] []
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/extension_set_inl.h [] []
/src/protobuf/src/google/protobuf/stubs/int128.cc [] []
/src/icu/source/common/dictionarydata.cpp [] []
/src/icu/source/common/./ruleiter.h [] []
/src/protobuf/src/google/protobuf/stubs/mutex.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/./norm2allmodes.h [] []
/usr/local/include/absl/container/internal/container_memory.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/usr/local/include/absl/container/node_hash_set.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/protobuf/src/google/protobuf/arena.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_util']
/src/icu/source/common/rbbi_cache.cpp [] []
/src/abseil-cpp/absl/base/internal/endian.h [] []
/src/icu/source/i18n/../common/uvectr32.h [] []
/src/icu/source/common/./unicode/locid.h [] []
/src/icu/source/common/rbbisetb.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/metadata.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h [] []
/usr/local/include/absl/container/internal/raw_hash_map.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/io/coded_stream.cc [] []
/src/icu/source/common/chariter.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/base/memory/scoped_ptr.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/libphonenumber/cpp/src/phonenumbers/matcher_api.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_shortnumberinfo']
/src/icu/source/common/ustrtrns.cpp [] []
/src/icu/source/common/./unicode/uniset.h [] []
/src/icu/source/common/ucptrie.cpp [] []
/src/icu/source/common/normalizer2impl.cpp [] []
/usr/local/include/absl/memory/memory.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/./hash.h [] []
/src/abseil-cpp/absl/strings/internal/charconv_bigint.cc [] []
/src/icu/source/common/./unicode/chariter.h [] []
/src/icu/source/common/bytestream.cpp [] []
/usr/include/unicode/rep.h [] []
/src/icu/source/common/uloc.cpp [] []
/src/icu/source/common/ustrenum.cpp [] []
/src/icu/source/common/rbbidata.cpp [] []
/src/protobuf/src/google/protobuf/extension_set.h [] []
/src/protobuf/src/google/protobuf/generated_message_util.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/i18n/regeximp.cpp [] []
/usr/local/include/google/protobuf/arena_impl.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/extension_set.cc [] []
/src/icu/source/common/./unicode/utext.h [] []
/src/icu/source/common/unistr.cpp [] []
/src/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc [] []
/src/icu/source/common/servrbf.cpp [] []
/src/icu/source/common/uloc_tag.cpp [] []
/usr/local/include/google/protobuf/generated_message_util.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/stubs/stl_util.h [] []
/src/icu/source/common/unifilt.cpp [] []
/src/protobuf/src/google/protobuf/generated_message_util.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/abseil-cpp/absl/base/internal/throw_delegate.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_util']
/src/icu/source/i18n/../common/unicode/unistr.h [] []
/usr/local/bin/../include/c++/v1/stdexcept ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_util'] []
/src/icu/source/common/./ucasemap_imp.h [] []
/src/icu/source/common/./unicode/unistr.h [] []
/src/abseil-cpp/absl/hash/internal/hash.h [] []
/src/icu/source/common/utrie.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/alternate_format.cc ['fuzz_matcher'] ['fuzz_matcher']
/src/icu/source/common/appendable.cpp [] []
/src/icu/source/common/./unicode/unifunct.h [] []
/src/protobuf/src/google/protobuf/stubs/status.h [] []
/src/icu/source/common/./bmpset.h [] []
/src/icu/source/common/ustring.cpp [] []
/usr/local/include/absl/container/node_hash_map.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/abseil-cpp/absl/strings/ascii.cc [] []
/usr/local/include/absl/base/internal/prefetch.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/i18n/regextxt.cpp [] []
/src/abseil-cpp/absl/base/internal/atomic_hook.h [] []
/usr/local/include/absl/strings/match.h ['fuzz_matcher', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/arena.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/ustr_titlecase_brkiter.cpp [] []
/src/icu/source/common/uniset.cpp [] []
/src/icu/source/common/./unicode/rep.h [] []
/src/protobuf/src/google/protobuf/parse_context.cc [] []
/src/libphonenumber/cpp/src/phonenumbers/callback.h ['fuzz_matcher'] ['fuzz_matcher']
/src/icu/source/common/./unicode/ucharstriebuilder.h [] []
/src/icu/source/common/./uresimp.h [] []
/usr/local/include/absl/base/internal/unaligned_access.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/./unicode/utypes.h [] []
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock_posix.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/uresbund.cpp [] []
/src/icu/source/common/normalizer2.cpp [] []
/src/icu/source/i18n/regexst.cpp [] []
/usr/local/bin/../include/c++/v1/__exception/exception.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/usr/local/bin/../include/c++/v1/new [] []
/src/icu/source/common/./unicode/symtable.h [] []
/src/icu/source/common/./unisetspan.h [] []
/src/icu/source/common/ustrfmt.cpp [] []
/src/protobuf/src/google/protobuf/stubs/map_util.h [] []
/src/icu/source/i18n/../common/unicode/char16ptr.h [] []
/src/libphonenumber/cpp/src/phonenumbers/base/strings/string_piece.h [] []
/src/libphonenumber/cpp/src/phonenumbers/base/strings/string_piece.cc [] []
/src/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc [] []
/usr/local/include/absl/numeric/bits.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/stubs/casts.h [] []
/src/icu/source/common/putil.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/phonenumbermatcher.cc ['fuzz_matcher'] ['fuzz_matcher']
/src/icu/source/common/resource.cpp [] []
/src/icu/source/i18n/../common/uvectr64.h [] []
/src/libphonenumber/cpp/src/phonenumbers/utf/rune.c ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/bmpset.cpp [] []
/src/protobuf/src/google/protobuf/message_lite.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/uhash_us.cpp [] []
/src/icu/source/common/locbased.cpp [] []
/src/icu/source/common/./bytesinkutil.h [] []
/src/icu/source/common/bytesinkutil.cpp [] []
/usr/local/include/absl/strings/str_cat.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/./locbased.h [] []
/src/abseil-cpp/absl/container/internal/raw_hash_set.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/./dictionarydata.h [] []
/usr/local/include/google/protobuf/arena.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/abseil-cpp/absl/strings/internal/resize_uninitialized.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/./unicode/stringpiece.h [] []
/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_matcher.cc ['fuzz_matcher'] []
/src/icu/source/common/uniset_props.cpp [] []
/usr/local/include/absl/strings/numbers.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/abseil-cpp/absl/strings/str_replace.h ['fuzz_asyoutypeformatter', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_util']
/src/icu/source/common/ustrcase_locale.cpp [] []
/src/icu/source/common/./cpputils.h [] []
/src/abseil-cpp/absl/numeric/bits.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/./unicode/edits.h [] []
/usr/local/include/absl/container/flat_hash_map.h ['fuzz_shortnumberinfo'] []
/src/icu/source/i18n/ucln_in.cpp [] []
/src/abseil-cpp/absl/strings/charconv.cc [] []
/src/abseil-cpp/absl/strings/internal/charconv_parse.h [] []
/src/protobuf/src/google/protobuf/stubs/stringpiece.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/umutex.cpp [] []
/usr/local/bin/../include/c++/v1/string [] []
/src/icu/source/common/rbbi.cpp [] []
/src/protobuf/src/google/protobuf/generated_enum_util.cc [] []
/src/icu/source/common/unistr_case_locale.cpp [] []
/src/icu/source/common/udata.cpp [] []
/src/protobuf/src/google/protobuf/stubs/structurally_valid.cc [] []
/src/icu/source/common/errorcode.cpp [] []
/src/icu/source/common/./unicode/parsepos.h [] []
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/usr/local/include/google/protobuf/stubs/casts.h [] []
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/usr/local/include/absl/container/internal/hash_policy_traits.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/usr/local/include/google/protobuf/message_lite.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/usr/local/include/absl/strings/internal/str_split_internal.h ['fuzz_matcher'] ['fuzz_matcher']
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/charstr.cpp [] []
/src/abseil-cpp/absl/numeric/int128.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/./rbbi_cache.h [] []
/src/icu/source/common/utrie_swap.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/utf/unilib.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/./umutex.h [] []
/src/protobuf/src/google/protobuf/stubs/int128.h [] []
/src/icu/source/common/locdispnames.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/stringutil.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/dictbe.cpp [] []
/src/abseil-cpp/absl/numeric/int128_have_intrinsic.inc [] []
/src/icu/source/i18n/rematch.cpp [] []
/src/protobuf/src/google/protobuf/wire_format_lite.cc [] []
/src/icu/source/common/stringpiece.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/phonemetadata.pb.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/./unicode/normalizer2.h [] []
/src/icu/source/common/ustack.cpp [] []
/src/icu/source/common/./unicode/bytestream.h [] []
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/rbbirb.cpp [] []
/src/protobuf/src/google/protobuf/io/coded_stream.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/libphonenumber/cpp/src/phonenumbers/regexp_adapter_icu.cc [] []
/src/protobuf/src/google/protobuf/message_lite.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/abseil-cpp/absl/strings/numbers.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/usr/include/unicode/stringpiece.h [] []
/src/abseil-cpp/absl/base/internal/errno_saver.h [] []
/src/libphonenumber/cpp/src/phonenumbers/utf/unicodetext.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/i18n/../common/cmemory.h [] []
/src/abseil-cpp/absl/strings/str_split.cc ['fuzz_matcher'] []
/src/icu/source/common/unisetspan.cpp [] []
/src/protobuf/src/google/protobuf/stubs/strutil.h [] []
/src/icu/source/common/uloc_keytype.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/phonenumber.cc ['fuzz_matcher', 'fuzz_util'] ['fuzz_matcher', 'fuzz_util']
/src/abseil-cpp/absl/hash/internal/low_level_hash.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/./mutex.h [] []
/src/icu/source/common/utypes.cpp [] []
/src/icu/source/i18n/../common/unicode/uobject.h [] []
/src/icu/source/common/utext.cpp [] []
/usr/local/include/absl/utility/utility.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/ruleiter.cpp [] []
/src/icu/source/common/./unicode/localpointer.h [] []
/usr/include/x86_64-linux-gnu/bits/byteswap.h [] []
/src/abseil-cpp/absl/types/bad_optional_access.cc ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/cmemory.cpp [] []
/src/protobuf/src/google/protobuf/repeated_field.cc ['fuzz_matcher', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/implicit_weak_message.h [] []
/src/icu/source/common/edits.cpp [] []
/src/icu/source/common/ucase.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/default_logger.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/./unicode/ures.h [] []
/src/icu/source/common/ustrcase.cpp [] []
/src/abseil-cpp/absl/strings/internal/charconv_parse.cc [] []
/src/icu/source/i18n/regexcmp.cpp [] []
/src/abseil-cpp/absl/base/casts.h [] []
/src/icu/source/common/utf_impl.cpp [] []
/src/icu/source/common/resbund.cpp [] []
/src/abseil-cpp/absl/hash/internal/hash.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/./unicode/umutablecptrie.h [] []
/src/icu/source/common/parsepos.cpp [] []
/src/icu/source/common/ucln_cmn.cpp [] []
/src/icu/source/common/./unicode/uenum.h [] []
/src/icu/source/common/brkiter.cpp [] []
/usr/local/include/absl/container/flat_hash_set.h ['fuzz_shortnumberinfo'] []
/src/protobuf/src/google/protobuf/implicit_weak_message.cc [] []
/src/icu/source/common/unames.cpp [] []
/src/icu/source/common/locutil.cpp [] []
/src/icu/source/common/./resource.h [] []
/src/abseil-cpp/absl/strings/internal/memutil.cc ['fuzz_asyoutypeformatter', 'fuzz_util'] []
/usr/local/include/absl/strings/string_view.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/utrace.cpp [] []
/src/icu/source/common/uvectr32.cpp [] []
/usr/local/bin/../include/c++/v1/sstream [] []
/usr/local/include/absl/container/internal/hashtablez_sampler.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/udatamem.cpp [] []
/src/icu/source/common/stringtriebuilder.cpp [] []
/src/icu/source/common/uscript_props.cpp [] []
/src/libphonenumber/cpp/src/phonenumbers/logger.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/usr/local/include/absl/container/internal/hash_function_defaults.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/rbbiscan.cpp [] []
/src/icu/source/common/ubidi_props.cpp [] []
/src/protobuf/src/google/protobuf/stubs/common.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/protobuf/src/google/protobuf/arenastring.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/bytestrie.cpp [] []
/src/abseil-cpp/absl/hash/internal/city.cc [] []
/src/libphonenumber/cpp/src/phonenumbers/base/memory/singleton_posix.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/protobuf/src/google/protobuf/arena_impl.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_util']
/src/libphonenumber/cpp/src/phonenumbers/unicodestring.cc ['fuzz_asyoutypeformatter'] ['fuzz_asyoutypeformatter']
/src/protobuf/src/google/protobuf/arenastring.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/locid.cpp [] []
/src/icu/source/common/uvectr64.cpp [] []
/src/protobuf/src/google/protobuf/stubs/once.h [] []
/src/abseil-cpp/absl/strings/string_view.h [] []
/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_shortnumberinfo.cc ['fuzz_shortnumberinfo'] []
/src/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.cc ['fuzz_shortnumberinfo'] ['fuzz_shortnumberinfo']
/src/abseil-cpp/absl/strings/charconv.h [] []
/src/icu/source/common/locavailable.cpp [] []
/src/icu/source/common/./unicode/unimatch.h [] []
/usr/local/include/absl/container/internal/node_slot_policy.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/locmap.cpp [] []
/src/abseil-cpp/absl/strings/str_cat.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/./normalizer2impl.h [] []
/src/icu/source/common/./unicode/stringtriebuilder.h [] []
/src/protobuf/src/google/protobuf/wire_format_lite.h [] []
/src/icu/source/i18n/repattrn.cpp [] []
/src/icu/source/common/ucmndata.cpp [] []
/src/icu/source/common/unistr_titlecase_brkiter.cpp [] []
/src/icu/source/common/servnotf.cpp [] []
/src/icu/source/common/udataswp.cpp [] []
/src/icu/source/i18n/../common/uvector.h [] []
/src/icu/source/common/util.cpp [] []
/src/icu/source/common/uenum.cpp [] []
/src/icu/source/common/uprops.cpp [] []
/src/icu/source/i18n/./regeximp.h [] []
/src/icu/source/common/propname.cpp [] []
/src/icu/source/common/./cmemory.h [] []
/src/libphonenumber/cpp/build/../test/phonenumbers/fuzz_util.cc ['fuzz_util'] []
/src/protobuf/src/google/protobuf/stubs/port.h [] []
/src/libphonenumber/cpp/src/phonenumbers/stl_util.h [] []
/src/icu/source/common/./uvectr32.h [] []
/src/icu/source/common/filteredbrk.cpp [] []
/src/protobuf/src/google/protobuf/parse_context.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/abseil-cpp/absl/strings/internal/charconv_bigint.h [] []
/src/protobuf/src/google/protobuf/repeated_field.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/i18n/../common/unicode/localpointer.h [] []
/src/icu/source/common/ucharstrie.cpp [] []
/usr/local/include/absl/container/internal/raw_hash_set.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/protobuf/src/google/protobuf/io/zero_copy_stream.h [] []
/usr/local/include/absl/container/internal/compressed_tuple.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/icu/source/common/rbbitblb.cpp [] []
/src/icu/source/common/./uprops.h [] []
/src/icu/source/common/uchar.cpp ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/libphonenumber/cpp/src/phonenumbers/regexp_cache.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/uarrsort.cpp [] []
/src/abseil-cpp/absl/strings/numbers.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h [] []
/src/abseil-cpp/absl/container/internal/raw_hash_set.cc ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/src/protobuf/src/google/protobuf/io/zero_copy_stream.cc [] []
/usr/local/include/absl/strings/str_split.h ['fuzz_matcher'] []
/src/icu/source/common/uinvchar.cpp [] []
/src/protobuf/src/google/protobuf/stubs/stringprintf.cc [] []
/src/icu/source/common/utrie2_builder.cpp [] []
/src/icu/source/common/brkeng.cpp [] []
/src/icu/source/common/rbbinode.cpp [] []
/src/icu/source/common/uniset_closure.cpp [] []
/src/icu/source/common/unistr_case.cpp [] []
/usr/include/unicode/unistr.h [] []
/src/icu/source/common/servlkf.cpp [] []
/src/protobuf/src/google/protobuf/stubs/common.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/usr/local/include/google/protobuf/arenastring.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_util']
/src/libphonenumber/cpp/src/phonenumbers/asyoutypeformatter.cc ['fuzz_asyoutypeformatter'] ['fuzz_asyoutypeformatter']
/usr/local/include/absl/types/internal/optional.h ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/abseil-cpp/absl/types/bad_optional_access.h ['fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/usr/local/include/google/protobuf/parse_context.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] []
/usr/include/unicode/bytestream.h [] []
/src/abseil-cpp/absl/strings/str_cat.h ['fuzz_asyoutypeformatter', 'fuzz_util'] []
/src/libphonenumber/cpp/src/phonenumbers/region_code.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/cstring.cpp [] []
/usr/include/unicode/uobject.h [] []
/src/icu/source/common/uchriter.cpp [] []
/src/icu/source/common/./uresdata.h [] []
/src/libphonenumber/cpp/src/phonenumbers/encoding_utils.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/usr/local/include/google/protobuf/stubs/stringpiece.h ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util'] ['fuzz_asyoutypeformatter', 'fuzz_matcher', 'fuzz_shortnumberinfo', 'fuzz_util']
/src/icu/source/common/servlk.cpp [] []

Directories in report

Directory
/src/libphonenumber/cpp/src/phonenumbers/base/synchronization/
/usr/local/bin/../include/c++/v1/__exception/
/usr/local/include/absl/types/internal/
/usr/local/include/absl/types/
/usr/local/include/absl/strings/
/src/abseil-cpp/absl/base/
/src/icu/source/i18n/./
/usr/local/include/absl/container/
/src/protobuf/src/google/protobuf/stubs/
/usr/include/x86_64-linux-gnu/bits/
/usr/local/include/google/protobuf/
/src/icu/source/i18n/../common/
/usr/local/include/google/protobuf/io/
/usr/include/unicode/
/usr/local/include/absl/hash/internal/
/usr/local/include/absl/memory/
/src/abseil-cpp/absl/strings/internal/
/src/abseil-cpp/absl/numeric/
/src/icu/source/common/
/src/libphonenumber/cpp/src/phonenumbers/base/memory/
/src/icu/source/common/./
/src/abseil-cpp/absl/base/internal/
/usr/local/include/absl/base/internal/
/usr/local/include/absl/numeric/
/usr/local/include/absl/strings/internal/
/src/libphonenumber/cpp/build/../test/phonenumbers/
/usr/local/bin/../include/c++/v1/
/src/protobuf/src/google/protobuf/
/usr/local/include/absl/utility/
/src/abseil-cpp/absl/strings/
/usr/local/include/google/protobuf/stubs/
/src/libphonenumber/cpp/src/phonenumbers/
/src/libphonenumber/cpp/src/phonenumbers/utf/
/src/libphonenumber/cpp/src/phonenumbers/base/strings/
/src/protobuf/src/google/protobuf/io/
/usr/local/include/absl/container/internal/
/src/abseil-cpp/absl/types/
/src/icu/source/common/./unicode/
/src/abseil-cpp/absl/container/internal/
/src/icu/source/i18n/../common/unicode/
/src/abseil-cpp/absl/hash/internal/
/src/icu/source/i18n/