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 73 face.parser.Parser._parse_flags call site: {node_id} face.parser.Parser._parse_flagfile
6 0 EP call site: {node_id} face.parser.Parser.parse
4 31 face.sinter.get_fb call site: {node_id} inspect.isbuiltin
3 44 face.command.Command.get_dep_names call site: {node_id} face.sinter.get_arg_names
2 103 face.parser.Parser._resolve_flags call site: {node_id} ff_paths.append
1 16 face.parser.Parser._parse_subcmds call site: {node_id} ret.append
1 55 face.command.Command.get_dep_names call site: {node_id} collections.OrderedDict
1 99 face.parser.Parser._resolve_flags call site: {node_id} 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 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
2 .isinstance [function] [call site] 00009
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 ret.append [function] [call site] 00017
2 face.parser.Parser.get_flag_map [function] [call site] 00022
3 flag_map.items [function] [call site] 00023
3 collections.OrderedDict [function] [call site] 00024
2 face.command.Command.get_flag_map [function] [call site] 00025
3 face.command.Command.get_dep_names [function] [call site] 00027
4 face.sinter.get_arg_names [function] [call site] 00028
5 face.sinter.get_fb [function] [call site] 00029
6 inspect.isfunction [function] [call site] 00030
6 inspect.ismethod [function] [call site] 00031
6 inspect.isbuiltin [function] [call site] 00032
6 .isinstance [function] [call site] 00035
6 .isinstance [function] [call site] 00037
6 boltons.funcutils.FunctionBuilder.from_func [function] [call site] 00038
6 .isinstance [function] [call site] 00039
6 .isinstance [function] [call site] 00041
5 fb.get_arg_names [function] [call site] 00042
4 face.sinter.get_arg_names [function] [call site] 00045
4 required_args.update [function] [call site] 00047
4 face.utils.get_rdep_map [function] [call site] 00048
5 to_proc.pop [function] [call site] 00050
5 cur_chain.append [function] [call site] 00051
5 dep_map.get [function] [call site] 00052
5 to_proc.extend [function] [call site] 00053
5 rdeps.update [function] [call site] 00054
3 collections.OrderedDict [function] [call site] 00056
3 collections.OrderedDict.items [function] [call site] 00057
3 collections.OrderedDict [function] [call site] 00058
2 face.parser.Parser._parse_flags [function] [call site] 00059
3 boltons.dictutils.OrderedMultiDict [function] [call site] 00060
3 collections.OrderedDict [function] [call site] 00061
3 face.parser.Parser._parse_single_flag [function] [call site] 00063
4 arg.split [function] [call site] 00064
4 face.utils.normalize_flag_name [function] [call site] 00065
4 collections.OrderedDict.get [function] [call site] 00071
4 .callable [function] [call site] 00072
3 boltons.dictutils.OrderedMultiDict.add [function] [call site] 00073
3 face.parser.Parser._parse_flagfile [function] [call site] 00074
4 collections.OrderedDict [function] [call site] 00075
4 .callable [function] [call site] 00077
4 os.path.abspath [function] [call site] 00079
4 path_or_file.read [function] [call site] 00081
4 os.path.abspath [function] [call site] 00082
4 codecs.open [function] [call site] 00083
4 boltons.dictutils.OrderedMultiDict [function] [call site] 00085
4 ff_text.splitlines [function] [call site] 00086
4 .enumerate [function] [call site] 00087
4 shlex.split [function] [call site] 00088
4 face.parser.Parser._parse_single_flag [function] [call site] 00089
4 boltons.dictutils.OrderedMultiDict.add [function] [call site] 00090
4 face.parser.Parser._parse_flagfile [function] [call site] 00091
3 collections.OrderedDict.items [function] [call site] 00092
3 boltons.dictutils.OrderedMultiDict.update_extend [function] [call site] 00093
3 ff_path_seen.add [function] [call site] 00094
2 collections.OrderedDict [function] [call site] 00095
2 face.parser.Parser._resolve_flags [function] [call site] 00097
3 collections.OrderedDict [function] [call site] 00098
3 collections.OrderedDict.items [function] [call site] 00099
3 missing_flags.append [function] [call site] 00100
3 collections.OrderedDict.getlist [function] [call site] 00101
3 flag.multi [function] [call site] 00102
3 flagfile_map.items [function] [call site] 00103
3 ff_paths.append [function] [call site] 00104
2 collections.OrderedDict [function] [call site] 00106
2 boltons.iterutils.split [function] [call site] 00107
2 prs.post_posargs.parse [function] [call site] 00108
2 prs.posargs.parse [function] [call site] 00110