Fuzz introspector: fuzz_parse
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 70 face.parser.Parser._parse_flags call site: 00070 face.parser.Parser._parse_flagfile
6 0 EP call site: 00000 face.parser.Parser.parse
4 28 face.sinter.get_fb call site: 00028 inspect.isbuiltin
3 41 face.command.Command.get_dep_names call site: 00041 face.sinter.get_arg_names
2 100 face.parser.Parser._resolve_flags call site: 00100 ff_paths.append
1 16 face.parser.Parser._parse_subcmds call site: 00016 ret.append
1 52 face.command.Command.get_dep_names call site: 00052 collections.OrderedDict
1 96 face.parser.Parser._resolve_flags call site: 00096 missing_flags.append

Fuzzer calltree

0 ...fuzz_parse.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 face.parser.Parser.parse [function] [call site] 00006
2 face.parser.CommandParseResult.__init__ [function] [call site] 00007
3 <builtin>.tuple [function] [call site] 00008
2 <builtin>.isinstance [function] [call site] 00009
2 <builtin>.list [function] [call site] 00010
2 face.parser.Parser._parse_subcmds [function] [call site] 00011
3 arg.startswith [function] [call site] 00012
3 face.parser._arg_to_subcmd [function] [call site] 00013
4 arg.lower [function] [call site] 00014
3 <builtin>.tuple [function] [call site] 00015
3 <builtin>.tuple [function] [call site] 00016
3 ret.append [function] [call site] 00017
3 <builtin>.len [function] [call site] 00018
2 <builtin>.tuple [function] [call site] 00019
2 <builtin>.tuple [function] [call site] 00020
2 <builtin>.tuple [function] [call site] 00021
2 face.command.Command.get_flag_map [function] [call site] 00022
3 <builtin>.super [function] [call site] 00023
3 face.command.Command.get_dep_names [function] [call site] 00024
4 face.sinter.get_arg_names [function] [call site] 00025
5 face.sinter.get_fb [function] [call site] 00026
6 inspect.isfunction [function] [call site] 00027
6 inspect.ismethod [function] [call site] 00028
6 inspect.isbuiltin [function] [call site] 00029
6 <builtin>.hasattr [function] [call site] 00030
6 <builtin>.getattr [function] [call site] 00031
6 <builtin>.isinstance [function] [call site] 00032
6 <builtin>.getattr [function] [call site] 00033
6 <builtin>.isinstance [function] [call site] 00034
6 boltons.funcutils.FunctionBuilder.from_func [function] [call site] 00035
6 <builtin>.isinstance [function] [call site] 00036
6 <builtin>.all [function] [call site] 00037
6 <builtin>.isinstance [function] [call site] 00038
5 fb.get_arg_names [function] [call site] 00039
4 <builtin>.set [function] [call site] 00040
4 <builtin>.set [function] [call site] 00041
4 face.sinter.get_arg_names [function] [call site] 00042
4 <builtin>.set [function] [call site] 00043
4 required_args.update [function] [call site] 00044
4 face.utils.get_rdep_map [function] [call site] 00045
5 <builtin>.set [function] [call site] 00046
5 to_proc.pop [function] [call site] 00047
5 cur_chain.append [function] [call site] 00048
5 dep_map.get [function] [call site] 00049
5 to_proc.extend [function] [call site] 00050
5 rdeps.update [function] [call site] 00051
4 <builtin>.sorted [function] [call site] 00052
3 collections.OrderedDict [function] [call site] 00053
3 flag_map.items [function] [call site] 00054
3 collections.OrderedDict [function] [call site] 00055
2 face.parser.Parser._parse_flags [function] [call site] 00056
3 boltons.dictutils.OrderedMultiDict [function] [call site] 00057
3 collections.OrderedDict [function] [call site] 00058
3 <builtin>.set [function] [call site] 00059
3 face.parser.Parser._parse_single_flag [function] [call site] 00060
4 arg.split [function] [call site] 00061
4 face.utils.normalize_flag_name [function] [call site] 00062
5 flag.lstrip [function] [call site] 00063
5 <builtin>.len [function] [call site] 00064
5 <builtin>.len [function] [call site] 00065
5 ret.lower [function] [call site] 00066
5 ret.replace [function] [call site] 00067
4 collections.OrderedDict.get [function] [call site] 00068
4 <builtin>.callable [function] [call site] 00069
3 boltons.dictutils.OrderedMultiDict.add [function] [call site] 00070
3 face.parser.Parser._parse_flagfile [function] [call site] 00071
4 collections.OrderedDict [function] [call site] 00072
4 <builtin>.getattr [function] [call site] 00073
4 <builtin>.callable [function] [call site] 00074
4 <builtin>.getattr [function] [call site] 00075
4 os.path.abspath [function] [call site] 00076
4 <builtin>.repr [function] [call site] 00077
4 path_or_file.read [function] [call site] 00078
4 os.path.abspath [function] [call site] 00079
4 codecs.open [function] [call site] 00080
4 boltons.dictutils.OrderedMultiDict [function] [call site] 00082
4 ff_text.splitlines [function] [call site] 00083
4 <builtin>.enumerate [function] [call site] 00084
4 shlex.split [function] [call site] 00085
4 face.parser.Parser._parse_single_flag [function] [call site] 00086
4 boltons.dictutils.OrderedMultiDict.add [function] [call site] 00087
4 face.parser.Parser._parse_flagfile [function] [call site] 00088
3 collections.OrderedDict.items [function] [call site] 00089
3 boltons.dictutils.OrderedMultiDict.update_extend [function] [call site] 00090
3 ff_path_seen.add [function] [call site] 00091
2 collections.OrderedDict [function] [call site] 00092
2 <builtin>.tuple [function] [call site] 00093
2 face.parser.Parser._resolve_flags [function] [call site] 00094
3 collections.OrderedDict [function] [call site] 00095
3 collections.OrderedDict.items [function] [call site] 00096
3 missing_flags.append [function] [call site] 00097
3 pfm.getlist [function] [call site] 00098
3 flag.multi [function] [call site] 00099
3 flagfile_map.items [function] [call site] 00100
3 ff_paths.append [function] [call site] 00101
3 <builtin>.len [function] [call site] 00102
2 collections.OrderedDict [function] [call site] 00103
2 boltons.iterutils.split [function] [call site] 00104
2 prs.post_posargs.parse [function] [call site] 00105
2 <builtin>.tuple [function] [call site] 00106
2 prs.posargs.parse [function] [call site] 00107
2 <builtin>.tuple [function] [call site] 00108