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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
33 133 croniter.croniter._calc call site: 00133 croniter.croniter._calc
5 53 croniter.croniter._expand call site: 00053 croniter.croniter._get_low_from_current_date_number
3 119 croniter.croniter.timestamp_to_datetime call site: 00119 result.replace
2 14 croniter.croniter._expand call site: 00014 expressions.pop
2 47 croniter.croniter._expand call site: 00047 croniter.croniter.value_alias
2 77 croniter.croniter._expand call site: 00077 .int
2 115 croniter.croniter.timestamp_to_datetime call site: 00115 EPOCH.replace
1 7 croniter.croniter.is_valid call site: 00007 hash_id.encode
1 28 croniter.croniter._expand call site: 00028 .str
1 59 croniter.croniter._expand call site: 00059 .range
1 69 croniter.croniter._expand call site: 00069 .range
1 98 croniter.croniter.__init__ call site: 00098 hash_id.encode

Fuzzer calltree

0 ...fuzz_iter.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 datetime.datetime [function] [call site] 00002
1 fdp.ConsumeString [function] [call site] 00003
1 fdp.ConsumeBytes [function] [call site] 00004
1 croniter.croniter.is_valid [function] [call site] 00005
2 <builtin>.isinstance [function] [call site] 00006
2 <builtin>.isinstance [function] [call site] 00007
2 hash_id.encode [function] [call site] 00008
2 croniter.croniter.expand [function] [call site] 00009
3 croniter.croniter._expand [function] [call site] 00010
4 expr_format.lower [function] [call site] 00011
4 efl.split [function] [call site] 00012
4 <builtin>.len [function] [call site] 00013
4 <builtin>.len [function] [call site] 00014
4 expressions.pop [function] [call site] 00015
4 expressions.insert [function] [call site] 00016
4 <builtin>.enumerate [function] [call site] 00017
4 EXPANDERS.items [function] [call site] 00018
4 expr.split [function] [call site] 00019
4 <builtin>.len [function] [call site] 00020
4 e_list.pop [function] [call site] 00021
4 <builtin>.str [function] [call site] 00022
4 special_dow_re.match [function] [call site] 00023
4 special_dow_rem.groupdict [function] [call site] 00024
4 <builtin>.int [function] [call site] 00027
4 <builtin>.str [function] [call site] 00029
4 step_search_re.search [function] [call site] 00030
4 <builtin>.str [function] [call site] 00031
4 step_search_re.search [function] [call site] 00033
4 only_int_re.search [function] [call site] 00037
4 croniter.croniter._alphaconv [function] [call site] 00038
4 <builtin>.str [function] [call site] 00039
4 only_int_re.search [function] [call site] 00040
4 croniter.croniter._alphaconv [function] [call site] 00041
4 <builtin>.str [function] [call site] 00042
4 <builtin>.str [function] [call site] 00043
4 only_int_re.search [function] [call site] 00044
4 <builtin>.int [function] [call site] 00045
4 <builtin>.str [function] [call site] 00046
4 only_int_re.search [function] [call site] 00047
4 <builtin>.int [function] [call site] 00048
4 croniter.croniter.value_alias [function] [call site] 00049
5 <builtin>.isinstance [function] [call site] 00050
5 <builtin>.len [function] [call site] 00051
4 <builtin>.max [function] [call site] 00052
4 <builtin>.max [function] [call site] 00053
4 croniter.croniter._get_low_from_current_date_number [function] [call site] 00054
5 datetime.datetime.fromtimestamp [function] [call site] 00055
5 dt.weekday [function] [call site] 00056
4 <builtin>.int [function] [call site] 00057
4 <builtin>.int [function] [call site] 00058
4 <builtin>.list [function] [call site] 00059
4 <builtin>.range [function] [call site] 00060
4 <builtin>.range [function] [call site] 00061
4 <builtin>.list [function] [call site] 00062
4 <builtin>.reversed [function] [call site] 00063
4 <builtin>.list [function] [call site] 00064
4 whole_field_range.index [function] [call site] 00065
4 <builtin>.len [function] [call site] 00066
4 <builtin>.range [function] [call site] 00067
4 <builtin>.list [function] [call site] 00068
4 <builtin>.list [function] [call site] 00069
4 <builtin>.range [function] [call site] 00070
4 <builtin>.range [function] [call site] 00071
4 <builtin>.list [function] [call site] 00072
4 t.startswith [function] [call site] 00073
4 star_or_int_re.search [function] [call site] 00074
4 croniter.croniter._alphaconv [function] [call site] 00075
4 <builtin>.int [function] [call site] 00076
4 croniter.croniter.value_alias [function] [call site] 00077
4 <builtin>.int [function] [call site] 00078
4 <builtin>.int [function] [call site] 00079
4 res.append [function] [call site] 00080
4 <builtin>.set [function] [call site] 00081
4 <builtin>.set [function] [call site] 00082
4 <builtin>.sorted [function] [call site] 00083
4 <builtin>.len [function] [call site] 00084
4 <builtin>.len [function] [call site] 00085
4 expanded.append [function] [call site] 00086
4 <builtin>.set [function] [call site] 00087
4 nth_weekday_of_month.keys [function] [call site] 00088
4 dow_expanded_set.difference [function] [call site] 00089
4 dow_expanded_set.discard [function] [call site] 00090
4 <builtin>.set [function] [call site] 00091
4 <builtin>.len [function] [call site] 00092
3 <builtin>.isinstance [function] [call site] 00093
3 traceback.format_exc [function] [call site] 00094
1 croniter.croniter.__init__ [function] [call site] 00095
2 <builtin>.bool [function] [call site] 00096
2 <builtin>.isinstance [function] [call site] 00097
2 <builtin>.isinstance [function] [call site] 00098
2 hash_id.encode [function] [call site] 00099
2 <builtin>.int [function] [call site] 00100
2 <builtin>.max [function] [call site] 00101
2 time.time [function] [call site] 00102
2 croniter.croniter.set_current [function] [call site] 00103
3 <builtin>.isinstance [function] [call site] 00104
3 croniter.croniter.datetime_to_timestamp [function] [call site] 00105
4 croniter.croniter.datetime_to_timestamp [function] [call site] 00106
2 croniter.croniter.expand [function] [call site] 00107
2 <builtin>.len [function] [call site] 00108
1 croniter.croniter.all_next [function] [call site] 00109
2 croniter.croniter._get_next [function] [call site] 00110
3 croniter.croniter.set_current [function] [call site] 00111
3 <builtin>.issubclass [function] [call site] 00112
3 croniter.croniter._calc_next [function] [call site] 00113
4 croniter.croniter.timestamp_to_datetime [function] [call site] 00114
5 <builtin>.repr [function] [call site] 00115
5 EPOCH.replace [function] [call site] 00116
5 datetime.timedelta [function] [call site] 00117
5 dateutil.tz.tzutc [function] [call site] 00118
5 datetime.datetime.fromtimestamp [function] [call site] 00119
5 result.replace [function] [call site] 00120
4 re_star.match [function] [call site] 00121
4 re_star.match [function] [call site] 00122
4 croniter.croniter._calc [function] [call site] 00123
5 dateutil.relativedelta.relativedelta [function] [call site] 00124
5 <builtin>.len [function] [call site] 00125
5 dateutil.relativedelta.relativedelta [function] [call site] 00126
5 dateutil.relativedelta.relativedelta [function] [call site] 00127
5 now.replace [function] [call site] 00128
5 <builtin>.len [function] [call site] 00129
5 unaware_time.replace [function] [call site] 00130
5 unaware_time.replace [function] [call site] 00131
5 <builtin>.abs [function] [call site] 00132
5 unaware_time.replace [function] [call site] 00133
5 croniter._add_tzinfo [function] [call site] 00134
6 <builtin>.getattr [function] [call site] 00135
6 datetime.timedelta [function] [call site] 00136
6 closer.astimezone [function] [call site] 00137
6 farther.astimezone [function] [call site] 00138
6 croniter._is_successor [function] [call site] 00139
7 date.astimezone [function] [call site] 00140
7 previous_date.astimezone [function] [call site] 00141
7 date.astimezone [function] [call site] 00142
7 previous_date.astimezone [function] [call site] 00143
6 croniter._is_successor [function] [call site] 00144
6 date.replace [function] [call site] 00145
6 dateutil.tz.datetime_exists [function] [call site] 00146
6 dateutil.tz.datetime_exists [function] [call site] 00147
6 datetime.timedelta [function] [call site] 00148
6 date.replace [function] [call site] 00149
6 result.utcoffset [function] [call site] 00150
6 farther.utcoffset [function] [call site] 00151
6 result.astimezone [function] [call site] 00152
6 farther.astimezone [function] [call site] 00153
6 croniter._is_successor [function] [call site] 00154
6 croniter._is_successor [function] [call site] 00155
5 croniter._is_successor [function] [call site] 00156
5 croniter.croniter._calc [function] [call site] 00157
5 croniter._add_tzinfo [function] [call site] 00158
5 croniter._timezone_delta [function] [call site] 00159
6 date1.utcoffset [function] [call site] 00160
6 date2.utcoffset [function] [call site] 00161
5 now.replace [function] [call site] 00162
5 croniter.croniter._calc [function] [call site] 00163
5 croniter._add_tzinfo [function] [call site] 00164
5 croniter._is_successor [function] [call site] 00165
5 croniter._is_successor [function] [call site] 00166
4 croniter.croniter._calc [function] [call site] 00167
4 croniter.croniter._calc [function] [call site] 00168
3 croniter.croniter.datetime_to_timestamp [function] [call site] 00169
3 <builtin>.issubclass [function] [call site] 00170
1 croniter.croniter.get_next [function] [call site] 00171
2 croniter.croniter._get_next [function] [call site] 00172
1 croniter.croniter.get_prev [function] [call site] 00173
2 croniter.croniter._get_next [function] [call site] 00174
1 <builtin>.str [function] [call site] 00175