A()
— Mining Input Grammars (Tracking variable assignment locations), Mining Input Grammars (AssignmentTracker)A1_GRAMMAR
— Parsing Inputs (Grammars), Parsing Inputs (Grammars), Parsing Inputs (Recursion), Parsing Inputs (Ambiguity), Parsing Inputs (Background), Parsing Inputs (Exercise 6: First Set of a Nonterminal), Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)A2_GRAMMAR
— Parsing Inputs (Grammars), Parsing Inputs (Grammars), Parsing Inputs (Background)A3_GRAMMAR
— Parsing Inputs (Extracting Trees), Parsing Inputs (Ambiguous Parsing)add()
— Parsing Inputs (Columns)addDebug()
— Railroad DiagramsaddTo()
— Railroad Diagramsadd_call()
— Carving Unit Tests (Recording Calls)add_calls()
— Control Flow Graph (CFGNode)add_child()
— Control Flow Graph (CFGNode)add_coverage()
— Grammar Coverage (Tracking Grammar Coverage), Probabilistic Grammar Fuzzing (Counting Expansions)add_element()
— Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)add_group()
— Testing Configurations (A Grammar Miner for Options and Arguments)add_int_rule()
— Testing Configurations (A Grammar Miner for Options and Arguments)add_metavar_rule()
— Testing Configurations (A Grammar Miner for Options and Arguments)add_new_airport()
— Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers), Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)add_parameter()
— Testing Configurations (A Grammar Miner for Options and Arguments)add_parent()
— Control Flow Graph (CFGNode)add_parents()
— Control Flow Graph (CFGNode)add_result()
— Carving Unit Tests (Part 1: Store function results)add_str_rule()
— Testing Configurations (A Grammar Miner for Options and Arguments)add_transitive()
— Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser)add_tree()
— Probabilistic Grammar Fuzzing (Counting Expansions), Mining Input Grammars (Recovering Grammars from Derivation Trees)add_tree_coverage()
— Fuzzing with Generators (Generators and Grammar Coverage)add_type_rule()
— Testing Configurations (A Grammar Miner for Options and Arguments)__add__()
— Tracking Information Flow (Concatenation)advance()
— Parsing Inputs (Items), Parsing Inputs (States)airport_codes_repOK()
— Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)all_terminals()
— Efficient Grammar Fuzzing (Representing Derivation Trees)alternate_reductions()
— Reducing Failure-Inducing Inputs (Alternate Expansions)AlternatingSequence
class — Railroad Diagramsannotate_edge()
— Efficient Grammar Fuzzing (Representing Derivation Trees)annotate_node()
— Efficient Grammar Fuzzing (Representing Derivation Trees)any_possible_expansions()
— Efficient Grammar Fuzzing (Expanding a Tree)apply_new_definition()
— Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree)apply_result()
— Fuzzing with Generators (Generating Elements before Expansion)apply_twice()
— Fuzzing with Generators (Functions Called Before Expansion)arc()
— Railroad Diagramsarc_8()
— Railroad Diagramsarguments()
— Carving Unit Tests (Recording Calls)ARGUMENTS_SYMBOL
— Testing Configurations (A Grammar Miner for Options and Arguments)AR
— Railroad DiagramsASCII_STRING_EBNF_GRAMMAR
— Fuzzing APIs (Strings)ASCII_STRING_GRAMMAR
— Fuzzing APIs (Strings)assertEquals()
— Introduction to Software Testing (Automating Test Execution)assignments()
— Mining Input Grammars (DefineTracker)AssignmentTracker
class — Mining Input Grammars (AssignmentTracker), Mining Input Grammars (AssignmentTracker), Mining Input Grammars (AssignmentTracker)AssignmentVars
class — Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars)at()
— Mining Input Grammars (CallStack)ATTACKS
— Testing Web Applications (Fully Automatic Web Attacks)ATTR_GRAMMAR
— Fuzzing with Generators (Exercise 2: Attribute Grammars)at_dot()
— Parsing Inputs (Items)autopep8()
— Testing Configurations (Autopep8 Setup)average_length_until_full_coverage()
— Grammar Coverage (Tracking Grammar Coverage)B()
— Mining Input Grammars (Tracking variable assignment locations), Mining Input Grammars (AssignmentTracker)BetterHTTPRequestHandler
class — Testing Web Applications (Part 1: Silent Failures), Testing Web Applications (Part 2: Sanitized HTML), Testing Web Applications (Part 3: Sanitized SQL), Testing Web Applications (Part 4: A Robust Server)BETTER_HTML_INTERNAL_SERVER_ERROR
— Testing Web Applications (Part 1: Silent Failures)BinaryProgramRunner
class — Fuzzing: Breaking Things with Random Inputs (Runner Classes)BIRD
— Fuzzing: Breaking Things with Random Inputs (Checking Memory Accesses)BODY
— Getting Coverage (A Coverage Class), Getting Coverage (A Coverage Class), Getting Coverage (A Coverage Class)BranchCoverage
class — Getting Coverage (Part 1: Compute branch coverage)branch_coverage()
— Getting Coverage (Part 1: Compute branch coverage)BROWSER
— Testing Graphical User Interfaces (Remote Control with Selenium)C()
— Mining Input Grammars (Tracking variable assignment locations), Mining Input Grammars (AssignmentTracker)CachingReducer
class — Reducing Failure-Inducing Inputs (Delta Debugging)CallCarver
class — Carving Unit Tests (Recording Calls), Carving Unit Tests (Recording Calls)called_functions()
— Carving Unit Tests (Recording Calls)CallGrammarMiner
class — Carving Unit Tests (A Grammar Miner for Calls), Carving Unit Tests (Initial Grammar), Carving Unit Tests (A Grammar from Arguments), Carving Unit Tests (A Grammar from Calls), Carving Unit Tests (A Grammar from all Calls)calls()
— Carving Unit Tests (Recording Calls)CallStack
class — Mining Input Grammars (CallStack), Mining Input Grammars (CallStack)call_string()
— Carving Unit Tests (Serializing Objects)CALL_SYMBOL
— Carving Unit Tests (Initial Grammar)call_value()
— Carving Unit Tests (Serializing Objects)cancel()
— Error Handling (Catching Timeouts)candidate()
— Fuzzing with Input Fragments (Candidate), Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)canonical()
— Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)canonical_expr()
— Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)capitalize()
— Tracking Information Flow (String methods that do not change origin)Carver
class — Carving Unit Tests (Recording Calls)CFGNode
class — Control Flow Graph (CFGNode)cgi_decode()
— Getting Coverage (A CGI Decoder), Getting Coverage (Tracing Executions), Control Flow Graph (cgi_decode)cgi_decode_traced()
— Getting Coverage (Tracing Executions)cgi_encode()
— Testing Web Applications (Fuzzing with Expected Values)CGI_GRAMMAR
— Fuzzing with Grammars (A CGI Grammar), Testing Web Applications (Mining Grammars for Web Pages)CHARACTERS_WITHOUT_QUOTE
— Fuzzing with Grammars (Exercise 1: A JSON Grammar)CHARGE_GRAMMAR
— Fuzzing with Generators (Example: Test a Credit Card System), Fuzzing with Generators (Example: Numeric Ranges)chart_parse()
— Parsing Inputs (The Parsing Algorithm)CHAR_WIDTH
— Railroad Diagramscheck()
— Testing Graphical User Interfaces (Executing User Interface Actions)check_diversity()
— Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)check_grammar()
— Efficient Grammar Fuzzing (Expanding a Node), Probabilistic Grammar Fuzzing (Expanding by Probability)check_param()
— Mining Input Grammars (Exercise 1: Flattening complex objects)check_time()
— Error Handling (Catching Timeouts)check_triangle()
— Control Flow Graph (check_triangle)CHILDREN
— Efficient Grammar Fuzzing (Representing Derivation Trees), Efficient Grammar Fuzzing (Representing Derivation Trees)Choice
class — Railroad Diagramschoose_covered_node_expansion()
— Grammar Coverage (Covering Grammar Expansions), Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)choose_node_expansion()
— Efficient Grammar Fuzzing (Expanding a Node), Grammar Coverage (Tracking Grammar Coverage), Grammar Coverage (Covering Grammar Expansions), Grammar Coverage (All Together), Probabilistic Grammar Fuzzing (Expanding by Probability), Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)choose_tree_expansion()
— Efficient Grammar Fuzzing (Expanding a Tree), Fuzzing with Generators (Ordering Expansions)choose_uncovered_node_expansion()
— Grammar Coverage (Covering Grammar Expansions), Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)clean_grammar()
— Mining Input Grammars (Grammar Mining)clear_httpd_messages()
— Testing Web Applications (Logging)clear_origin()
— Tracking Information Flow (A Class for Tracking Character Origins)clear_symbol_table()
— Fuzzing with Generators (Definitions and Uses)clear_taint()
— Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (A Class for Tracking Character Origins)click()
— Testing Graphical User Interfaces (Executing User Interface Actions)clock()
— Timer (Measuring Time)coalesce()
— Parsing Inputs (Ambiguity)code_repOK()
— Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)collapse_if_too_large()
— Fuzzing: Breaking Things with Random Inputs (Missing Error Checks)Column
class — Parsing Inputs (Columns), Parsing Inputs (Columns), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser)comma_split()
— Parsing Inputs (An Ad Hoc Parser)COMMENT_CHAR_WIDTH
— Railroad DiagramsComment
class — Railroad Diagramscomplete()
— Parsing Inputs (Completing Processing), Parsing Inputs (Exercise 5: Leo Parser)compute_dominator()
— Control Flow Graph (Supporting Functions)compute_flow()
— Control Flow Graph (Supporting Functions)compute_gcd()
— Control Flow Graph (gcd)CONDITION
— Getting Coverage (Exercise 2: Branch Coverage), Getting Coverage (Exercise 2: Branch Coverage), Getting Coverage (Exercise 2: Branch Coverage)CONSTRAINED_VAR_GRAMMAR
— Fuzzing with Generators (Definitions and Uses), Fuzzing with Generators (Definitions and Uses), Fuzzing with Generators (Definitions and Uses), Fuzzing with Generators (Definitions and Uses), Fuzzing with Generators (Definitions and Uses), Fuzzing with Generators (Ordering Expansions), Fuzzing with Generators (Ordering Expansions)Context
class — Mining Input Grammars (Context), Mining Input Grammars (Context), Mining Input Grammars (Exercise 1: Flattening complex objects)convert()
— Tracking Information Flow (Inserting Data)convert_ebnf_grammar()
— Fuzzing with Grammars (All Together)convert_ebnf_operators()
— Fuzzing with Grammars (Expanding Operators)convert_ebnf_parentheses()
— Fuzzing with Grammars (Expanding Parenthesized Expressions)copy()
— Parsing Inputs (States), Parsing Inputs (Exercise 5: Leo Parser)counts()
— Probabilistic Grammar Fuzzing (Counting Expansions)count_expansions()
— Probabilistic Grammar Fuzzing (Counting Expansions)coverage()
— Getting Coverage (A Coverage Class), Getting Coverage (Part 1: Compute branch coverage), Mutation-Based Fuzzing (Guiding by Coverage)Coverage
class — Getting Coverage (A Coverage Class)cpp_identifiers()
— Testing Configurations (Part 1: Extract Preprocessor Variables)crange()
— Fuzzing with Grammars (Character Classes)crash_if_too_long()
— Fuzzing: Breaking Things with Random Inputs (Buffer Overflows)crawl()
— Testing Web Applications (Crawling User Interfaces)create()
— Tracking Information Flow (String Operators), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (Create), Tracking Information Flow (Part 2: Arithmetic expressions)create_candidate()
— Mutation-Based Fuzzing (Multiple Mutations)create_foo_py()
— Testing Configurations (Creating Autopep8 Options)create_table()
— Tracking Information Flow (Representing Tables)CSV_GRAMMAR
— Parsing Inputs (Fuzzing a Simple Program)C_SAMPLE_GRAMMAR
— Parsing Inputs (The Earley Parser)C
class — Railroad DiagramsDB
— Tracking Information Flow (Executing SQL Statements), Tracking Information Flow (Tracking Untrusted Input), Tracking Information Flow (TaintedDB)DB
class — Tracking Information Flow (A Vulnerable Database), Tracking Information Flow (Representing Tables), Tracking Information Flow (Representing Tables), Tracking Information Flow (Executing SQL Statements), Tracking Information Flow (Selecting Data), Tracking Information Flow (Selecting Data), Tracking Information Flow (Selecting Data), Tracking Information Flow (Inserting Data), Tracking Information Flow (Inserting Data), Tracking Information Flow (Updating Data), Tracking Information Flow (Deleting Data)DEBUG
— Railroad Diagramsdecrange()
— Probabilistic Grammar Fuzzing (Probabilities in Context)default_edge_attr()
— Efficient Grammar Fuzzing (Representing Derivation Trees)default_graph_attr()
— Efficient Grammar Fuzzing (Representing Derivation Trees)default_node_attr()
— Efficient Grammar Fuzzing (Representing Derivation Trees)DEFAULT_ORIGIN
— Tracking Information Flow (A Class for Tracking Character Origins)DEFAULT_STYLE
— Railroad Diagramsdefined_vars()
— Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars)DefineTracker
class — Mining Input Grammars (DefineTracker), Mining Input Grammars (DefineTracker), Mining Input Grammars (DefineTracker), Mining Input Grammars (DefineTracker), Mining Input Grammars (DefineTracker), Mining Input Grammars (DefineTracker)define_expr()
— Fuzzing with Grammars (Part 1 (b): Alternative representations)define_ex_grammar()
— Fuzzing with Grammars (Part 1 (b): Alternative representations)define_grammar()
— Fuzzing with Grammars (Part 1 (a): One Single Function)define_id()
— Fuzzing with Generators (Definitions and Uses)define_name()
— Fuzzing with Grammars (Part 1 (b): Alternative representations)def_used_nonterminals()
— Fuzzing with Grammars (Checking Grammars)DELAY_AFTER_CHECK
— Testing Graphical User Interfaces (Executing User Interface Actions)DELAY_AFTER_CLICK
— Testing Graphical User Interfaces (Executing User Interface Actions)DELAY_AFTER_FILL
— Testing Graphical User Interfaces (Executing User Interface Actions)DELAY_AFTER_SUBMIT
— Testing Graphical User Interfaces (Executing User Interface Actions)delete_element()
— Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)delete_random_character()
— Mutation-Based Fuzzing (Mutating Inputs)DELETE
— Testing Web Applications (SQL Injection Attacks)DeltaDebuggingReducer
class — Reducing Failure-Inducing Inputs (Delta Debugging)determineGaps()
— Railroad Diagramsdeterministic_reduction()
— Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser)DiagramItem
class — Railroad DiagramsDIAGRAM_CLASS
— Railroad DiagramsDiagram
class — Railroad DiagramsDIGIT_GRAMMAR
— Fuzzing with Grammars (Representing Grammars in Python)display_annotated_tree()
— Efficient Grammar Fuzzing (Representing Derivation Trees)display_httpd_message()
— Testing Web Applications (Logging)display_stack()
— Mining Input Grammars (CallStack)display_tree()
— Efficient Grammar Fuzzing (Representing Derivation Trees)dot_escape()
— Efficient Grammar Fuzzing (Representing Derivation Trees)doubleenumerate()
— Railroad Diagramsdown()
— Railroad Diagramsdo_call()
— Fuzzing APIs (Synthesizing Code)do_check()
— Testing Graphical User Interfaces (Executing User Interface Actions)do_click()
— Testing Graphical User Interfaces (Executing User Interface Actions)do_delete()
— Tracking Information Flow (Executing SQL Statements), Tracking Information Flow (Deleting Data)do_fill()
— Testing Graphical User Interfaces (Executing User Interface Actions)do_GET()
— Testing Web Applications (Handling HTTP Requests)do_HEAD()
— Testing Web Applications (Other HTTP commands)do_insert()
— Tracking Information Flow (Executing SQL Statements), Tracking Information Flow (Inserting Data)do_select()
— Tracking Information Flow (Executing SQL Statements), Tracking Information Flow (Selecting Data)do_submit()
— Testing Graphical User Interfaces (Executing User Interface Actions)do_update()
— Tracking Information Flow (Executing SQL Statements), Tracking Information Flow (Updating Data)duplicate_context()
— Grammar Coverage (Extending Grammars for Context Coverage Programmatically)_duplicate_context()
— Grammar Coverage (Extending Grammars for Context Coverage Programmatically)e()
— Railroad DiagramsEarleyParser
class — Parsing Inputs (The Parsing Algorithm), Parsing Inputs (The Parsing Algorithm), Parsing Inputs (Predicting States), Parsing Inputs (Scanning Tokens), Parsing Inputs (Completing Processing), Parsing Inputs (Filling the Chart), Parsing Inputs (The Parse Method), Parsing Inputs (The Parse Method), Parsing Inputs (Parsing Paths), Parsing Inputs (Parsing Forests), Parsing Inputs (Extracting Trees), Parsing Inputs (Ambiguous Parsing), Parsing Inputs (Nullable)earley_complete()
— Parsing Inputs (Completing Processing)ebnf_grammar()
— Testing Configurations (Classes for Fuzzing Configuration Options)elapsed_time()
— Timer (Measuring Time)End
class — Railroad Diagramsenter()
— Mining Input Grammars (CallStack), Mining Input Grammars (Input Stack)__enter__()
— Getting Coverage (A Coverage Class), Carving Unit Tests (Recording Calls), Error Handling (Catching Errors), Error Handling (Catching Timeouts), Timer (Measuring Time)EOF
— Fuzzing: Breaking Things with Random Inputs (Missing Error Checks), Fuzzing: Breaking Things with Random Inputs (Missing Error Checks), Fuzzing: Breaking Things with Random Inputs (Missing Error Checks), Parsing Inputs (Exercise 7: Follow Set of a Nonterminal), Parsing Inputs (Exercise 7: Follow Set of a Nonterminal), Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)EPSILON
— Introduction to Software Testing (Automating Test Execution), Parsing Inputs (The Aycock Epsilon Fix), Parsing Inputs (Exercise 6: First Set of a Nonterminal)__eq__()
— Parsing Inputs (States), Control Flow Graph (CFGNode), Railroad DiagramsEvalMysteryRunner
class — Reducing Failure-Inducing Inputs (Lexical Reduction vs. Syntactic Rules)eval_function()
— Fuzzing with Generators (Checking and Repairing Elements after Expansion)eval_with_exception()
— Fuzzing with Generators (Example: Negative Expressions)EvenFasterGrammarFuzzer
class — Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)executable()
— Testing Configurations (Classes for Fuzzing Configuration Options)ExerciseGrammarFuzzer
class — Efficient Grammar Fuzzing (Exercise 4: Alternate Random Expansions)__exit__()
— Getting Coverage (A Coverage Class), Carving Unit Tests (Recording Calls), Error Handling (Catching Errors), Error Handling (Catching Timeouts), Timer (Measuring Time)expandtabs()
— Tracking Information Flow (Expand Tabs)expand_node()
— Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Closing the Expansion), Efficient Grammar Fuzzing (Node Inflation)expand_node_by_cost()
— Efficient Grammar Fuzzing (Closing the Expansion)expand_node_max_cost()
— Efficient Grammar Fuzzing (Node Inflation)expand_node_min_cost()
— Efficient Grammar Fuzzing (Closing the Expansion)expand_node_randomly()
— Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Exercise 4: Alternate Random Expansions), Parsing Inputs (Fuzzing a Simple Program)expand_tree()
— Efficient Grammar Fuzzing (Three Expansion Phases)expand_tree_once()
— Efficient Grammar Fuzzing (Expanding a Tree), Fuzzing with Generators (Local Checking and Repairing)expand_tree_with_strategy()
— Efficient Grammar Fuzzing (Three Expansion Phases)ExpansionCountMiner
class — Probabilistic Grammar Fuzzing (Counting Expansions), Probabilistic Grammar Fuzzing (Counting Expansions), Probabilistic Grammar Fuzzing (Counting Expansions)ExpansionError
class — Fuzzing with Grammars (A Simple Grammar Fuzzer)expansion_cost()
— Efficient Grammar Fuzzing (Closing the Expansion), Tracking Information Flow (TaintedGrammarFuzzer)expansion_coverage()
— Grammar Coverage (Tracking Grammar Coverage)expansion_key()
— Grammar Coverage (Tracking Grammar Coverage)expansion_to_children()
— Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Exercise 1: Caching Method Results)ExpectError
class — Error Handling (Catching Errors)ExpectTimeout
class — Error Handling (Catching Timeouts)explore_all()
— Testing Graphical User Interfaces (Covering States)expression_clause()
— Tracking Information Flow (Selecting Data)expression_grammar_fn()
— Fuzzing with Grammars (Exercise 4: Defining Grammars as Functions (Advanced))EXPR_EBNF_GRAMMAR
— Fuzzing with Grammars (Grammar Shortcuts)EXPR_GRAMMAR_BNF
— Efficient Grammar Fuzzing (An Insufficient Algorithm)EXPR_GRAMMAR
— Fuzzing with Grammars (Representing Grammars in Python), Grammar Coverage (Covering Grammar Elements), Grammar Coverage (Covering Grammar Expansions), Grammar Coverage (Extending Grammars for Context Coverage Programmatically), Parsing Inputs (The Packrat Parser for Predicate Expression Grammars), Fuzzing with Generators (Example: More Numeric Ranges), Tracking Information Flow (Fuzzing SQL)exp_opt()
— Fuzzing with Grammars (Grammar Extensions)exp_opts()
— Fuzzing with Grammars (Grammar Extensions)exp_order()
— Fuzzing with Generators (Ordering Expansions)exp_post_expansion_function()
— Fuzzing with Generators (A Class for Integrating Constraints)exp_pre_expansion_function()
— Fuzzing with Generators (A Class for Integrating Constraints)exp_prob()
— Probabilistic Grammar Fuzzing (Specifying Probabilities)exp_probabilities()
— Probabilistic Grammar Fuzzing (Distributing Probabilities)exp_string()
— Fuzzing with Grammars (Grammar Extensions)extended_nonterminals()
— Fuzzing with Grammars (Expanding Operators)extend_grammar()
— Fuzzing with Grammars (Extending Grammars)extract_a_tree()
— Parsing Inputs (Extracting Trees)extract_node()
— Efficient Grammar Fuzzing (Representing Derivation Trees)extract_trees()
— Parsing Inputs (Extracting Trees), Parsing Inputs (Ambiguous Parsing)extract_vars()
— Mining Input Grammars (Context), Mining Input Grammars (Exercise 1: Flattening complex objects)E_GRAMMAR_1
— Parsing Inputs (The Aycock Epsilon Fix), Parsing Inputs (The Aycock Epsilon Fix)E_GRAMMAR
— Parsing Inputs (The Aycock Epsilon Fix)fail_test()
— Error Handling (Catching Errors)FAIL
— Fuzzing: Breaking Things with Random Inputs (Runner Classes)FasterGrammarFuzzer
class — Efficient Grammar Fuzzing (Exercise 1: Caching Method Results)fib()
— Control Flow Graph (fib)FILE
— Fuzzing: Breaking Things with Random Inputs (Creating Input Files)fill()
— Testing Graphical User Interfaces (Executing User Interface Actions)fill_chart()
— Parsing Inputs (Filling the Chart)FINAL_STATE
— Testing Graphical User Interfaces (Retrieving State Grammars)find_comma()
— Parsing Inputs (An Ad Hoc Parser)find_contents()
— Testing Configurations (Classes for Fuzzing Configuration Options)find_element()
— Testing Graphical User Interfaces (Executing User Interface Actions)find_executable()
— Testing Configurations (Autopep8 Setup)find_expansion()
— Fuzzing with Generators (Checking and Repairing Elements after Expansion)find_grammar()
— Testing Configurations (Classes for Fuzzing Configuration Options)_find_reachable_nonterminals()
— Fuzzing with Grammars (Checking Grammars)finished()
— Parsing Inputs (Items)firstset()
— Parsing Inputs (Exercise 6: First Set of a Nonterminal)firstset_()
— Parsing Inputs (Exercise 6: First Set of a Nonterminal)first_digit_via_log()
— Probabilistic Grammar Fuzzing (The Law of Leading Digits)first_digit_via_string()
— Probabilistic Grammar Fuzzing (The Law of Leading Digits)first_expr()
— Parsing Inputs (Exercise 6: First Set of a Nonterminal)first
and follow
— Parsing Inputs (Exercise 6: First Set of a Nonterminal)fixed_cgi_decode()
— Getting Coverage (Exercise 1: Fixing cgi_decode)fixpoint()
— Parsing Inputs (Fixpoint)fix_luhn_checksum()
— Fuzzing with Generators (Functions Called After Expansion)flatten()
— Mining Input Grammars (Exercise 1: Flattening complex objects)flip_random_character()
— Mutation-Based Fuzzing (Mutating Inputs)FLOAT_EBNF_GRAMMAR
— Fuzzing APIs (Floats)float_grammar_with_range()
— Fuzzing APIs (Floats)FLOAT_GRAMMAR
— Fuzzing APIs (Floats)fmt()
— Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars), Mining Input Grammars (ScopedVars)followset()
— Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)followset_()
— Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)follow_link()
— Testing Graphical User Interfaces (Link Element Actions)forest()
— Parsing Inputs (Parsing Forests)format()
— Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad DiagramsFormHTMLParser
class — Testing Web Applications (Searching HTML for Input Fields), Testing Web Applications (Searching HTML for Input Fields), Testing Web Applications (Searching HTML for Input Fields)fragment()
— Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)fragments()
— Mining Input Grammars (DefineTracker)FRAGMENT_LEN
— Mining Input Grammars (DefineTracker), Mining Input Grammars (DefineTracker), Mining Input Grammars (Exercise 2: Incorporating Taints from InformationFlow)fsm_diagram()
— Testing Graphical User Interfaces (Retrieving State Grammars)fsm_last_state_symbol()
— Testing Graphical User Interfaces (Exploring User Interfaces)fsm_path()
— Testing Graphical User Interfaces (Exploring User Interfaces)FunctionCoverageRunner
class — Mutation-Based Fuzzing (Guiding by Coverage)FunctionRunner
class — Mutation-Based Fuzzing (Guiding by Coverage)function_symbol()
— Carving Unit Tests (A Grammar from Calls)funct_parser()
— Fuzzing with Grammars (Exercise 4: Defining Grammars as Functions (Advanced))fuzz()
— Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes), Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes), Mutation-Based Fuzzing (Multiple Mutations), Efficient Grammar Fuzzing (Putting it all Together), Fuzzing with Input Fragments (Fuzz), Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer), Tracking Information Flow (TaintedGrammarFuzzer)fuzzed_url_element()
— Fuzzing APIs (Synthesizing Oracles)fuzzer()
— Fuzzing: Breaking Things with Random Inputs (A Simple Fuzzer)Fuzzer
class — Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)FUZZINGBOOK_SWAG
— Testing Web Applications (Taking Orders), Testing Web Applications (Taking Orders), Testing Web Applications (Taking Orders)fuzz_tree()
— Efficient Grammar Fuzzing (Putting it all Together), Fuzzing with Generators (Support for Python Generators), Fuzzing with Generators (Checking and Repairing Elements after Expansion), Fuzzing with Generators (Local Checking and Repairing), Fuzzing with Generators (Generators and Grammar Coverage), Tracking Information Flow (TaintedGrammarFuzzer)gcd()
— Control Flow Graph (gcd)generate_new_tree()
— Fuzzing with Input Fragments (Generate New Tree), Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)GeneratorGrammarFuzzer
class — Fuzzing with Generators (A Class for Integrating Constraints), Fuzzing with Generators (Generating Elements before Expansion), Fuzzing with Generators (Generating Elements before Expansion), Fuzzing with Generators (Support for Python Generators), Fuzzing with Generators (Checking and Repairing Elements after Expansion), Fuzzing with Generators (Checking and Repairing Elements after Expansion), Fuzzing with Generators (Checking and Repairing Elements after Expansion), Fuzzing with Generators (Checking and Repairing Elements after Expansion), Fuzzing with Generators (Local Checking and Repairing), Fuzzing with Generators (Local Checking and Repairing), Fuzzing with Generators (Local Checking and Repairing), Fuzzing with Generators (Ordering Expansions)gen_cfg()
— Control Flow Graph (PyCFG), Control Flow Graph (Supporting Functions)__getitem__()
— Tracking Information Flow (Index), Testing Configurations (Part 3: Mine a Configuration Grammar)get_alternatives()
— Fuzzing with Grammars (Exercise 4: Defining Grammars as Functions (Advanced))get_arguments()
— Carving Unit Tests (Recording Calls)get_cfg()
— Control Flow Graph (Supporting Functions)get_defining_function()
— Control Flow Graph (PyCFG)get_derivation_tree()
— Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree)get_field_values()
— Testing Web Applications (Processing Orders)get_func()
— Control Flow Graph (PyCFG)get_grammar()
— Testing Web Applications (A Fuzzer for Web Forms), Testing Web Applications (Fully Automatic Web Attacks)get_html()
— Testing Web Applications (A Fuzzer for Web Forms)get_qualified_name()
— Carving Unit Tests (Recording Calls)get_registry()
— Control Flow Graph (Registry)get_registry_idx()
— Control Flow Graph (Registry), Control Flow Graph (CFGNode)get_replacements()
— Mining Input Grammars (Grammar Mining)get_top()
— Parsing Inputs (Exercise 5: Leo Parser)GET
— Testing Web Applications (Handling HTTP Requests), Testing Web Applications (Other HTTP commands), Testing Web Applications (A Fuzzer for Web Forms)grammar()
— Parsing Inputs (Ambiguity), Testing Configurations (Classes for Fuzzing Configuration Options)GrammarCoverageFuzzer
class — Grammar Coverage (Determining yet Uncovered Children), Grammar Coverage (Adaptive Lookahead), Grammar Coverage (All Together)GrammarFuzzer
class — Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Expanding a Tree), Efficient Grammar Fuzzing (Expanding a Tree), Efficient Grammar Fuzzing (Expanding a Tree), Efficient Grammar Fuzzing (Closing the Expansion), Efficient Grammar Fuzzing (Closing the Expansion), Efficient Grammar Fuzzing (Closing the Expansion), Efficient Grammar Fuzzing (Closing the Expansion), Efficient Grammar Fuzzing (Node Inflation), Efficient Grammar Fuzzing (Node Inflation), Efficient Grammar Fuzzing (Three Expansion Phases), Efficient Grammar Fuzzing (Putting it all Together)GrammarMiner
class — Mining Input Grammars (Recovering Grammars from Derivation Trees), Mining Input Grammars (Recovering Grammars from Derivation Trees), Mining Input Grammars (Recovering Grammars from Derivation Trees), Mining Input Grammars (Recovering Grammars from Derivation Trees), Mining Input Grammars (Recover Grammar)GrammarReducer
class — Reducing Failure-Inducing Inputs (A Class for Reducing with Grammars), Reducing Failure-Inducing Inputs (Finding Subtrees), Reducing Failure-Inducing Inputs (Alternate Expansions), Reducing Failure-Inducing Inputs (Both Strategies Together), Reducing Failure-Inducing Inputs (The Reduction Strategy), Reducing Failure-Inducing Inputs (The Reduction Strategy), Reducing Failure-Inducing Inputs (The Reduction Strategy), Reducing Failure-Inducing Inputs (The Reduction Strategy), Reducing Failure-Inducing Inputs (A Depth-Oriented Strategy)graph_attr()
— Efficient Grammar Fuzzing (Representing Derivation Trees)GUICoverageFuzzer
class — Testing Graphical User Interfaces (Covering States), Testing Graphical User Interfaces (Covering States)GUIFuzzer
class — Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Exploring User Interfaces)GUIGrammarMiner
class — Testing Graphical User Interfaces (Retrieving Actions), Testing Graphical User Interfaces (Retrieving Actions), Testing Graphical User Interfaces (Input Element Actions), Testing Graphical User Interfaces (Button Element Actions), Testing Graphical User Interfaces (Link Element Actions), Testing Graphical User Interfaces (Link Element Actions), Testing Graphical User Interfaces (Retrieving State Grammars), Testing Graphical User Interfaces (Retrieving State Grammars)GUIRunner
class — Testing Graphical User Interfaces (Executing User Interface Actions), Testing Graphical User Interfaces (Executing User Interface Actions), Testing Graphical User Interfaces (Executing User Interface Actions), Testing Graphical User Interfaces (Executing User Interface Actions), Testing Graphical User Interfaces (Executing User Interface Actions), Testing Graphical User Interfaces (Executing User Interface Actions), Testing Graphical User Interfaces (Executing User Interface Actions)GUI_GRAMMAR
— Testing Graphical User Interfaces (Retrieving State Grammars), Testing Graphical User Interfaces (Retrieving State Grammars)h()
— Railroad Diagramshandle_endtag()
— Testing Web Applications (Searching HTML for Input Fields)handle_order()
— Testing Web Applications (Processing Orders), Testing Web Applications (Part 4: A Robust Server)handle_starttag()
— Testing Web Applications (Searching HTML for Input Fields), Testing Web Applications (Crawling User Interfaces)hang_if_no_space()
— Fuzzing: Breaking Things with Random Inputs (Missing Error Checks)__hash__()
— Parsing Inputs (States)has_origin()
— Tracking Information Flow (A Class for Tracking Character Origins)has_taint()
— Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (A Class for Tracking Character Origins)HEADLESS
— Testing Graphical User Interfaces (Remote Control with Selenium), Testing Graphical User Interfaces (Remote Control with Selenium), Testing Graphical User Interfaces (Remote Control with Selenium)HEAD
— Testing Web Applications (Other HTTP commands)heartbeat()
— Fuzzing: Breaking Things with Random Inputs (Information Leaks)helper()
— Parsing Inputs (Fixpoint), Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)highlight_node()
— Parsing Inputs (An Ad Hoc Parser)high_charge()
— Fuzzing with Generators (Functions Called Before Expansion)hl_node()
— Parsing Inputs (An Ad Hoc Parser)hl_predicate()
— Parsing Inputs (An Ad Hoc Parser), Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer), Fuzzing with Input Fragments (Candidate), Fuzzing with Input Fragments (Generate New Tree)__new__()
— Tracking Information Flow (A Class for Tainted Strings)HorizontalChoice
class — Railroad DiagramsHTMLGrammarMiner
class — Testing Web Applications (Searching HTML for Input Fields), Testing Web Applications (Mining Grammars for Web Pages), Testing Web Applications (Mining Grammars for Web Pages)HTML_INTERNAL_SERVER_ERROR
— Testing Web Applications (Internal Errors)HTML_NOT_FOUND
— Testing Web Applications (Page Not Found)HTML_ORDER_FORM
— Testing Web Applications (Taking Orders)HTML_ORDER_RECEIVED
— Testing Web Applications (Order Confirmation)HTML_TERMS_AND_CONDITIONS
— Testing Web Applications (Terms and Conditions)HTTPD_MESSAGE_QUEUE
— Testing Web Applications (Logging)http_program()
— Mutation-Based Fuzzing (Fuzzing a URL Parser)hundred_inputs()
— Getting Coverage ( Coverage of Basic Fuzzing)i()
— Control Flow Graph (CFGNode)identifier_grammar_fn()
— Fuzzing with Grammars (Part 2: Extended Grammars)idx()
— Parsing Inputs (States)ignored()
— Mining Input Grammars (Input Stack)indent()
— Mining Input Grammars (CallStack)initial_grammar()
— Carving Unit Tests (Initial Grammar)init_db()
— Testing Web Applications (Storing Orders)init_tainted_grammar()
— Tracking Information Flow (TaintedGrammarFuzzer)init_tree()
— Efficient Grammar Fuzzing (Expanding a Node)__init__()
— Fuzzing: Breaking Things with Random Inputs (Runner Classes), Fuzzing: Breaking Things with Random Inputs (Runner Classes), Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes), Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes), Fuzzing: Breaking Things with Random Inputs (Exercise 2: Run Simulated Troff), Getting Coverage (A Coverage Class), Mutation-Based Fuzzing (Multiple Mutations), Mutation-Based Fuzzing (Guiding by Coverage), Efficient Grammar Fuzzing (Expanding a Node), Efficient Grammar Fuzzing (Exercise 1: Caching Method Results), Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation), Grammar Coverage (Tracking Grammar Coverage), Parsing Inputs (Fuzzing a Simple Program), Parsing Inputs (Ambiguity), Parsing Inputs (The Packrat Parser for Predicate Expression Grammars), Parsing Inputs (Columns), Parsing Inputs (Items), Parsing Inputs (States), Parsing Inputs (The Parsing Algorithm), Parsing Inputs (Nullable), Parsing Inputs (Exercise 5: Leo Parser), Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer), Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer), Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer), Probabilistic Grammar Fuzzing (Counting Expansions), Fuzzing with Generators (Local Checking and Repairing), Fuzzing with Generators (Generators and Probabilistic Fuzzing), Fuzzing with Generators (Generators and Grammar Coverage), Reducing Failure-Inducing Inputs (Delta Debugging), Reducing Failure-Inducing Inputs (Lexical Reduction vs. Syntactic Rules), Reducing Failure-Inducing Inputs (A Class for Reducing with Grammars), Mining Input Grammars (Context), Mining Input Grammars (Context), Mining Input Grammars (DefineTracker), Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Recovering Grammars from Derivation Trees), Mining Input Grammars (CallStack), Mining Input Grammars (Vars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (AssignmentTracker), Mining Input Grammars (Input Stack), Mining Input Grammars (Scope Tracker), Mining Input Grammars (Exercise 1: Flattening complex objects), Tracking Information Flow (A Vulnerable Database), Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (Taint Aware Fuzzing), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (Slices), Tracking Information Flow (TaintedGrammarFuzzer), Tracking Information Flow (Part 1: Creation), Tracking Information Flow (Part 4: Passing taints from integers to strings), Testing Configurations (A Grammar Miner for Options and Arguments), Testing Configurations (Classes for Fuzzing Configuration Options), Testing Configurations (Classes for Fuzzing Configuration Options), Carving Unit Tests (Recording Calls), Carving Unit Tests (A Grammar Miner for Calls), Testing Web Applications (Fuzzing with Unexpected Values), Testing Web Applications (Searching HTML for Input Fields), Testing Web Applications (A Fuzzer for Web Forms), Testing Web Applications (Fully Automatic Web Attacks), Testing Web Applications (Fully Automatic Web Attacks), Testing Graphical User Interfaces (Retrieving Actions), Testing Graphical User Interfaces (Executing User Interface Actions), Testing Graphical User Interfaces (Exploring User Interfaces), Testing Graphical User Interfaces (Covering States), Error Handling (Catching Errors), Error Handling (Catching Timeouts), Error Handling (Catching Timeouts), Control Flow Graph (CFGNode), Control Flow Graph (PyCFG), Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad DiagramsInputStack
class — Mining Input Grammars (Input Stack), Mining Input Grammars (Input Stack), Mining Input Grammars (Input Stack), Mining Input Grammars (Input Stack), Mining Input Grammars (Input Stack), Mining Input Grammars (Input Stack)insert_into_tree()
— Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree)insert_random_character()
— Mutation-Based Fuzzing (Mutating Inputs)INSERT
— Testing Web Applications (Storing Orders), Testing Web Applications (SQL Injection Attacks)INTERNAL_ALIGNMENT
— Railroad Diagramsinternal_server_error()
— Testing Web Applications (Internal Errors), Testing Web Applications (Part 1: Silent Failures)INT_EBNF_GRAMMAR
— Fuzzing APIs (Integers)int_grammar_with_range()
— Fuzzing APIs (Integers)INT_GRAMMAR
— Fuzzing APIs (Integers)INVENTORY_GRAMMAR_F
— Tracking Information Flow (Fuzzing SQL)INVENTORY_GRAMMAR
— Tracking Information Flow (Fuzzing SQL)INVENTORY_METHODS
— Mining Input Grammars (A Simple Grammar Miner)INVENTORY
— Mining Input Grammars (A Grammar Challenge), Tracking Information Flow (All Methods Together)invert_expansion()
— Probabilistic Grammar Fuzzing (Testing Uncommon Features)invert_probs()
— Probabilistic Grammar Fuzzing (Testing Uncommon Features)invoker()
— Testing Configurations (Classes for Fuzzing Configuration Options)in_current_record()
— Mining Input Grammars (Input Stack)in_scope()
— Mining Input Grammars (Input Stack)IP_ADDRESS_GRAMMAR
— Probabilistic Grammar Fuzzing (Probabilities in Context)IP_ADDRESS_TOKENS
— Probabilistic Grammar Fuzzing (Counting Expansions)is_input_fragment()
— Mining Input Grammars (DefineTracker), Mining Input Grammars (Scope Tracker)is_nonterminal()
— Fuzzing with Grammars (Some Definitions)is_permutation()
— Introduction to Software Testing (Part 2: Random Inputs)is_sorted()
— Introduction to Software Testing (Part 2: Random Inputs)is_valid_grammar()
— Fuzzing with Grammars (Checking Grammars)is_valid_probabilistic_grammar()
— Probabilistic Grammar Fuzzing (Checking Probabilities)is_valid_url()
— Mutation-Based Fuzzing (Mutating URLs)Item
class — Parsing Inputs (Items), Parsing Inputs (Items)iterate()
— Fuzzing with Generators (Support for Python Generators)__iter__()
— Tracking Information Flow (Slices)join()
— Tracking Information Flow (Expand Tabs)js-vuln-db
— Probabilistic Grammar Fuzzing (Exercise 2: Learning from Past Bugs)JSON_EBNF_GRAMMAR
— Fuzzing with Grammars (Exercise 1: A JSON Grammar)JSON_GRAMMAR
— Fuzzing with Grammars (Exercise 1: A JSON Grammar)LangFuzzer2
class — Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)LangFuzzer
class — Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer), Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer), Fuzzing with Input Fragments (Candidate), Fuzzing with Input Fragments (Generate New Tree), Fuzzing with Input Fragments (Fuzz)LD_LIBRARY_PATH
— Testing Configurations (Part 1: Getopt Fuzzing)leave()
— Mining Input Grammars (CallStack), Mining Input Grammars (Input Stack)left()
— Railroad Diagramsleft_align()
— Testing Graphical User Interfaces (Retrieving State Grammars)__len__()
— Mining Input Grammars (CallStack)LeoParser
class — Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser)leo_complete()
— Parsing Inputs (Exercise 5: Leo Parser)linear_to_tree()
— Parsing Inputs (Part 2: The Parser)lineno()
— Control Flow Graph (CFGNode)LinkHTMLParser
class — Testing Web Applications (Crawling User Interfaces)link_functions()
— Control Flow Graph (PyCFG)LIST_EBNF_GRAMMAR
— Fuzzing APIs (Lists)list_grammar()
— Fuzzing APIs (Lists)LIST_GRAMMAR
— Fuzzing APIs (Lists)ljust()
— Tracking Information Flow (Justify)ll()
— Railroad DiagramsLL1Parser
class — Parsing Inputs (Part 1: A LL(1) Parsing Table), Parsing Inputs (Part 1: A LL(1) Parsing Table), Parsing Inputs (Part 2: The Parser)loc()
— Mining Input Grammars (AssignmentVars)log_call()
— Mining Input Grammars (Assembling a Derivation Tree)log_event()
— Mining Input Grammars (Context)log_message()
— Testing Web Applications (Logging)log_tree()
— Efficient Grammar Fuzzing (Three Expansion Phases)LONG_FOO
— Testing Configurations (Exercise 1: #ifdef Configuration Fuzzing)long_running_test()
— Error Handling (Catching Timeouts)lower()
— Tracking Information Flow (String methods that do not change origin)LOW
— Tracking Information Flow (String Operators)LR0
— Parsing Inputs (Items)LR_GRAMMAR
— Parsing Inputs (Recursion), Parsing Inputs (Recursion), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser)lr_graph()
— Parsing Inputs (An Ad Hoc Parser)lstrip()
— Tracking Information Flow (Strip)LS_EBNF_GRAMMAR
— Grammar Coverage (Exercise 1: Testing ls), Grammar Coverage (Exercise 1: Testing ls)LS_GRAMMAR
— Grammar Coverage (Exercise 1: Testing ls)luhn_checksum()
— Fuzzing with Generators (Functions Called After Expansion)LUHN_ODD_LOOKUP
— Fuzzing with Generators (Functions Called After Expansion)m()
— Railroad Diagramsmake_grammar()
— Parsing Inputs (Testing the Parsers)make_int_wrapper()
— Tracking Information Flow (Part 2: Arithmetic expressions)make_rule()
— Parsing Inputs (Testing the Parsers)make_split_wrapper()
— Tracking Information Flow (Splits)make_str_abort_wrapper()
— Tracking Information Flow (Methods yet to be translated)make_str_wrapper()
— Tracking Information Flow (String Operators), Tracking Information Flow (General wrappers)_max_expansion_coverage()
— Grammar Coverage (Tracking Grammar Coverage)max_expansion_coverage()
— Grammar Coverage (Tracking Grammar Coverage)max_height()
— Reducing Failure-Inducing Inputs (A Few Helpers)method_enter()
— Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars)method_exit()
— Mining Input Grammars (AssignmentVars)method_init()
— Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars)method_statement()
— Mining Input Grammars (AssignmentVars)mine_arguments_grammar()
— Carving Unit Tests (A Grammar from Arguments)mine_a_element_actions()
— Testing Graphical User Interfaces (Link Element Actions)mine_button_element_actions()
— Testing Graphical User Interfaces (Button Element Actions)mine_call_grammar()
— Carving Unit Tests (A Grammar from all Calls)mine_ebnf_grammar()
— Testing Configurations (A Grammar Miner for Options and Arguments)mine_function_grammar()
— Carving Unit Tests (A Grammar from Calls)mine_grammar()
— Testing Configurations (A Grammar Miner for Options and Arguments), Testing Web Applications (Mining Grammars for Web Pages)mine_input_element_actions()
— Testing Graphical User Interfaces (Input Element Actions)mine_probabilistic_grammar()
— Probabilistic Grammar Fuzzing (Assigning Probabilities)mine_state_actions()
— Testing Graphical User Interfaces (Retrieving Actions)mine_state_grammar()
— Testing Graphical User Interfaces (Retrieving State Grammars)missing_expansion_coverage()
— Grammar Coverage (Tracking Grammar Coverage)__mod__()
— Tracking Information Flow (mod)mseq()
— Mining Input Grammars (Recovering a Derivation Tree)MultipleChoice
class — Railroad Diagramsmutate()
— Mutation-Based Fuzzing (Mutating Inputs), Mutation-Based Fuzzing (Multiple Mutations)mutate_tree()
— Fuzzing with Input Fragments (Grammar-Based Mutation)MutationCoverageFuzzer
class — Mutation-Based Fuzzing (Guiding by Coverage)MutationFuzzer
class — Mutation-Based Fuzzing (Multiple Mutations), Mutation-Based Fuzzing (Multiple Mutations), Mutation-Based Fuzzing (Multiple Mutations), Mutation-Based Fuzzing (Multiple Mutations)MysteryRunner
class — Reducing Failure-Inducing Inputs (Why Reducing?)my_eval()
— Tracking Information Flow (Selecting Data), Tracking Information Flow (TaintedDB), Tracking Information Flow (TrackingDB)my_sqrt()
— Introduction to Software Testing (Simple Testing), Parsing Inputs (Fixpoint)_my_sqrt()
— Parsing Inputs (Fixpoint)my_sqrt_checked()
— Introduction to Software Testing (Run-Time Verification)my_sqrt_fixed()
— Introduction to Software Testing (The Limits of Testing)my_sqrt_with_log()
— Introduction to Software Testing (Debugging a Function)__neq__()
— Control Flow Graph (CFGNode)_new_child_coverage()
— Grammar Coverage (Determining yet Uncovered Children)new_child_coverage()
— Grammar Coverage (Determining yet Uncovered Children)new_coverages()
— Grammar Coverage (Adaptive Lookahead)new_expansion_cost()
— Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)new_state_symbol()
— Testing Graphical User Interfaces (Retrieving State Grammars)new_symbol()
— Fuzzing with Grammars (Creating New Symbols)new_symbol_cost()
— Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)__new__()
— Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (Part 1: Creation), Railroad Diagrams, Railroad Diagrams, Railroad Diagrams__next__()
— Tracking Information Flow (Slices)__ne__()
— Railroad Diagramsnonterminals()
— Fuzzing with Grammars (Some Definitions)NonTerminal
class — Railroad Diagramsnot_found()
— Testing Web Applications (Page Not Found)no_8bit()
— Fuzzing: Breaking Things with Random Inputs (Exercise 1: Simulate Troff)no_backslash_d()
— Fuzzing: Breaking Things with Random Inputs (Exercise 1: Simulate Troff)no_dot()
— Fuzzing: Breaking Things with Random Inputs (Exercise 1: Simulate Troff)nt_var()
— Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree)nullable()
— Parsing Inputs (Nullable)nullable_()
— Parsing Inputs (Nullable)nullable_expr()
— Parsing Inputs (Nullable)number_of_nodes()
— Reducing Failure-Inducing Inputs (A Few Helpers)OBJECT
— Getting Coverage (A Coverage Class)OneOrMore
class — Railroad Diagramson_assign()
— Control Flow Graph (PyCFG)on_binop()
— Control Flow Graph (PyCFG)on_break()
— Control Flow Graph (PyCFG)on_call()
— Mining Input Grammars (AssignmentTracker), Control Flow Graph (PyCFG)on_compare()
— Control Flow Graph (PyCFG)on_continue()
— Control Flow Graph (PyCFG)on_event()
— Mining Input Grammars (Context)on_exception()
— Mining Input Grammars (AssignmentTracker)on_expr()
— Control Flow Graph (PyCFG)on_for()
— Control Flow Graph (PyCFG)on_functiondef()
— Control Flow Graph (PyCFG)on_if()
— Control Flow Graph (PyCFG)on_line()
— Mining Input Grammars (AssignmentTracker)on_module()
— Control Flow Graph (PyCFG)on_pass()
— Control Flow Graph (PyCFG)on_return()
— Mining Input Grammars (AssignmentTracker), Control Flow Graph (PyCFG)on_unaryop()
— Control Flow Graph (PyCFG)on_while()
— Control Flow Graph (PyCFG)Optional()
— Railroad DiagramsOptionalSequence
class — Railroad DiagramsOptionFuzzer
class — Testing Configurations (Classes for Fuzzing Configuration Options), Testing Configurations (Classes for Fuzzing Configuration Options)OptionGrammarMiner
class — Testing Configurations (A Grammar Miner for Options and Arguments), Testing Configurations (A Grammar Miner for Options and Arguments), Testing Configurations (A Grammar Miner for Options and Arguments), Testing Configurations (A Grammar Miner for Options and Arguments), Testing Configurations (A Grammar Miner for Options and Arguments), Testing Configurations (A Grammar Miner for Options and Arguments), Testing Configurations (A Grammar Miner for Options and Arguments), Testing Configurations (A Grammar Miner for Options and Arguments)OptionRunner
class — Testing Configurations (Classes for Fuzzing Configuration Options), Testing Configurations (Classes for Fuzzing Configuration Options), Testing Configurations (Classes for Fuzzing Configuration Options), Testing Configurations (Classes for Fuzzing Configuration Options)options()
— Mining Input Grammars (Context), Mining Input Grammars (DefineTracker), Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (CallStack), Mining Input Grammars (AssignmentTracker)OPTION_SYMBOL
— Testing Configurations (A Grammar Miner for Options and Arguments)opts()
— Fuzzing with Grammars (Grammar Extensions)opts_used()
— Fuzzing with Grammars (Checking Grammars)orders_db_is_empty()
— Testing Web Applications (Fully Automatic Web Attacks)ORDERS_DB
— Testing Web Applications (Storing Orders)ORDER_GRAMMAR_WITH_HTML_INJECTION
— Testing Web Applications (HTML Injection Attacks)ORDER_GRAMMAR_WITH_SQL_INJECTION
— Testing Web Applications (SQL Injection Attacks)ORDER_GRAMMAR_WITH_XSS_INJECTION
— Testing Web Applications (Cross-Site Scripting Attacks)ORDER_GRAMMAR
— Testing Web Applications (Fuzzing with Expected Values), Testing Web Applications (Fuzzing with Expected Values)ostr_iterator
class — Tracking Information Flow (Slices)ostr
class — Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (Create), Tracking Information Flow (Index), Tracking Information Flow (Slices), Tracking Information Flow (Concatenation), Tracking Information Flow (Concatenation), Tracking Information Flow (Extract Origin String), Tracking Information Flow (Replace), Tracking Information Flow (Split), Tracking Information Flow (Strip), Tracking Information Flow (Expand Tabs), Tracking Information Flow (Expand Tabs), Tracking Information Flow (Partitions), Tracking Information Flow (Justify), Tracking Information Flow (Justify), Tracking Information Flow (mod), Tracking Information Flow (mod), Tracking Information Flow (String methods that do not change origin)P1
— Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Assembling a Derivation Tree)PackratParser
class — Parsing Inputs (Exercise 1: An Alternative Packrat)pairwise()
— Testing Configurations (Combinatorial Testing)parameters()
— Mining Input Grammars (Context), Mining Input Grammars (Exercise 1: Flattening complex objects)parenthesized_expressions()
— Fuzzing with Grammars (Expanding Parenthesized Expressions)parse()
— Parsing Inputs (Ambiguity), Parsing Inputs (The Parse Method), Parsing Inputs (Exercise 1: An Alternative Packrat), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Part 2: The Parser), Reducing Failure-Inducing Inputs (The Reduction Strategy), Control Flow Graph (PyCFG)parseCSSGrammar()
— Railroad DiagramsParseInterrupt
class — Testing Configurations (A Grammar Miner for Options and Arguments)Parser
class — Parsing Inputs (Ambiguity), Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)parse_csv()
— Parsing Inputs (An Ad Hoc Parser), Parsing Inputs (An Ad Hoc Parser)parse_forest()
— Parsing Inputs (Parsing Forests), Parsing Inputs (Exercise 5: Leo Parser)parse_helper()
— Parsing Inputs (Part 2: The Parser)parse_paths()
— Parsing Inputs (Parsing Paths)parse_prefix()
— Parsing Inputs (Ambiguity), Parsing Inputs (The Parser), Parsing Inputs (The Parse Method), Parsing Inputs (Exercise 1: An Alternative Packrat)parse_quote()
— Parsing Inputs (An Ad Hoc Parser)parse_table()
— Parsing Inputs (Part 1: A LL(1) Parsing Table), Parsing Inputs (Part 1: A LL(1) Parsing Table)partition()
— Tracking Information Flow (Partitions)PASS
— Fuzzing: Breaking Things with Random Inputs (Runner Classes)paths()
— Parsing Inputs (Parsing Paths)Path
class — Railroad DiagramsPEG1
— Parsing Inputs (Parsing Expression Grammars)PEG2
— Parsing Inputs (Parsing Expression Grammars)PEGParser
class — Parsing Inputs (The Parser), Parsing Inputs (Unify Key), Parsing Inputs (Unify Rule), Parsing Inputs (Unify Rule)PEG_SURPRISE
— Parsing Inputs ( Problems with PEG)PooledGrammarFuzzer
class — Parsing Inputs (Fuzzing a Simple Program)population_branch_coverage()
— Getting Coverage (Part 2: Comparing statement coverage and branch coverage)population_coverage()
— Getting Coverage ( Coverage of Basic Fuzzing)possible_combinations()
— Reducing Failure-Inducing Inputs (A Few Helpers)possible_expansions()
— Efficient Grammar Fuzzing (Expanding a Tree)POST
— Testing Web Applications (A Fuzzer for Web Forms)power()
— Carving Unit Tests (From Calls to Grammars)POWER_GRAMMAR
— Carving Unit Tests (From Calls to Grammars), Carving Unit Tests (From Calls to Grammars)precompute_costs()
— Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)predict()
— Parsing Inputs (Predicting States), Parsing Inputs (Nullable), Parsing Inputs (Part 1: A LL(1) Parsing Table)PrintRunner
class — Fuzzing: Breaking Things with Random Inputs (Runner Classes)print_httpd_messages()
— Testing Web Applications (Logging)print_url()
— Testing Web Applications (Direct Browser Access)ProbabilisticGeneratorGrammarCoverageFuzzer
class — Fuzzing with Generators (Generators and Grammar Coverage), Fuzzing with Generators (Generators and Grammar Coverage), Fuzzing with Generators (Generators and Grammar Coverage)ProbabilisticGeneratorGrammarFuzzer
class — Fuzzing with Generators (Generators and Probabilistic Fuzzing)ProbabilisticGrammarCoverageFuzzer
class — Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)ProbabilisticGrammarFuzzer
class — Probabilistic Grammar Fuzzing (Expanding by Probability), Probabilistic Grammar Fuzzing (Expanding by Probability)ProbabilisticGrammarMiner
class — Probabilistic Grammar Fuzzing (Assigning Probabilities), Probabilistic Grammar Fuzzing (Assigning Probabilities)PROBABILISTIC_EXPR_GRAMMAR
— Probabilistic Grammar Fuzzing (Specifying Probabilities)prob_distribution()
— Probabilistic Grammar Fuzzing (Distributing Probabilities)prob_leading_digit()
— Probabilistic Grammar Fuzzing (The Law of Leading Digits)process()
— Mining Input Grammars (DefineTracker)process_arg()
— Testing Configurations (A Grammar Miner for Options and Arguments)process_argument()
— Testing Configurations (A Grammar Miner for Options and Arguments)process_car()
— Parsing Inputs (Fuzzing a Simple Program), Mining Input Grammars (Exercise 1: Flattening complex objects)process_chosen_children()
— Efficient Grammar Fuzzing (Expanding a Node), Fuzzing with Generators (Generating Elements before Expansion)process_inventory()
— Parsing Inputs (Fuzzing a Simple Program), Mining Input Grammars (Exercise 1: Flattening complex objects)process_numbers()
— Testing Configurations (Options in Python)PROCESS_NUMBERS_EBNF_GRAMMAR
— Testing Configurations (A Grammar for Configurations), Testing Configurations (A Grammar for Configurations)PROCESS_NUMBERS_GRAMMAR
— Testing Configurations (A Grammar for Configurations)process_van()
— Parsing Inputs (Fuzzing a Simple Program), Mining Input Grammars (Exercise 1: Flattening complex objects)process_vehicle()
— Parsing Inputs (Fuzzing a Simple Program), Mining Input Grammars (Exercise 1: Flattening complex objects)prod_line_grammar()
— Parsing Inputs (Testing the Parsers)ProgramRunner
class — Fuzzing: Breaking Things with Random Inputs (Runner Classes)proxy()
— Tracking Information Flow (String Operators), Tracking Information Flow (Splits), Tracking Information Flow (General wrappers), Tracking Information Flow (Methods yet to be translated), Tracking Information Flow (Part 2: Arithmetic expressions)prune_tree()
— Parsing Inputs (Ambiguity)PUBLIC
— Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins)PyCFG
class — Control Flow Graph (PyCFG)quadratic_solver()
— Introduction to Software Testing (Exercise 2: Quadratic Solver)quadratic_solver_fixed()
— Introduction to Software Testing (Part 2: Fix the problem)quad_solver()
— Control Flow Graph (quad_solver)qualified()
— Mining Input Grammars (Context), Mining Input Grammars (Exercise 1: Flattening complex objects)QUERY_GRAMMAR
— Testing Web Applications (Mining Grammars for Web Pages)__radd__()
— Tracking Information Flow (String Operators), Tracking Information Flow (Concatenation)RandomFuzzer
class — Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)random_list()
— Introduction to Software Testing (Part 2: Random Inputs)reachable_nonterminals()
— Fuzzing with Grammars (Checking Grammars)readable()
— Mining Input Grammars (Recovering Grammars from Derivation Trees)readable_rule()
— Mining Input Grammars (Recovering Grammars from Derivation Trees)read_gcov_coverage()
— Getting Coverage (Getting Coverage from External Programs)rearrange()
— Parsing Inputs (Exercise 5: Leo Parser)recover_grammar()
— Mining Input Grammars (Recovering Grammars from Derivation Trees), Mining Input Grammars (Grammar Mining)RedBlackTree
class — Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)reduce()
— Reducing Failure-Inducing Inputs (Delta Debugging), Reducing Failure-Inducing Inputs (Delta Debugging), Reducing Failure-Inducing Inputs (The Reduction Strategy)Reducer
class — Reducing Failure-Inducing Inputs (Delta Debugging)reduce_subtree()
— Reducing Failure-Inducing Inputs (The Reduction Strategy)reduce_tree()
— Reducing Failure-Inducing Inputs (The Reduction Strategy), Reducing Failure-Inducing Inputs (A Depth-Oriented Strategy)register_event()
— Mining Input Grammars (AssignmentVars)register_node()
— Control Flow Graph (Registry), Control Flow Graph (CFGNode)REGISTRY_IDX
— Control Flow Graph (Registry), Control Flow Graph (Registry), Control Flow Graph (CFGNode), Control Flow Graph (CFGNode)REGISTRY
— Control Flow Graph (Registry), Control Flow Graph (Registry), Control Flow Graph (CFGNode), Control Flow Graph (CFGNode)replace()
— Tracking Information Flow (Replace)replace_symbol()
— Testing Graphical User Interfaces (Exploring User Interfaces)repOK()
— Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)__repr__()
— Mining Input Grammars (Context), Mining Input Grammars (CallStack), Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (Part 3: Passing taints from integers to strings), Control Flow Graph (CFGNode), Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad Diagrams, Railroad DiagramsREQUIRED_FIELDS
— Testing Web Applications (Part 4: A Robust Server)reset()
— Mutation-Based Fuzzing (Multiple Mutations), Mutation-Based Fuzzing (Guiding by Coverage), Probabilistic Grammar Fuzzing (Counting Expansions), Reducing Failure-Inducing Inputs (Delta Debugging), Reducing Failure-Inducing Inputs (Delta Debugging), Carving Unit Tests (Recording Calls), Carving Unit Tests (Part 1: Store function results), Testing Web Applications (Searching HTML for Input Fields), Testing Web Applications (Crawling User Interfaces)reset_coverage()
— Grammar Coverage (Tracking Grammar Coverage)reset_generators()
— Fuzzing with Generators (Support for Python Generators)reset_registry()
— Control Flow Graph (Registry), Control Flow Graph (CFGNode)restart()
— Testing Graphical User Interfaces (Exploring User Interfaces)RestartExpansionException
class — Fuzzing with Generators (Local Checking and Repairing)restart_expansion()
— Fuzzing with Generators (Checking and Repairing Elements after Expansion), Fuzzing with Generators (Local Checking and Repairing), Fuzzing with Generators (Generators and Grammar Coverage)result()
— Carving Unit Tests (Part 2: Access results)ResultCarver
class — Carving Unit Tests (Exercises), Carving Unit Tests (Part 1: Store function results), Carving Unit Tests (Part 2: Access results)RE_EXTENDED_NONTERMINAL
— Fuzzing with Grammars (Expanding Operators)RE_NONTERMINAL
— Fuzzing with Grammars (Some Definitions)RE_PARENTHESIZED_EXPR
— Fuzzing with Grammars (Expanding Parenthesized Expressions)right()
— Railroad DiagramsRISKY_NUMBERS
— Probabilistic Grammar Fuzzing (Exercise 2: Learning from Past Bugs), Probabilistic Grammar Fuzzing (Exercise 2: Learning from Past Bugs)rjust()
— Tracking Information Flow (Justify)__rmod__()
— Tracking Information Flow (mod)rootIsBlack()
— Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)rpartition()
— Tracking Information Flow (Partitions)RR_GRAMMAR2
— Parsing Inputs (Exercise 5: Leo Parser)RR_GRAMMAR3
— Parsing Inputs (Exercise 5: Leo Parser)RR_GRAMMAR4
— Parsing Inputs (Exercise 5: Leo Parser)RR_GRAMMAR5
— Parsing Inputs (Exercise 5: Leo Parser)RR_GRAMMAR6
— Parsing Inputs (Exercise 5: Leo Parser)RR_GRAMMAR7
— Parsing Inputs (Exercise 5: Leo Parser)RR_GRAMMAR
— Parsing Inputs (Recursion), Parsing Inputs (Exercise 5: Leo Parser), Parsing Inputs (Exercise 5: Leo Parser)rsplit()
— Tracking Information Flow (Split)rstrip()
— Tracking Information Flow (Strip)rules()
— Parsing Inputs (Nullable), Parsing Inputs (Part 1: A LL(1) Parsing Table)run()
— Fuzzing: Breaking Things with Random Inputs (Runner Classes), Fuzzing: Breaking Things with Random Inputs (Runner Classes), Fuzzing: Breaking Things with Random Inputs (Runner Classes), Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes), Fuzzing: Breaking Things with Random Inputs (Exercise 2: Run Simulated Troff), Mutation-Based Fuzzing (Guiding by Coverage), Mutation-Based Fuzzing (Guiding by Coverage), Reducing Failure-Inducing Inputs (Why Reducing?), Reducing Failure-Inducing Inputs (Lexical Reduction vs. Syntactic Rules), Testing Configurations (Classes for Fuzzing Configuration Options), Testing Web Applications (Fuzzing with Unexpected Values), Testing Graphical User Interfaces (Executing User Interface Actions), Testing Graphical User Interfaces (Exploring User Interfaces)Runner
class — Fuzzing: Breaking Things with Random Inputs (Runner Classes)runs()
— Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)run_function()
— Mutation-Based Fuzzing (Guiding by Coverage), Mutation-Based Fuzzing (Guiding by Coverage)run_generator()
— Fuzzing with Generators (Support for Python Generators)run_httpd_forever()
— Testing Web Applications (Running the Server)run_post_functions()
— Fuzzing with Generators (Checking and Repairing Elements after Expansion)run_post_functions_locally()
— Fuzzing with Generators (Local Checking and Repairing)run_process()
— Fuzzing: Breaking Things with Random Inputs (Runner Classes), Fuzzing: Breaking Things with Random Inputs (Runner Classes)sample_db()
— Tracking Information Flow (Representing Tables)SAMPLE_GRAMMAR
— Parsing Inputs (The Earley Parser)sanitize()
— Tracking Information Flow (Tracking Untrusted Input)scan()
— Parsing Inputs (Scanning Tokens)ScopedGrammarMiner
class — Mining Input Grammars (Grammar Mining), Mining Input Grammars (Grammar Mining), Mining Input Grammars (Grammar Mining), Mining Input Grammars (Grammar Mining)ScopedVars
class — Mining Input Grammars (ScopedVars), Mining Input Grammars (ScopedVars), Mining Input Grammars (ScopedVars), Mining Input Grammars (ScopedVars), Mining Input Grammars (ScopedVars), Mining Input Grammars (ScopedVars), Mining Input Grammars (ScopedVars), Mining Input Grammars (ScopedVars)ScopeTracker
class — Mining Input Grammars (Scope Tracker), Mining Input Grammars (Scope Tracker)ScopeTreeMiner
class — Mining Input Grammars (Recovering a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree)SECRET_ORIGIN
— Tracking Information Flow (Privacy Leaks Revisited), Tracking Information Flow (Privacy Leaks Revisited), Tracking Information Flow (Privacy Leaks Revisited)SECRET
— Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins)send_back()
— Tracking Information Flow (Preventing Privacy Leaks)send_order_form()
— Testing Web Applications (Order Form)send_order_received()
— Testing Web Applications (Processing Orders), Testing Web Applications (Part 2: Sanitized HTML)send_terms_and_conditions()
— Testing Web Applications (Order Form)Sequence
class — Railroad Diagramsseq_vars()
— Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars)__setitem__()
— Mining Input Grammars (Vars)set_arguments()
— Testing Configurations (Classes for Fuzzing Configuration Options)set_expansion_probabilities()
— Probabilistic Grammar Fuzzing (Assigning Probabilities)set_grammar()
— Testing Graphical User Interfaces (Exploring User Interfaces)set_invocation()
— Testing Configurations (Classes for Fuzzing Configuration Options)_set_kv()
— Mining Input Grammars (Vars), Mining Input Grammars (AssignmentVars)set_opts()
— Fuzzing with Grammars (Grammar Extensions)set_parents()
— Control Flow Graph (CFGNode)set_prob()
— Probabilistic Grammar Fuzzing (Directed Fuzzing)set_probabilities()
— Probabilistic Grammar Fuzzing (Assigning Probabilities)shellsort()
— Introduction to Software Testing (Exercise 1: Testing Shellsort)show_diagram()
— Railroad Diagramsshow_table()
— Parsing Inputs (Part 1: A LL(1) Parsing Table)SimpleGrammarCoverageFuzzer
class — Grammar Coverage (Covering Grammar Expansions), Grammar Coverage (Covering Grammar Expansions)SimpleHTTPRequestHandler
class — Testing Web Applications (A Web User Interface), Testing Web Applications (Handling HTTP Requests), Testing Web Applications (Order Form), Testing Web Applications (Order Form), Testing Web Applications (Processing Orders), Testing Web Applications (Processing Orders), Testing Web Applications (Processing Orders), Testing Web Applications (Processing Orders), Testing Web Applications (Other HTTP commands), Testing Web Applications (Page Not Found), Testing Web Applications (Internal Errors), Testing Web Applications (Logging)simple_call_string()
— Carving Unit Tests (Recording my_sqrt())simple_grammar_fuzzer()
— Fuzzing with Grammars (A Simple Grammar Fuzzer)Skip
class — Railroad Diagramssome_long_running_function()
— Timer (Measuring Time)sort_by_prob()
— Probabilistic Grammar Fuzzing (Testing Uncommon Features)source()
— Control Flow Graph (CFGNode)split()
— Parsing Inputs (The Packrat Parser for Predicate Expression Grammars), Tracking Information Flow (Split)_split_helper()
— Tracking Information Flow (Split)_split_space()
— Tracking Information Flow (Split)sql()
— Tracking Information Flow (Executing SQL Statements), Tracking Information Flow (Tracking Untrusted Input)SQLException
class — Tracking Information Flow (A Vulnerable Database)SQLInjectionFuzzer
class — Testing Web Applications (Fully Automatic Web Attacks)SQLInjectionGrammarMiner
class — Testing Web Applications (Fully Automatic Web Attacks)sqrt_program()
— Introduction to Software Testing (System Input vs Function Input), Introduction to Software Testing (System Input vs Function Input), Introduction to Software Testing (System Input vs Function Input)srange()
— Fuzzing with Grammars (Character Classes)stack_to_tree()
— Mining Input Grammars (CallStack)Stack
class — Railroad Diagramsstart_httpd()
— Testing Web Applications (Running the Server)START_STATE
— Testing Graphical User Interfaces (Retrieving State Grammars)start_symbol()
— Parsing Inputs (Ambiguity)START_SYMBOL
— Fuzzing with Grammars (Some Definitions)Start
class — Railroad DiagramsState
class — Parsing Inputs (States)store_order()
— Testing Web Applications (Processing Orders), Testing Web Applications (Part 3: Sanitized SQL)strip()
— Tracking Information Flow (Strip)strip_all_info()
— Tracking Information Flow (Conversions)strip_all_info_again()
— Tracking Information Flow (Implicit Information Flow)STROKE_ODD_PIXEL_LENGTH
— Railroad Diagrams__str__()
— Parsing Inputs (Columns), Parsing Inputs (States), Mining Input Grammars (CallStack), Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (Taint Aware Fuzzing), Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (Part 3: Passing taints from integers to strings), Error Handling (Catching Timeouts), Control Flow Graph (CFGNode)Style
class — Railroad Diagramssubmit()
— Testing Graphical User Interfaces (Executing User Interface Actions)subtrees_with_symbol()
— Reducing Failure-Inducing Inputs (Finding Subtrees)supported_opts()
— Efficient Grammar Fuzzing (Expanding a Node), Probabilistic Grammar Fuzzing (Expanding by Probability), Fuzzing with Generators (A Class for Integrating Constraints), Fuzzing with Generators (Generators and Probabilistic Fuzzing), Fuzzing with Generators (Generators and Grammar Coverage)swapcase()
— Tracking Information Flow (String methods that do not change origin)symbol_cost()
— Efficient Grammar Fuzzing (Closing the Expansion)SYMBOL_NAME
— Efficient Grammar Fuzzing (Representing Derivation Trees)symbol_reductions()
— Reducing Failure-Inducing Inputs (Both Strategies Together)SYMBOL_TABLE
— Fuzzing with Generators (Definitions and Uses), Fuzzing with Generators (Definitions and Uses)syntax_diagram()
— Fuzzing with Grammars (Visualizing Grammars as Railroad Diagrams)syntax_diagram_alt()
— Fuzzing with Grammars (Visualizing Grammars as Railroad Diagrams)syntax_diagram_expr()
— Fuzzing with Grammars (Visualizing Grammars as Railroad Diagrams)syntax_diagram_symbol()
— Fuzzing with Grammars (Visualizing Grammars as Railroad Diagrams)_t()
— Parsing Inputs (States), Mining Input Grammars (Context)table()
— Tracking Information Flow (Representing Tables)TaintedDB
class — Tracking Information Flow (TaintedDB)TaintedGrammarFuzzer
class — Tracking Information Flow (TaintedGrammarFuzzer), Tracking Information Flow (TaintedGrammarFuzzer), Tracking Information Flow (TaintedGrammarFuzzer), Tracking Information Flow (TaintedGrammarFuzzer)Tainted
class — Tracking Information Flow (Taint Aware Fuzzing)terminals()
— Parsing Inputs (Nullable)Terminal
class — Railroad Diagramstest()
— Reducing Failure-Inducing Inputs (Delta Debugging), Reducing Failure-Inducing Inputs (Delta Debugging)test_successful_order()
— Testing Graphical User Interfaces (Writing Test Cases)Timer
class — Timer (Measuring Time)tint
class — Tracking Information Flow (Part 1: Creation), Tracking Information Flow (Part 2: Arithmetic expressions), Tracking Information Flow (Part 3: Passing taints from integers to strings), Tracking Information Flow (Part 3: Passing taints from integers to strings), Tracking Information Flow (Part 4: Passing taints from integers to strings)title()
— Tracking Information Flow (String methods that do not change origin)TITLE_GRAMMAR
— Fuzzing with Grammars (A Natural Language Grammar)tokenize()
— Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)to_graph()
— Control Flow Graph (Supporting Functions)to_json()
— Control Flow Graph (CFGNode)to_nonterminal()
— Mining Input Grammars (Assembling a Derivation Tree)trace()
— Getting Coverage (A Coverage Class)traceit()
— Getting Coverage (Tracing Executions), Getting Coverage (A Coverage Class), Mining Input Grammars (Tracer), Mining Input Grammars (Context), Mining Input Grammars (Context), Testing Configurations (Tracking Arguments), Testing Configurations (Tracking Arguments), Testing Configurations (A Grammar Miner for Options and Arguments), Carving Unit Tests (Recording Calls), Carving Unit Tests (Exercises), Carving Unit Tests (Part 1: Store function results)Tracer
class — Mining Input Grammars (Tracer), Mining Input Grammars (Context), Mining Input Grammars (Context), Mining Input Grammars (Context), Mining Input Grammars (Context), Mining Input Grammars (Context), Mining Input Grammars (Context)tracing_context()
— Mining Input Grammars (Context)tracing_var()
— Mining Input Grammars (Context)TrackingConfigParser
class — Testing Configurations (Part 3: Mine a Configuration Grammar)TrackingDB
class — Tracking Information Flow (TrackingDB)TrackingGrammarCoverageFuzzer
class — Grammar Coverage (Tracking Grammar Coverage), Grammar Coverage (Tracking Grammar Coverage), Grammar Coverage (Tracking Grammar Coverage), Grammar Coverage (Tracking Grammar Coverage)track_event()
— Mining Input Grammars (DefineTracker), Mining Input Grammars (AssignmentTracker)traverse_constraints()
— Parsing Inputs (Exercise 5: Leo Parser)traverse_tree()
— Efficient Grammar Fuzzing (Representing Derivation Trees), Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)TreeMiner
class — Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Recovering a Derivation Tree)tree_list_to_string()
— Reducing Failure-Inducing Inputs (A Few Helpers)tree_to_grammar()
— Mining Input Grammars (Recovering Grammars from Derivation Trees), Mining Input Grammars (Grammar Mining)tree_to_string()
— Efficient Grammar Fuzzing (Representing Derivation Trees), Tracking Information Flow (TaintedGrammarFuzzer)tree_type()
— Tracking Information Flow (TaintedGrammarFuzzer)TroffRunner
class — Fuzzing: Breaking Things with Random Inputs (Exercise 2: Run Simulated Troff)TrustedDB
class — Tracking Information Flow (Tracking Untrusted Input)TRUSTED
— Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins)TState
class — Parsing Inputs (Exercise 5: Leo Parser)tstr
class — Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (A Class for Tainted Strings), Tracking Information Flow (String Operators), Tracking Information Flow (String Operators)twice()
— Testing Configurations (Creating Autopep8 Options)UNEXPLORED_STATE
— Testing Graphical User Interfaces (Retrieving State Grammars)unhack()
— Control Flow Graph (Supporting Functions)unify_key()
— Parsing Inputs (Unify Key), Parsing Inputs (Unify Rule), Parsing Inputs (Exercise 1: An Alternative Packrat)unify_rule()
— Parsing Inputs (Unify Rule), Parsing Inputs (Exercise 1: An Alternative Packrat)uniq_postdot()
— Parsing Inputs (Exercise 5: Leo Parser)UNKNOWN_ORIGIN
— Tracking Information Flow (A Class for Tracking Character Origins), Tracking Information Flow (Privacy Leaks Revisited)unreachable_nonterminals()
— Fuzzing with Grammars (Checking Grammars)UNRESOLVED
— Fuzzing: Breaking Things with Random Inputs (Runner Classes), Reducing Failure-Inducing Inputs (The Reduction Strategy)UNTRUSTED
— Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins), Tracking Information Flow (Tracking Character Origins)up()
— Railroad Diagramsupdate()
— Mining Input Grammars (Vars), Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars)update_cache()
— Parsing Inputs (Fuzzing a Simple Program)update_children()
— Control Flow Graph (CFGNode), Control Flow Graph (PyCFG)update_existing_state()
— Testing Graphical User Interfaces (Exploring User Interfaces)update_functions()
— Control Flow Graph (PyCFG)update_grammar()
— Mining Input Grammars (Recovering Grammars from Derivation Trees), Mining Input Grammars (Recover Grammar), Mining Input Grammars (Grammar Mining), Tracking Information Flow (TaintedGrammarFuzzer)update_inventory()
— Tracking Information Flow (All Methods Together)update_new_state()
— Testing Graphical User Interfaces (Exploring User Interfaces)update_state()
— Testing Graphical User Interfaces (Exploring User Interfaces)update_tree()
— Tracking Information Flow (TaintedGrammarFuzzer)upper()
— Tracking Information Flow (String methods that do not change origin)URLPARSE_C_GRAMMAR
— Fuzzing APIs (Synthesizing Code)URLPARSE_GRAMMAR
— Fuzzing APIs (Synthesizing Code)URLPARSE_ORACLE_GRAMMAR
— Fuzzing APIs (Synthesizing Oracles), Fuzzing APIs (Synthesizing Oracles), Fuzzing APIs (Exercise 1: Deep Arguments)URLS_X
— Mining Input Grammars (Problems with the Simple Miner)URLS
— Mining Input Grammars (Example 2. Recovering URL Grammar)URL_GRAMMAR
— Fuzzing with Grammars (A URL Grammar)url_parse()
— Mining Input Grammars (Example 2. Recovering URL Grammar)URL_SAMPLE
— Probabilistic Grammar Fuzzing (Testing Common Features)URL_TOKENS
— Probabilistic Grammar Fuzzing (Testing Common Features)use_id()
— Fuzzing with Generators (Definitions and Uses)v()
— Railroad DiagramsV1
— Mining Input Grammars (Assembling a Derivation Tree), Mining Input Grammars (Assembling a Derivation Tree)valid_luhn_checksum()
— Fuzzing with Generators (Functions Called After Expansion)VALUES
— Tracking Information Flow (Inserting Data)VARIABLE
— Getting Coverage (A Coverage Class)Vars
class — Mining Input Grammars (Vars), Mining Input Grammars (Vars)var_access()
— Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars)var_assign()
— Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars)VAR_GRAMMAR
— Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer), Fuzzing with Generators (Definitions and Uses), Fuzzing with Generators (Definitions and Uses)var_location_register()
— Mining Input Grammars (AssignmentVars)var_name()
— Mining Input Grammars (AssignmentVars), Mining Input Grammars (ScopedVars)var_symbol()
— Carving Unit Tests (A Grammar from Arguments)VAR_TOKENS
— Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)VEHICLES
— Mining Input Grammars (A Simple Grammar Miner), Tracking Information Flow (All Methods Together)Vehicle
class — Mining Input Grammars (Exercise 1: Flattening complex objects)VS
— Railroad Diagramswalk()
— Control Flow Graph (PyCFG)webbrowser()
— Carving Unit Tests (System Tests vs Unit Tests), Testing Web Applications (Logging)WebFormFuzzer
class — Testing Web Applications (A Fuzzer for Web Forms)WebRunner
class — Testing Web Applications (Fuzzing with Unexpected Values)WHERE
— Tracking Information Flow (Deleting Data)wrapString()
— Railroad DiagramswriteSvg()
— Railroad Diagrams, Railroad Diagrams, Railroad Diagramsx()
— Tracking Information Flow (Extract Origin String)XML_GRAMMAR
— Fuzzing with Generators (Example: Matching XML Tags)XML_UNICODE_WCHAR_T
— Testing Configurations (Part 3: C Preprocessor Configuration Fuzzing)ZeroOrMore()
— Railroad DiagramsZOOM
— Testing Graphical User Interfaces (Remote Control with Selenium)