Fuzz introspector: fuzz_raw_format_filecontents
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
50 0 EP call site: {node_id} black.format_file_contents
28 146 black.nodes.preceding_leaf call site: {node_id} black.comments.generate_ignored_nodes
14 363 black.assert_stable call site: {node_id} black.handle_ipynb_magics.put_trailing_semicolon_back
11 99 black.get_features_used call site: {node_id} black.nodes.is_simple_decorator_expression
11 211 black.lines.is_line_short_enough call site: {node_id} black.nodes.is_multiline_string
7 72 black.get_future_imports call site: {node_id} black.get_future_imports.get_imports_from_children
7 224 black.strings.has_triple_quotes call site: {node_id} .len
7 309 black.parsing.parse_single_version call site: {node_id} ast.parse
6 58 black.mode.supports_feature call site: {node_id} black.mode.supports_feature
6 116 black.get_features_used call site: {node_id} .len
5 195 black.lines.EmptyLineTracker._maybe_empty_lines call site: {node_id} black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
4 124 black.get_features_used call site: {node_id} black.mode.supports_feature

Fuzzer calltree

0 ...fuzz_raw_format_filecontents.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00002
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00003
1 black.format_file_contents [function] [call site] 00004
2 black.format_ipynb_string [function] [call site] 00005
3 json.loads [function] [call site] 00006
3 black.validate_metadata [function] [call site] 00007
3 black.format_cell [function] [call site] 00010
4 black.validate_cell [function] [call site] 00011
4 black.handle_ipynb_magics.remove_trailing_semicolon [function] [call site] 00014
5 tokenize_rt.src_to_tokens [function] [call site] 00015
5 tokenize_rt.reversed_enumerate [function] [call site] 00016
5 tokenize_rt.tokens_to_src [function] [call site] 00017
4 black.handle_ipynb_magics.mask_cell [function] [call site] 00018
5 ast.parse [function] [call site] 00019
5 IPython.core.inputtransformer2.TransformerManager [function] [call site] 00020
5 IPython.core.inputtransformer2.TransformerManager.transform_cell [function] [call site] 00021
5 black.handle_ipynb_magics.replace_cell_magics [function] [call site] 00022
6 ast.parse [function] [call site] 00023
6 black.handle_ipynb_magics.CellMagicFinder.__init__ [function] [call site] 00024
6 ast.NodeVisitor.visit [function] [call site] 00025
6 black.handle_ipynb_magics.get_token [function] [call site] 00026
6 replacements.append [function] [call site] 00033
5 IPython.core.inputtransformer2.TransformerManager.transform_cell [function] [call site] 00034
5 black.handle_ipynb_magics.replace_magics [function] [call site] 00035
6 black.handle_ipynb_magics.MagicFinder.__init__ [function] [call site] 00036
7 collections.defaultdict [function] [call site] 00037
6 ast.parse [function] [call site] 00038
6 ast.NodeVisitor.visit [function] [call site] 00039
6 src.splitlines [function] [call site] 00040
6 .enumerate [function] [call site] 00041
6 black.handle_ipynb_magics.get_token [function] [call site] 00043
6 replacements.append [function] [call site] 00044
6 new_srcs.append [function] [call site] 00045
5 transformed.splitlines [function] [call site] 00046
5 src.splitlines [function] [call site] 00048
4 black.format_str [function] [call site] 00050
5 black._format_str_once [function] [call site] 00051
6 src_contents.lstrip [function] [call site] 00052
6 black.parsing.lib2to3_parse [function] [call site] 00053
7 blib2to3.pytree.Node.endswith [function] [call site] 00054
7 black.parsing.get_grammars [function] [call site] 00056
8 black.mode.supports_feature [function] [call site] 00057
8 black.mode.supports_feature [function] [call site] 00059
8 grammars.append [function] [call site] 00060
8 black.mode.supports_feature [function] [call site] 00061
8 grammars.append [function] [call site] 00062
8 grammars.append [function] [call site] 00064
7 blib2to3.pgen2.driver.Driver [function] [call site] 00065
7 drv.parse_string [function] [call site] 00066
7 blib2to3.pytree.Node.splitlines [function] [call site] 00067
7 .isinstance [function] [call site] 00068
7 blib2to3.pytree.Node [function] [call site] 00069
6 black.get_future_imports [function] [call site] 00070
7 .isinstance [function] [call site] 00072
7 .isinstance [function] [call site] 00074
7 black.get_future_imports.get_imports_from_children [function] [call site] 00075
8 .isinstance [function] [call site] 00076
8 .isinstance [function] [call site] 00077
8 black.get_future_imports.get_imports_from_children [function] [call site] 00078
6 black.detect_target_versions [function] [call site] 00080
7 black.get_features_used [function] [call site] 00081
8 blib2to3.pytree.Node.pre_order [function] [call site] 00083
8 black.nodes.is_string_token [function] [call site] 00084
8 features.add [function] [call site] 00085
8 features.add [function] [call site] 00095
8 black.nodes.is_number_token [function] [call site] 00096
8 features.add [function] [call site] 00097
8 features.add [function] [call site] 00098
8 features.add [function] [call site] 00099
8 black.nodes.is_simple_decorator_expression [function] [call site] 00101
8 features.add [function] [call site] 00109
8 features.add [function] [call site] 00110
8 features.add [function] [call site] 00111
8 features.add [function] [call site] 00114
8 features.add [function] [call site] 00116
8 features.add [function] [call site] 00119
8 features.add [function] [call site] 00120
8 features.add [function] [call site] 00122
8 features.add [function] [call site] 00124
8 features.add [function] [call site] 00126
8 features.add [function] [call site] 00127
6 black.mode.supports_feature [function] [call site] 00128
6 black.comments.normalize_fmt_off [function] [call site] 00129
7 black.comments.convert_one_fmt_off_pair [function] [call site] 00130
8 blib2to3.pytree.Node.leaves [function] [call site] 00131
8 black.comments.list_comments [function] [call site] 00132
9 .enumerate [function] [call site] 00134
9 line.lstrip [function] [call site] 00136
9 line.startswith [function] [call site] 00137
9 line.endswith [function] [call site] 00138
9 black.comments.make_comment [function] [call site] 00139
10 content.rstrip [function] [call site] 00140
10 content.lstrip [function] [call site] 00141
9 result.append [function] [call site] 00142
8 black.nodes.preceding_leaf [function] [call site] 00143
9 .isinstance [function] [call site] 00144
9 blib2to3.pytree.Leaf.parent.prev_sibling.leaves [function] [call site] 00145
8 black.comments.generate_ignored_nodes [function] [call site] 00147
9 black.comments._generate_ignored_nodes_from_fmt_skip [function] [call site] 00148
10 black.comments.list_comments [function] [call site] 00149
10 siblings.insert [function] [call site] 00150
10 ignored_nodes.insert [function] [call site] 00151
10 ignored_nodes.insert [function] [call site] 00152
9 black.nodes.container_of [function] [call site] 00154
9 black.comments.is_fmt_on [function] [call site] 00155
10 black.comments.list_comments [function] [call site] 00156
9 black.comments.children_contains_fmt_on [function] [call site] 00157
10 black.nodes.first_leaf_of [function] [call site] 00158
11 .isinstance [function] [call site] 00159
11 black.nodes.first_leaf_of [function] [call site] 00160
10 black.comments.is_fmt_on [function] [call site] 00161
9 .enumerate [function] [call site] 00162
9 .isinstance [function] [call site] 00163
9 black.comments.is_fmt_on [function] [call site] 00164
9 black.comments.children_contains_fmt_on [function] [call site] 00166
9 black.comments.children_contains_fmt_on [function] [call site] 00167
8 hidden_value.endswith [function] [call site] 00170
8 ignored.remove [function] [call site] 00171
8 parent.insert_child [function] [call site] 00172
8 blib2to3.pytree.Leaf [function] [call site] 00173
8 black.nodes.first_leaf_of [function] [call site] 00174
6 black.linegen.LineGenerator.__init__ [function] [call site] 00175
7 black.linegen.LineGenerator.__post_init__ [function] [call site] 00176
8 functools.partial [function] [call site] 00178
8 functools.partial [function] [call site] 00179
8 functools.partial [function] [call site] 00180
8 functools.partial [function] [call site] 00181
8 functools.partial [function] [call site] 00182
8 functools.partial [function] [call site] 00183
8 functools.partial [function] [call site] 00184
8 functools.partial [function] [call site] 00185
8 functools.partial [function] [call site] 00186
8 functools.partial [function] [call site] 00187
8 functools.partial [function] [call site] 00188
8 functools.partial [function] [call site] 00189
6 black.mode.supports_feature [function] [call site] 00190
6 lines.visit [function] [call site] 00191
6 black.lines.EmptyLineTracker.maybe_empty_lines [function] [call site] 00192
7 black.lines.EmptyLineTracker._maybe_empty_lines [function] [call site] 00193
8 first_leaf.prefix.count [function] [call site] 00194
8 black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def [function] [call site] 00197
8 current_line.is_fmt_pass_converted [function] [call site] 00200
6 dst_blocks.append [function] [call site] 00201
6 black.linegen.transform_line [function] [call site] 00202
7 black.lines.line_to_string [function] [call site] 00203
7 black.trans.StringTransformer.__init__ [function] [call site] 00205
7 black.trans.StringTransformer.__init__ [function] [call site] 00206
7 black.trans.StringTransformer.__init__ [function] [call site] 00207
7 black.trans.StringTransformer.__init__ [function] [call site] 00208
7 line.contains_uncollapsable_type_comments [function] [call site] 00209
7 black.lines.is_line_short_enough [function] [call site] 00210
8 black.lines.line_to_string [function] [call site] 00211
8 line.contains_standalone_comments [function] [call site] 00212
8 line.contains_standalone_comments [function] [call site] 00213
8 line_str.split [function] [call site] 00214
8 .enumerate [function] [call site] 00215
8 commas.append [function] [call site] 00217
8 commas.pop [function] [call site] 00219
8 black.nodes.is_multiline_string [function] [call site] 00222
9 black.strings.has_triple_quotes [function] [call site] 00223
10 string.lstrip [function] [call site] 00224
8 multiline_string_contexts.append [function] [call site] 00227
7 line.contains_unsplittable_type_ignore [function] [call site] 00230
7 line.contains_standalone_comments [function] [call site] 00231
7 transformers.append [function] [call site] 00233
7 black.linegen.run_transformer [function] [call site] 00234
8 black.lines.line_to_string [function] [call site] 00235
8 black.linegen.transform_line [function] [call site] 00237
8 result.extend [function] [call site] 00238
8 line.contains_multiline_strings [function] [call site] 00241
8 black.lines.is_line_short_enough [function] [call site] 00242
8 line.clone [function] [call site] 00244
8 black.lines.append_leaves [function] [call site] 00245
9 blib2to3.pytree.Leaf [function] [call site] 00246
9 black.nodes.replace_child [function] [call site] 00247
10 old_child.remove [function] [call site] 00248
10 parent.insert_child [function] [call site] 00249
9 black.lines.Line.append [function] [call site] 00250
10 blib2to3.pytree.Leaf.value.strip [function] [call site] 00251
10 black.nodes.whitespace [function] [call site] 00253
11 black.nodes.preceding_leaf [function] [call site] 00254
11 black.nodes.parent_type [function] [call site] 00255
11 black.nodes.parent_type [function] [call site] 00256
11 black.nodes.is_vararg [function] [call site] 00257
11 black.nodes.preceding_leaf [function] [call site] 00258
11 black.nodes.preceding_leaf [function] [call site] 00259
11 black.nodes.preceding_leaf [function] [call site] 00260
11 black.nodes.preceding_leaf [function] [call site] 00261
10 black.lines.Line.is_complex_subscript [function] [call site] 00262
11 .isinstance [function] [call site] 00263
11 black.nodes.child_towards [function] [call site] 00264
11 subscript_start.pre_order [function] [call site] 00266
10 black.lines.Line.has_magic_trailing_comma [function] [call site] 00267
11 black.nodes.is_one_sequence_between [function] [call site] 00268
12 .enumerate [function] [call site] 00269
11 black.nodes.is_one_sequence_between [function] [call site] 00270
11 black.nodes.is_one_sequence_between [function] [call site] 00271
10 black.lines.Line.has_magic_trailing_comma [function] [call site] 00272
10 black.lines.Line.remove_trailing_comma [function] [call site] 00273
10 black.lines.Line.append_comment [function] [call site] 00276
11 last_leaf.parent.leaves [function] [call site] 00277
11 black.nodes.is_type_comment [function] [call site] 00280
12 blib2to3.pytree.Leaf.value.startswith [function] [call site] 00281
9 black.lines.Line.comments_after [function] [call site] 00284
9 black.lines.Line.append [function] [call site] 00286
8 black.linegen.run_transformer [function] [call site] 00287
8 black.lines.is_line_short_enough [function] [call site] 00288
6 block.content_lines.append [function] [call site] 00291
6 black.lines.LinesBlock.all_lines [function] [call site] 00292
6 dst_contents.extend [function] [call site] 00294
6 src_contents.encode [function] [call site] 00295
6 black.decode_bytes [function] [call site] 00296
7 io.BytesIO [function] [call site] 00297
7 tokenize.detect_encoding [function] [call site] 00298
7 srcbuf.seek [function] [call site] 00299
7 io.TextIOWrapper [function] [call site] 00300
7 tiow.read [function] [call site] 00301
5 black._format_str_once [function] [call site] 00302
4 black.check_stability_and_equivalence [function] [call site] 00303
5 black.assert_equivalent [function] [call site] 00304
6 black.parsing.parse_ast [function] [call site] 00305
7 black.parsing.parse_single_version [function] [call site] 00308
8 ast.parse [function] [call site] 00309
8 ast.parse [function] [call site] 00310
8 typed_ast.ast3.parse [function] [call site] 00311
8 ast.parse [function] [call site] 00312
8 typed_ast.ast3.parse [function] [call site] 00313
8 ast.parse [function] [call site] 00314
8 typed_ast.ast3.parse [function] [call site] 00315
8 ast.parse [function] [call site] 00316
7 black.parsing.parse_single_version [function] [call site] 00319
6 black.parsing.parse_ast [function] [call site] 00320
6 traceback.format_tb [function] [call site] 00321
6 black.output.dump_to_file [function] [call site] 00322
7 tempfile.NamedTemporaryFile [function] [call site] 00323
6 black.parsing.stringify_ast [function] [call site] 00326
7 black.parsing.fixup_ast_constants [function] [call site] 00327
8 .isinstance [function] [call site] 00328
8 ast.Constant [function] [call site] 00329
8 .isinstance [function] [call site] 00330
8 ast.Constant [function] [call site] 00331
8 .isinstance [function] [call site] 00332
8 ast.Constant [function] [call site] 00333
7 .isinstance [function] [call site] 00335
7 .isinstance [function] [call site] 00337
7 .isinstance [function] [call site] 00338
7 .isinstance [function] [call site] 00339
7 black.parsing.stringify_ast [function] [call site] 00340
7 .isinstance [function] [call site] 00341
7 black.parsing.stringify_ast [function] [call site] 00342
7 .isinstance [function] [call site] 00343
7 black.parsing.stringify_ast [function] [call site] 00344
7 .isinstance [function] [call site] 00345
7 .isinstance [function] [call site] 00346
7 black.parsing._normalize [function] [call site] 00347
8 value.splitlines [function] [call site] 00349
8 lineend.join [function] [call site] 00350
8 normalized.strip [function] [call site] 00351
6 black.parsing.stringify_ast [function] [call site] 00352
6 black.output.diff [function] [call site] 00353
7 a.splitlines [function] [call site] 00354
7 b.splitlines [function] [call site] 00355
7 difflib.unified_diff [function] [call site] 00356
7 diff_lines.append [function] [call site] 00357
7 diff_lines.append [function] [call site] 00358
7 diff_lines.append [function] [call site] 00359
6 black.output.dump_to_file [function] [call site] 00360
5 black.assert_stable [function] [call site] 00361
6 black._format_str_once [function] [call site] 00362
6 black.output.dump_to_file [function] [call site] 00363
6 black.output.diff [function] [call site] 00365
6 black.output.diff [function] [call site] 00366
4 black.handle_ipynb_magics.unmask_cell [function] [call site] 00367
5 src.replace [function] [call site] 00368
4 black.handle_ipynb_magics.put_trailing_semicolon_back [function] [call site] 00369
5 tokenize_rt.src_to_tokens [function] [call site] 00370
5 tokenize_rt.reversed_enumerate [function] [call site] 00371
5 token._replace [function] [call site] 00372
5 tokenize_rt.tokens_to_src [function] [call site] 00373
4 dst.rstrip [function] [call site] 00375
3 dst.splitlines [function] [call site] 00376
3 json.dumps [function] [call site] 00377
2 black.format_str [function] [call site] 00378
2 black.check_stability_and_equivalence [function] [call site] 00379