Fuzz introspector: fuzz_command
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
21 166 face.parser.Parser._parse_flags call site: 00166 face.parser.Parser._parse_flagfile
18 35 face.sinter.get_fb call site: 00035 face.command.Command.add
11 12 face.middleware.is_middleware call site: 00012 face.command.Command.add_middleware
7 62 face.command.Command.__init__ call site: 00062 face.utils.unwrap_text
4 25 face.sinter.get_fb call site: 00025 inspect.isbuiltin
4 57 face.command.Command.__init__ call site: 00057 .isinstance
3 78 face.command.Command.add call site: 00078 face.command.Command.add_command
3 106 face.parser.FlagDisplay.__init__ call site: 00106 face.utils.get_type_desc
3 142 face.command.Command.get_dep_names call site: 00142 face.sinter.get_arg_names
2 112 face.command.Command.add call site: 00112 fdp.ConsumeUnicodeNoSurrogates
2 196 face.parser.Parser._resolve_flags call site: 00196 ff_paths.append
1 55 face.command.Command.add call site: 00055 face.command.Command.__init__

Fuzzer calltree

0 ...fuzz_command.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 fdp.ConsumeIntInRange [function] [call site] 00002
1 <builtin>.range [function] [call site] 00003
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00004
1 args.append [function] [call site] 00005
1 fdp.ConsumeIntInRange [function] [call site] 00006
1 <builtin>.range [function] [call site] 00007
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00008
1 face.command.Command.add [function] [call site] 00009
2 face.middleware.is_middleware [function] [call site] 00010
3 <builtin>.callable [function] [call site] 00011
3 <builtin>.getattr [function] [call site] 00012
2 face.command.Command.add_middleware [function] [call site] 00013
3 face.middleware.is_middleware [function] [call site] 00014
3 face.middleware.face_middleware [function] [call site] 00015
4 <builtin>.isinstance [function] [call site] 00016
4 <builtin>.list [function] [call site] 00017
4 <builtin>.isinstance [function] [call site] 00018
4 <builtin>.callable [function] [call site] 00019
4 face.middleware.face_middleware.decorate_face_middleware [function] [call site] 00020
5 face.middleware.check_middleware [function] [call site] 00021
6 <builtin>.callable [function] [call site] 00022
6 face.sinter.get_fb [function] [call site] 00023
7 inspect.isfunction [function] [call site] 00024
7 inspect.ismethod [function] [call site] 00025
7 inspect.isbuiltin [function] [call site] 00026
7 <builtin>.hasattr [function] [call site] 00027
7 <builtin>.getattr [function] [call site] 00028
7 <builtin>.isinstance [function] [call site] 00029
7 <builtin>.getattr [function] [call site] 00030
7 <builtin>.isinstance [function] [call site] 00031
7 boltons.funcutils.FunctionBuilder.from_func [function] [call site] 00032
7 <builtin>.isinstance [function] [call site] 00033
7 <builtin>.all [function] [call site] 00034
7 <builtin>.isinstance [function] [call site] 00035
6 face.sinter.get_callable_labels [function] [call site] 00036
7 <builtin>.isinstance [function] [call site] 00037
7 <builtin>.getattr [function] [call site] 00038
7 <builtin>.getattr [function] [call site] 00039
7 ctx_parts.append [function] [call site] 00040
7 <builtin>.getattr [function] [call site] 00041
7 <builtin>.getattr [function] [call site] 00042
7 face.sinter.get_fb [function] [call site] 00043
7 ctx_parts.insert [function] [call site] 00044
7 fb.get_invocation_str [function] [call site] 00045
6 <builtin>.set [function] [call site] 00046
6 <builtin>.set [function] [call site] 00047
6 <builtin>.list [function] [call site] 00048
5 <builtin>.list [function] [call site] 00049
5 <builtin>.list [function] [call site] 00050
3 face.middleware.check_middleware [function] [call site] 00051
3 face.command.Command.add [function] [call site] 00052
3 collections.OrderedDict.items [function] [call site] 00053
2 <builtin>.isinstance [function] [call site] 00054
2 <builtin>.callable [function] [call site] 00055
2 face.command.Command.__init__ [function] [call site] 00056
3 face.command._get_default_name [function] [call site] 00057
4 <builtin>.isinstance [function] [call site] 00058
4 <builtin>.getattr [function] [call site] 00059
4 boltons.strutils.camel2under [function] [call site] 00060
4 boltons.strutils.camel2under.lower [function] [call site] 00061
3 face.command._docstring_to_doc [function] [call site] 00062
4 face.utils.unwrap_text [function] [call site] 00063
5 text.splitlines [function] [call site] 00064
5 line.strip [function] [call site] 00065
5 cur_graf.append [function] [call site] 00066
5 all_grafs.append [function] [call site] 00067
5 all_grafs.append [function] [call site] 00068
4 unwrapped.splitlines [function] [call site] 00069
3 <builtin>.super [function] [call site] 00070
3 collections.OrderedDict [function] [call site] 00071
3 <builtin>.list [function] [call site] 00072
3 collections.OrderedDict [function] [call site] 00073
3 collections.OrderedDict [function] [call site] 00074
3 face.command.Command.add_middleware [function] [call site] 00075
3 face.command.Command.add [function] [call site] 00076
3 face.command.Command.add [function] [call site] 00077
2 <builtin>.isinstance [function] [call site] 00078
2 face.command.Command.add_command [function] [call site] 00079
3 <builtin>.isinstance [function] [call site] 00080
3 <builtin>.super [function] [call site] 00081
2 <builtin>.isinstance [function] [call site] 00082
2 face.parser.Flag.__init__ [function] [call site] 00083
3 face.utils.flag_to_identifier [function] [call site] 00084
4 <builtin>.isinstance [function] [call site] 00085
4 flag.endswith [function] [call site] 00086
4 flag.endswith [function] [call site] 00087
4 VALID_FLAG_RE.match [function] [call site] 00088
4 face.utils.normalize_flag_name [function] [call site] 00089
5 flag.lstrip [function] [call site] 00090
5 <builtin>.len [function] [call site] 00091
5 <builtin>.len [function] [call site] 00092
5 ret.lower [function] [call site] 00093
5 ret.replace [function] [call site] 00094
4 keyword.iskeyword [function] [call site] 00095
3 <builtin>.callable [function] [call site] 00096
3 face.parser._validate_char [function] [call site] 00097
4 <builtin>.len [function] [call site] 00098
4 <builtin>.len [function] [call site] 00099
3 <builtin>.callable [function] [call site] 00100
3 face.parser.Flag.set_display [function] [call site] 00101
4 <builtin>.isinstance [function] [call site] 00102
4 <builtin>.isinstance [function] [call site] 00103
4 <builtin>.isinstance [function] [call site] 00104
4 face.parser.FlagDisplay.__init__ [function] [call site] 00105
5 <builtin>.callable [function] [call site] 00106
5 face.utils.get_type_desc [function] [call site] 00107
6 <builtin>.callable [function] [call site] 00108
6 <builtin>.repr [function] [call site] 00109
5 <builtin>.callable [function] [call site] 00110
4 <builtin>.isinstance [function] [call site] 00111
2 <builtin>.super [function] [call site] 00112
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00113
1 fdp.ConsumeBool [function] [call site] 00114
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00115
1 face.parser.Parser.parse [function] [call site] 00116
2 face.parser.CommandParseResult.__init__ [function] [call site] 00117
3 <builtin>.tuple [function] [call site] 00118
2 <builtin>.isinstance [function] [call site] 00119
2 <builtin>.list [function] [call site] 00120
2 face.parser.Parser._parse_subcmds [function] [call site] 00121
3 arg.startswith [function] [call site] 00122
3 face.parser._arg_to_subcmd [function] [call site] 00123
4 arg.lower [function] [call site] 00124
3 <builtin>.tuple [function] [call site] 00125
3 <builtin>.tuple [function] [call site] 00126
3 ret.append [function] [call site] 00127
3 <builtin>.len [function] [call site] 00128
2 <builtin>.tuple [function] [call site] 00129
2 <builtin>.tuple [function] [call site] 00130
2 <builtin>.tuple [function] [call site] 00131
2 face.parser.Parser.get_flag_map [function] [call site] 00132
3 flag_map.items [function] [call site] 00133
3 collections.OrderedDict [function] [call site] 00134
2 face.command.Command.get_flag_map [function] [call site] 00135
3 <builtin>.super [function] [call site] 00136
3 face.command.Command.get_dep_names [function] [call site] 00137
4 face.sinter.get_arg_names [function] [call site] 00138
5 face.sinter.get_fb [function] [call site] 00139
5 fb.get_arg_names [function] [call site] 00140
4 <builtin>.set [function] [call site] 00141
4 <builtin>.set [function] [call site] 00142
4 face.sinter.get_arg_names [function] [call site] 00143
4 <builtin>.set [function] [call site] 00144
4 required_args.update [function] [call site] 00145
4 face.utils.get_rdep_map [function] [call site] 00146
5 <builtin>.set [function] [call site] 00147
5 to_proc.pop [function] [call site] 00148
5 cur_chain.append [function] [call site] 00149
5 dep_map.get [function] [call site] 00150
5 to_proc.extend [function] [call site] 00151
5 rdeps.update [function] [call site] 00152
4 <builtin>.sorted [function] [call site] 00153
3 collections.OrderedDict [function] [call site] 00154
3 collections.OrderedDict.items [function] [call site] 00155
3 collections.OrderedDict [function] [call site] 00156
2 face.parser.Parser._parse_flags [function] [call site] 00157
3 boltons.dictutils.OrderedMultiDict [function] [call site] 00158
3 collections.OrderedDict [function] [call site] 00159
3 <builtin>.set [function] [call site] 00160
3 face.parser.Parser._parse_single_flag [function] [call site] 00161
4 arg.split [function] [call site] 00162
4 face.utils.normalize_flag_name [function] [call site] 00163
4 collections.OrderedDict.get [function] [call site] 00164
4 <builtin>.callable [function] [call site] 00165
3 boltons.dictutils.OrderedMultiDict.add [function] [call site] 00166
3 face.parser.Parser._parse_flagfile [function] [call site] 00167
4 collections.OrderedDict [function] [call site] 00168
4 <builtin>.getattr [function] [call site] 00169
4 <builtin>.callable [function] [call site] 00170
4 <builtin>.getattr [function] [call site] 00171
4 os.path.abspath [function] [call site] 00172
4 <builtin>.repr [function] [call site] 00173
4 path_or_file.read [function] [call site] 00174
4 os.path.abspath [function] [call site] 00175
4 codecs.open [function] [call site] 00176
4 boltons.dictutils.OrderedMultiDict [function] [call site] 00178
4 ff_text.splitlines [function] [call site] 00179
4 <builtin>.enumerate [function] [call site] 00180
4 shlex.split [function] [call site] 00181
4 face.parser.Parser._parse_single_flag [function] [call site] 00182
4 boltons.dictutils.OrderedMultiDict.add [function] [call site] 00183
4 face.parser.Parser._parse_flagfile [function] [call site] 00184
3 collections.OrderedDict.items [function] [call site] 00185
3 boltons.dictutils.OrderedMultiDict.update_extend [function] [call site] 00186
3 ff_path_seen.add [function] [call site] 00187
2 collections.OrderedDict [function] [call site] 00188
2 <builtin>.tuple [function] [call site] 00189
2 face.parser.Parser._resolve_flags [function] [call site] 00190
3 collections.OrderedDict [function] [call site] 00191
3 collections.OrderedDict.items [function] [call site] 00192
3 missing_flags.append [function] [call site] 00193
3 collections.OrderedDict.getlist [function] [call site] 00194
3 flag.multi [function] [call site] 00195
3 flagfile_map.items [function] [call site] 00196
3 ff_paths.append [function] [call site] 00197
3 <builtin>.len [function] [call site] 00198
2 collections.OrderedDict [function] [call site] 00199
2 boltons.iterutils.split [function] [call site] 00200
2 prs.post_posargs.parse [function] [call site] 00201
2 <builtin>.tuple [function] [call site] 00202
2 prs.posargs.parse [function] [call site] 00203
2 <builtin>.tuple [function] [call site] 00204