#!/usr/bin/env python # coding: utf-8 # # Index # ## A - E # ### A # # * a solution — [Concolic Fuzzing (SMT Solvers)](ConcolicFuzzer.ipynb#SMT-Solvers) # * `A()` — [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * `A1_GRAMMAR` — [Parsing Inputs (Grammars)](Parser.ipynb#Grammars), [Parsing Inputs (Grammars)](Parser.ipynb#Grammars), [Parsing Inputs (Recursion)](Parser.ipynb#Recursion), [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity), [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Exercise 6: First Set of a Nonterminal)](Parser.ipynb#Exercise-6:-First-Set-of-a-Nonterminal), [Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)](Parser.ipynb#Exercise-7:-Follow-Set-of-a-Nonterminal) # * `A2_GRAMMAR` — [Parsing Inputs (Grammars)](Parser.ipynb#Grammars), [Parsing Inputs (Grammars)](Parser.ipynb#Grammars), [Parsing Inputs (Background)](Parser.ipynb#Background) # * `A3_GRAMMAR` — [Parsing Inputs (Extracting Trees)](Parser.ipynb#Extracting-Trees), [Parsing Inputs (Ambiguous Parsing)](Parser.ipynb#Ambiguous-Parsing) # * Abstract Syntax Tree — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * `abs_max()` — [Concolic Fuzzing (Absolute Maximum)](ConcolicFuzzer.ipynb#Absolute-Maximum), [Symbolic Fuzzing (names)](SymbolicFuzzer.ipynb#names) # * `abs_value()` — [Concolic Fuzzing (Absolute Maximum)](ConcolicFuzzer.ipynb#Absolute-Maximum), [Symbolic Fuzzing (Function summaries)](SymbolicFuzzer.ipynb#Function-summaries) # * actions — [Testing Graphical User Interfaces (Retrieving User Interface Actions)](GUIFuzzer.ipynb#Retrieving-User-Interface-Actions), [Testing Graphical User Interfaces (Retrieving Actions)](GUIFuzzer.ipynb#Retrieving-Actions) # * `add()` — [Parsing Inputs (Columns)](Parser.ipynb#Columns) # * `addDebug()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `addTo()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `add_call()` — [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls) # * `add_calls()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `add_child()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `add_coverage()` — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage), [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions) # * `add_element()` — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * `add_group()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `add_int_rule()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `add_metavar_rule()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `add_new_airport()` — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers), [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * `add_parameter()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `add_parent()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `add_parents()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `add_result()` — [Carving Unit Tests (Part 1: Store function results)](Carver.ipynb#Part-1:-Store-function-results) # * `add_str_rule()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `add_trace()` — [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints) # * `add_transitive()` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `add_tree()` — [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions), [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees) # * `add_tree_coverage()` — [Fuzzing with Generators (Generators and Grammar Coverage)](GeneratorGrammarFuzzer.ipynb#Generators-and-Grammar-Coverage) # * `add_type_rule()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `__add__()` — [Tracking Information Flow (Concatenation)](InformationFlow.ipynb#Concatenation), [Concolic Fuzzing (Concatenation of Strings)](ConcolicFuzzer.ipynb#Concatenation-of-Strings) # * `advance()` — [Parsing Inputs (Items)](Parser.ipynb#Items), [Parsing Inputs (States)](Parser.ipynb#States) # * `AdvancedSymbolicFuzzer` class — [Symbolic Fuzzing (Advanced Symbolic Fuzzer)](SymbolicFuzzer.ipynb#Advanced-Symbolic-Fuzzer), [Symbolic Fuzzing (can_be_satisfied)](SymbolicFuzzer.ipynb#can_be_satisfied), [Symbolic Fuzzing (extract_constraints)](SymbolicFuzzer.ipynb#extract_constraints), [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths), [Symbolic Fuzzing (Fuzzing with our advanced fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-advanced-fuzzer) # * AFL — [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage) # * `airport_codes_repOK()` — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * Alex framework — [Testing Graphical User Interfaces (Background)](GUIFuzzer.ipynb#Background) # * all — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example), [Symbolic Fuzzing (The control flow graph)](SymbolicFuzzer.ipynb#The-control-flow-graph), [Symbolic Fuzzing (Concolic Execution)](SymbolicFuzzer.ipynb#Concolic-Execution), [When To Stop Fuzzing (Discovery Probability Quantifies Residual Risk)](WhenToStopFuzzing.ipynb#Discovery-Probability-Quantifies-Residual-Risk) # * all paths — [Symbolic Fuzzing (names)](SymbolicFuzzer.ipynb#names) # * `all_terminals()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `alternate_reductions()` — [Reducing Failure-Inducing Inputs (Alternate Expansions)](Reducer.ipynb#Alternate-Expansions) # * `AlternatingSequence` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * alternatives — [Fuzzing with Grammars (Rules and Expansions)](Grammars.ipynb#Rules-and-Expansions) # * American fuzzy lop — [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage) # * `annotate_arg()` — [Mining Function Specifications (Annotating Functions)](DynamicInvariants.ipynb#Annotating-Functions) # * `annotate_edge()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `annotate_node()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `annotate_types()` — [Mining Function Specifications (All Together)](DynamicInvariants.ipynb#All-Together) # * `annotate_types_function()` — [Mining Function Specifications (All Together)](DynamicInvariants.ipynb#All-Together) # * `annotate_types_function_ast()` — [Mining Function Specifications (All Together)](DynamicInvariants.ipynb#All-Together) # * any — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `any_possible_expansions()` — [Efficient Grammar Fuzzing (Expanding a Tree)](GrammarFuzzer.ipynb#Expanding-a-Tree) # * `apply_new_definition()` — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree) # * `apply_result()` — [Fuzzing with Generators (Generating Elements before Expansion)](GeneratorGrammarFuzzer.ipynb#Generating-Elements-before-Expansion) # * `apply_twice()` — [Fuzzing with Generators (Functions Called Before Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-Before-Expansion) # * arbitrary — [Parsing Inputs (Testing the Parsers)](Parser.ipynb#Testing-the-Parsers) # * `arc()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `ArcCoverage` class — [Concolic Fuzzing (Tracking Constraints)](ConcolicFuzzer.ipynb#Tracking-Constraints) # * `arcs()` — [Concolic Fuzzing (Tracking Constraints)](ConcolicFuzzer.ipynb#Tracking-Constraints) # * `arc_8()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `arguments()` — [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls) # * `ARGUMENTS_SYMBOL` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * arithmetic expressions — [Fuzzing with Grammars (Arithmetic Expressions)](Grammars.ipynb#Arithmetic-Expressions) # * `AR` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `ASCII_STRING_EBNF_GRAMMAR` — [Fuzzing APIs (Strings)](APIFuzzer.ipynb#Strings) # * `ASCII_STRING_GRAMMAR` — [Fuzzing APIs (Strings)](APIFuzzer.ipynb#Strings) # * `assertEquals()` — [Introduction to Software Testing (Automating Test Execution)](Intro_Testing.ipynb#Automating-Test-Execution) # * assertion — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * assignment — [Fuzzing: Breaking Things with Random Inputs (A Testing Assignment)](Fuzzer.ipynb#A-Testing-Assignment) # * `assignments()` — [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker) # * `AssignmentTracker` class — [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker), [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker), [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * `AssignmentVars` class — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * `at()` — [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack) # * `ATTACKS` — [Testing Web Applications (Fully Automatic Web Attacks)](WebFuzzer.ipynb#Fully-Automatic-Web-Attacks) # * `ATTR_GRAMMAR` — [Fuzzing with Generators (Exercise 2: Attribute Grammars)](GeneratorGrammarFuzzer.ipynb#Exercise-2:-Attribute-Grammars) # * `at_dot()` — [Parsing Inputs (Items)](Parser.ipynb#Items) # * Automata theory — [Fuzzing with Grammars (Input Languages)](Grammars.ipynb#Input-Languages) # * `autopep8()` — [Testing Configurations (Autopep8 Setup)](ConfigurationFuzzer.ipynb#Autopep8-Setup) # * `average_length_until_full_coverage()` — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage) # # ### B # # * `B()` — [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * Backus-Naur form — [Fuzzing with Grammars (Grammar Shortcuts)](Grammars.ipynb#Grammar-Shortcuts) # * `bad_fitness()` — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * before — [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * `BetterHTTPRequestHandler` class — [Testing Web Applications (Part 1: Silent Failures)](WebFuzzer.ipynb#Part-1:-Silent-Failures), [Testing Web Applications (Part 2: Sanitized HTML)](WebFuzzer.ipynb#Part-2:-Sanitized-HTML), [Testing Web Applications (Part 3: Sanitized SQL)](WebFuzzer.ipynb#Part-3:-Sanitized-SQL), [Testing Web Applications (Part 4: A Robust Server)](WebFuzzer.ipynb#Part-4:-A-Robust-Server) # * `BETTER_HTML_INTERNAL_SERVER_ERROR` — [Testing Web Applications (Part 1: Silent Failures)](WebFuzzer.ipynb#Part-1:-Silent-Failures) # * `BinaryProgramRunner` class — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # * `binomial()` — [Concolic Fuzzing (Binomial Coefficient)](ConcolicFuzzer.ipynb#Binomial-Coefficient) # * `BIRD` — [Fuzzing: Breaking Things with Random Inputs (Checking Memory Accesses)](Fuzzer.ipynb#Checking-Memory-Accesses) # * bitmap origins — [Tracking Information Flow (Tracking Individual Characters)](InformationFlow.ipynb#Tracking-Individual-Characters) # * `BIT_OPS` — [Concolic Fuzzing (Exercise 2: Bit Manipulation)](ConcolicFuzzer.ipynb#Exercise-2:-Bit-Manipulation) # * black-box testing — [Getting Coverage (Black-Box Testing)](Coverage.ipynb#Black-Box-Testing) # * `BletchleyPark` class — [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma), [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations), [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * blog post — [Mutation-Based Fuzzing (Exercise 3)](MutationFuzzer.ipynb#Exercise-3), [Reducing Failure-Inducing Inputs (Background)](Reducer.ipynb#Background) # * BNF — [Fuzzing with Grammars (Grammar Shortcuts)](Grammars.ipynb#Grammar-Shortcuts) # * `BODY` — [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class), [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class), [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class) # * Bomba — [When To Stop Fuzzing (The Enigma Machine)](WhenToStopFuzzing.ipynb#The-Enigma-Machine) # * `__bool__()` — [Concolic Fuzzing (Registering Predicates on Conditionals)](ConcolicFuzzer.ipynb#Registering-Predicates-on-Conditionals), [Concolic Fuzzing (Using an Integer in a Boolean Context)](ConcolicFuzzer.ipynb#Using-an-Integer-in-a-Boolean-Context), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) # * `BoostedBletchleyPark` class — [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * Branch coverage — [Getting Coverage (White-Box Testing)](Coverage.ipynb#White-Box-Testing) # * `BranchCoverage` class — [Getting Coverage (Part 1: Compute branch coverage)](Coverage.ipynb#Part-1:-Compute-branch-coverage) # * `BranchTransformer` class — [Search-Based Fuzzing (Instrumenting Source Code Automatically)](SearchBasedFuzzer.ipynb#Instrumenting-Source-Code-Automatically) # * `branch_coverage()` — [Getting Coverage (Part 1: Compute branch coverage)](Coverage.ipynb#Part-1:-Compute-branch-coverage) # * `break_max_attempts()` — [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * `break_message()` — [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma), [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations), [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations), [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * `break_n_messages()` — [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * `BROWSER` — [Testing Graphical User Interfaces (Remote Control with Selenium)](GUIFuzzer.ipynb#Remote-Control-with-Selenium) # # ### C # # * C preprocessor — [Testing Configurations (Exercise 1: #ifdef Configuration Fuzzing)](ConfigurationFuzzer.ipynb#Exercise-1:-#ifdef-Configuration-Fuzzing) # * `C()` — [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * C-Reduce — [Reducing Failure-Inducing Inputs (Background)](Reducer.ipynb#Background) # * `CachingReducer` class — [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging) # * `calculate_distance()` — [Search-Based Fuzzing (Defining a search landscape: Fitness functions)](SearchBasedFuzzer.ipynb#Defining-a-search-landscape:-Fitness-functions) # * call — [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations) # * call stack — [Introduction to Software Testing (System Input vs Function Input)](Intro_Testing.ipynb#System-Input-vs-Function-Input) # * `CallCarver` class — [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls) # * `called_functions()` — [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls) # * `CallGrammarMiner` class — [Carving Unit Tests (A Grammar Miner for Calls)](Carver.ipynb#A-Grammar-Miner-for-Calls), [Carving Unit Tests (Initial Grammar)](Carver.ipynb#Initial-Grammar), [Carving Unit Tests (A Grammar from Arguments)](Carver.ipynb#A-Grammar-from-Arguments), [Carving Unit Tests (A Grammar from Calls)](Carver.ipynb#A-Grammar-from-Calls), [Carving Unit Tests (A Grammar from all Calls)](Carver.ipynb#A-Grammar-from-all-Calls) # * `calls()` — [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls) # * `CallStack` class — [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack), [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack) # * `CallTracker` class — [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls) # * `call_string()` — [Carving Unit Tests (Serializing Objects)](Carver.ipynb#Serializing-Objects) # * `CALL_SYMBOL` — [Carving Unit Tests (Initial Grammar)](Carver.ipynb#Initial-Grammar) # * `call_value()` — [Carving Unit Tests (Serializing Objects)](Carver.ipynb#Serializing-Objects) # * `__call__()` — [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer) # * `cancel()` — [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts) # * `candidate()` — [Fuzzing with Input Fragments (Candidate)](LangFuzzer.ipynb#Candidate), [Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)](LangFuzzer.ipynb#Exercise-1:-A-Different-LangFuzzer) # * `canonical()` — [Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)](Parser.ipynb#The-Packrat-Parser-for-Predicate-Expression-Grammars) # * `canonical_expr()` — [Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)](Parser.ipynb#The-Packrat-Parser-for-Predicate-Expression-Grammars) # * `can_be_satisfied()` — [Symbolic Fuzzing (can_be_satisfied)](SymbolicFuzzer.ipynb#can_be_satisfied) # * `capitalize()` — [Tracking Information Flow (String methods that do not change origin)](InformationFlow.ipynb#String-methods-that-do-not-change-origin) # * `Carver` class — [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls) # * CFG — [Parsing Inputs (Parsing Expression Grammars)](Parser.ipynb#Parsing-Expression-Grammars), [Parsing Inputs (Unify Rule)](Parser.ipynb#Unify-Rule), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs (The Earley Parser)](Parser.ipynb#The-Earley-Parser), [Parsing Inputs (Extracting Trees)](Parser.ipynb#Extracting-Trees), [Parsing Inputs (Background)](Parser.ipynb#Background), [Fuzzing with Input Fragments (Recombining Parsed Inputs)](LangFuzzer.ipynb#Recombining-Parsed-Inputs) # * `CFGNode` class — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * CFGs — [Parsing Inputs (The Earley Parser)](Parser.ipynb#The-Earley-Parser), [Parsing Inputs (Background)](Parser.ipynb#Background) # * `CFLAGS` — [Practical Steps with FuzzManager (Code Coverage)](FuzzingInTheLarge.ipynb#Code-Coverage) # * CFLs — [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background) # * `cgi_decode()` — [Getting Coverage (A CGI Decoder)](Coverage.ipynb#A-CGI-Decoder), [Getting Coverage (Tracing Executions)](Coverage.ipynb#Tracing-Executions), [Search-Based Fuzzing (Testing a More Complex Program)](SearchBasedFuzzer.ipynb#Testing-a-More-Complex-Program), [Control Flow Graph (cgi_decode)](ControlFlow.ipynb#cgi_decode) # * `cgi_decode_traced()` — [Getting Coverage (Tracing Executions)](Coverage.ipynb#Tracing-Executions) # * `cgi_encode()` — [Testing Web Applications (Fuzzing with Expected Values)](WebFuzzer.ipynb#Fuzzing-with-Expected-Values) # * `CGI_GRAMMAR` — [Fuzzing with Grammars (A CGI Grammar)](Grammars.ipynb#A-CGI-Grammar), [Testing Web Applications (Mining Grammars for Web Pages)](WebFuzzer.ipynb#Mining-Grammars-for-Web-Pages) # * chapter on parsers](Parser.ipynb) that coarse grammars do not work well for fuzzing when the input format includes details expressed only in code. That is, even though we have the formal specification of CSV files ([RFC 4180 — [Mining Input Grammars (A Grammar Challenge)](GrammarMiner.ipynb#A-Grammar-Challenge) # * character level — [Tracking Information Flow (Tracking Individual Characters)](InformationFlow.ipynb#Tracking-Individual-Characters) # * `CHARACTERS_WITHOUT_QUOTE` — [Fuzzing with Grammars (Exercise 1: A JSON Grammar)](Grammars.ipynb#Exercise-1:-A-JSON-Grammar) # * `CHARGE_GRAMMAR` — [Fuzzing with Generators (Example: Test a Credit Card System)](GeneratorGrammarFuzzer.ipynb#Example:-Test-a-Credit-Card-System), [Fuzzing with Generators (Example: Numeric Ranges)](GeneratorGrammarFuzzer.ipynb#Example:-Numeric-Ranges) # * `chart_parse()` — [Parsing Inputs (The Parsing Algorithm)](Parser.ipynb#The-Parsing-Algorithm) # * `CHAR_WIDTH` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `check()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `checkpoint()` — [Symbolic Fuzzing (Fuzzing with our simple fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-simple-fuzzer) # * checksum — [Tracking Information Flow (Tracking Individual Characters)](InformationFlow.ipynb#Tracking-Individual-Characters) # * `check_diversity()` — [Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)](LangFuzzer.ipynb#Exercise-1:-A-Different-LangFuzzer) # * `check_grammar()` — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Probabilistic Grammar Fuzzing (Expanding by Probability)](ProbabilisticGrammarFuzzer.ipynb#Expanding-by-Probability) # * `check_param()` — [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `check_time()` — [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts) # * `check_triangle()` — [Symbolic Fuzzing (Using symbolic variables to obtain path conditions for coverage)](SymbolicFuzzer.ipynb#Using-symbolic-variables-to-obtain-path-conditions-for-coverage), [Control Flow Graph (check_triangle)](ControlFlow.ipynb#check_triangle) # * child nodes — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * children — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * `CHILDREN` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees), [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * choice expressions — [Parsing Inputs (Parsing Expression Grammars)](Parser.ipynb#Parsing-Expression-Grammars) # * `Choice` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `choose_covered_node_expansion()` — [Grammar Coverage (Covering Grammar Expansions)](GrammarCoverageFuzzer.ipynb#Covering-Grammar-Expansions), [Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)](ProbabilisticGrammarFuzzer.ipynb#Exercise-1:-Probabilistic-Fuzzing-with-Coverage) # * `choose_node_expansion()` — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage), [Grammar Coverage (Covering Grammar Expansions)](GrammarCoverageFuzzer.ipynb#Covering-Grammar-Expansions), [Grammar Coverage (All Together)](GrammarCoverageFuzzer.ipynb#All-Together), [Probabilistic Grammar Fuzzing (Expanding by Probability)](ProbabilisticGrammarFuzzer.ipynb#Expanding-by-Probability), [Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)](ProbabilisticGrammarFuzzer.ipynb#Exercise-1:-Probabilistic-Fuzzing-with-Coverage) # * `choose_tree_expansion()` — [Efficient Grammar Fuzzing (Expanding a Tree)](GrammarFuzzer.ipynb#Expanding-a-Tree), [Fuzzing with Generators (Ordering Expansions)](GeneratorGrammarFuzzer.ipynb#Ordering-Expansions) # * `choose_uncovered_node_expansion()` — [Grammar Coverage (Covering Grammar Expansions)](GrammarCoverageFuzzer.ipynb#Covering-Grammar-Expansions), [Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)](ProbabilisticGrammarFuzzer.ipynb#Exercise-1:-Probabilistic-Fuzzing-with-Coverage) # * `clean_grammar()` — [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining) # * `clear_httpd_messages()` — [Testing Web Applications (Logging)](WebFuzzer.ipynb#Logging) # * `clear_origin()` — [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins) # * `clear_symbol_table()` — [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses) # * `clear_taint()` — [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins) # * `click()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `clock()` — [Timer (Measuring Time)](Timer.ipynb#Measuring-Time) # * `coalesce()` — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity), [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * code coverage — [Getting Coverage](Coverage.ipynb#Getting-Coverage) # * `code_repOK()` — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * `collapse_if_too_large()` — [Fuzzing: Breaking Things with Random Inputs (Missing Error Checks)](Fuzzer.ipynb#Missing-Error-Checks) # * colors — [Tracking Information Flow (Tracking Individual Characters)](InformationFlow.ipynb#Tracking-Individual-Characters) # * `column()` — [Tracking Information Flow (Representing Tables)](InformationFlow.ipynb#Representing-Tables), [Concolic Fuzzing (Database)](ConcolicFuzzer.ipynb#Database) # * `Column` class — [Parsing Inputs (Columns)](Parser.ipynb#Columns), [Parsing Inputs (Columns)](Parser.ipynb#Columns), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `combination()` — [Concolic Fuzzing (Binomial Coefficient)](ConcolicFuzzer.ipynb#Binomial-Coefficient) # * commas — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `comma_split()` — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `COMMENT_CHAR_WIDTH` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `Comment` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * comparison node — [Control Flow Graph (fib)](ControlFlow.ipynb#fib) # * compiler testing — [Fuzzing with Grammars (Background)](Grammars.ipynb#Background), [Reducing Failure-Inducing Inputs (Background)](Reducer.ipynb#Background) # * complement of the input samples — [Probabilistic Grammar Fuzzing (Testing Uncommon Features)](ProbabilisticGrammarFuzzer.ipynb#Testing-Uncommon-Features) # * `complete()` — [Parsing Inputs (Completing Processing)](Parser.ipynb#Completing-Processing), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `compute_dominator()` — [Control Flow Graph (Supporting Functions)](ControlFlow.ipynb#Supporting-Functions) # * `compute_flow()` — [Control Flow Graph (Supporting Functions)](ControlFlow.ipynb#Supporting-Functions) # * `compute_gcd()` — [Control Flow Graph (gcd)](ControlFlow.ipynb#gcd) # * Concolic — [Symbolic Fuzzing](SymbolicFuzzer.ipynb#Symbolic-Fuzzing) # * concolic — [Symbolic Fuzzing (can_be_satisfied)](SymbolicFuzzer.ipynb#can_be_satisfied) # * Concolic Execution — [Concolic Fuzzing (SMT Solvers)](ConcolicFuzzer.ipynb#SMT-Solvers), [Symbolic Fuzzing (Problems with our advanced fuzzer)](SymbolicFuzzer.ipynb#Problems-with-our-advanced-fuzzer) # * concolic execution — [Symbolic Fuzzing (Concolic Execution)](SymbolicFuzzer.ipynb#Concolic-Execution), [Symbolic Fuzzing (Using Concolic Execution in Fuzzing)](SymbolicFuzzer.ipynb#Using-Concolic-Execution-in-Fuzzing), [Symbolic Fuzzing (Using Concolic Execution in Fuzzing)](SymbolicFuzzer.ipynb#Using-Concolic-Execution-in-Fuzzing) # * concolic exeuction — [Mining Input Grammars (Exercise 2: Incorporating Taints from InformationFlow)](GrammarMiner.ipynb#Exercise-2:-Incorporating-Taints-from-InformationFlow) # * `concolic()` — [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Concolic Fuzzing (Generating Fresh Names)](ConcolicFuzzer.ipynb#Generating-Fresh-Names) # * `ConcolicDB` class — [Concolic Fuzzing (Database)](ConcolicFuzzer.ipynb#Database) # * `ConcolicFuzzer` class — [Symbolic Fuzzing (ConcolicFuzzer)](SymbolicFuzzer.ipynb#ConcolicFuzzer), [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths) # * `ConcolicGrammarFuzzer` class — [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer), [Concolic Fuzzing (All together)](ConcolicFuzzer.ipynb#All-together), [Concolic Fuzzing (All together)](ConcolicFuzzer.ipynb#All-together) # * `ConcolicTracer` class — [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Concolic Fuzzing (Translating to the SMT Expression Format)](ConcolicFuzzer.ipynb#Translating-to-the-SMT-Expression-Format), [Concolic Fuzzing (Generating Fresh Names)](ConcolicFuzzer.ipynb#Generating-Fresh-Names), [Concolic Fuzzing (Evaluating the Concolic Expressions)](ConcolicFuzzer.ipynb#Evaluating-the-Concolic-Expressions) # * concrete syntax tree — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * conditional compilation — [Testing Configurations (Exercise 1: #ifdef Configuration Fuzzing)](ConfigurationFuzzer.ipynb#Exercise-1:-#ifdef-Configuration-Fuzzing) # * `CONDITION` — [Getting Coverage (Exercise 2: Branch Coverage)](Coverage.ipynb#Exercise-2:-Branch-Coverage), [Getting Coverage (Exercise 2: Branch Coverage)](Coverage.ipynb#Exercise-2:-Branch-Coverage), [Getting Coverage (Exercise 2: Branch Coverage)](Coverage.ipynb#Exercise-2:-Branch-Coverage) # * `CONSTRAINED_VAR_GRAMMAR` — [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses), [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses), [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses), [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses), [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses), [Fuzzing with Generators (Ordering Expansions)](GeneratorGrammarFuzzer.ipynb#Ordering-Expansions), [Fuzzing with Generators (Ordering Expansions)](GeneratorGrammarFuzzer.ipynb#Ordering-Expansions) # * constraint — [Fuzzing with Generators (Functions Called After Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-After-Expansion) # * context-free grammars — [Fuzzing with Grammars (Grammars)](Grammars.ipynb#Grammars) # * `Context` class — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `convert()` — [Tracking Information Flow (Inserting Data)](InformationFlow.ipynb#Inserting-Data) # * `convert_ebnf_grammar()` — [Fuzzing with Grammars (All Together)](Grammars.ipynb#All-Together) # * `convert_ebnf_operators()` — [Fuzzing with Grammars (Expanding Operators)](Grammars.ipynb#Expanding-Operators) # * `convert_ebnf_parentheses()` — [Fuzzing with Grammars (Expanding Parenthesized Expressions)](Grammars.ipynb#Expanding-Parenthesized-Expressions) # * `copy()` — [Parsing Inputs (States)](Parser.ipynb#States), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Symbolic Fuzzing (copy)](SymbolicFuzzer.ipynb#copy) # * `COUNTER` — [Concolic Fuzzing (Generating Fresh Names)](ConcolicFuzzer.ipynb#Generating-Fresh-Names) # * `counts()` — [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions) # * `count_expansions()` — [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions) # * coverage criteria — [Getting Coverage (White-Box Testing)](Coverage.ipynb#White-Box-Testing) # * `coverage()` — [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class), [Getting Coverage (Part 1: Compute branch coverage)](Coverage.ipynb#Part-1:-Compute-branch-coverage), [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage) # * `Coverage` class — [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class) # * `cov_to_arcs()` — [Symbolic Fuzzing (The control flow graph)](SymbolicFuzzer.ipynb#The-control-flow-graph) # * `cpp_identifiers()` — [Testing Configurations (Part 1: Extract Preprocessor Variables)](ConfigurationFuzzer.ipynb#Part-1:-Extract-Preprocessor-Variables) # * `crange()` — [Fuzzing with Grammars (Character Classes)](Grammars.ipynb#Character-Classes) # * crash signature — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * `crash_if_too_long()` — [Fuzzing: Breaking Things with Random Inputs (Buffer Overflows)](Fuzzer.ipynb#Buffer-Overflows) # * `crawl()` — [Testing Web Applications (Crawling User Interfaces)](WebFuzzer.ipynb#Crawling-User-Interfaces) # * crawler — [Testing Web Applications (Crawling User Interfaces)](WebFuzzer.ipynb#Crawling-User-Interfaces) # * Create — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * `create()` — [Tracking Information Flow (String Operators)](InformationFlow.ipynb#String-Operators), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (Create)](InformationFlow.ipynb#Create), [Tracking Information Flow (Part 2: Arithmetic expressions)](InformationFlow.ipynb#Part-2:-Arithmetic-expressions), [Concolic Fuzzing (A Proxy Class for Booleans)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Booleans), [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers), [Concolic Fuzzing (A Proxy Class for Strings)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Strings), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) # * `create_candidate()` — [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations) # * `create_foo_py()` — [Testing Configurations (Creating Autopep8 Options)](ConfigurationFuzzer.ipynb#Creating-Autopep8-Options) # * `create_instrumented_function()` — [Search-Based Fuzzing (Instrumenting Source Code Automatically)](SearchBasedFuzzer.ipynb#Instrumenting-Source-Code-Automatically) # * `create_population()` — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * `create_table()` — [Tracking Information Flow (Representing Tables)](InformationFlow.ipynb#Representing-Tables) # * cross-site scripting — [Testing Web Applications (Cross-Site Scripting Attacks)](WebFuzzer.ipynb#Cross-Site-Scripting-Attacks) # * crossover — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * `crossover()` — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * CSmith — [Fuzzing with Grammars (Background)](Grammars.ipynb#Background) # * CSV — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `CSV_GRAMMAR` — [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program) # * current — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * `C_SAMPLE_GRAMMAR` — [Parsing Inputs (The Earley Parser)](Parser.ipynb#The-Earley-Parser) # * `C` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # # ### D # # * data dictionary — [Testing Web Applications (Leaking Internal Information)](WebFuzzer.ipynb#Leaking-Internal-Information) # * database — [Testing Web Applications (Storing Orders)](WebFuzzer.ipynb#Storing-Orders) # * `db_select()` — [Concolic Fuzzing (Database)](ConcolicFuzzer.ipynb#Database) # * `DB` — [Tracking Information Flow (Executing SQL Statements)](InformationFlow.ipynb#Executing-SQL-Statements), [Tracking Information Flow (Tracking Untrusted Input)](InformationFlow.ipynb#Tracking-Untrusted-Input), [Tracking Information Flow (TaintedDB)](InformationFlow.ipynb#TaintedDB), [Concolic Fuzzing (Database)](ConcolicFuzzer.ipynb#Database) # * `DB` class — [Tracking Information Flow (A Vulnerable Database)](InformationFlow.ipynb#A-Vulnerable-Database), [Tracking Information Flow (Representing Tables)](InformationFlow.ipynb#Representing-Tables), [Tracking Information Flow (Representing Tables)](InformationFlow.ipynb#Representing-Tables), [Tracking Information Flow (Representing Tables)](InformationFlow.ipynb#Representing-Tables), [Tracking Information Flow (Executing SQL Statements)](InformationFlow.ipynb#Executing-SQL-Statements), [Tracking Information Flow (Selecting Data)](InformationFlow.ipynb#Selecting-Data), [Tracking Information Flow (Selecting Data)](InformationFlow.ipynb#Selecting-Data), [Tracking Information Flow (Selecting Data)](InformationFlow.ipynb#Selecting-Data), [Tracking Information Flow (Inserting Data)](InformationFlow.ipynb#Inserting-Data), [Tracking Information Flow (Inserting Data)](InformationFlow.ipynb#Inserting-Data), [Tracking Information Flow (Updating Data)](InformationFlow.ipynb#Updating-Data), [Tracking Information Flow (Deleting Data)](InformationFlow.ipynb#Deleting-Data) # * debugger — [Introduction to Software Testing (Debugging a Function)](Intro_Testing.ipynb#Debugging-a-Function) # * `DEBUG` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `decrange()` — [Probabilistic Grammar Fuzzing (Probabilities in Context)](ProbabilisticGrammarFuzzer.ipynb#Probabilities-in-Context) # * `default_edge_attr()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `default_graph_attr()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `default_node_attr()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `DEFAULT_ORIGIN` — [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins) # * `DEFAULT_STYLE` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `defined_vars()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `DefineTracker` class — [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker) # * `define_expr()` — [Fuzzing with Grammars (Part 1 (b): Alternative representations)](Grammars.ipynb#Part-1-(b):-Alternative-representations) # * `define_ex_grammar()` — [Fuzzing with Grammars (Part 1 (b): Alternative representations)](Grammars.ipynb#Part-1-(b):-Alternative-representations) # * `define_grammar()` — [Fuzzing with Grammars (Part 1 (a): One Single Function)](Grammars.ipynb#Part-1-(a):-One-Single-Function) # * `define_id()` — [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses) # * `define_name()` — [Fuzzing with Grammars (Part 1 (b): Alternative representations)](Grammars.ipynb#Part-1-(b):-Alternative-representations) # * `define_vars()` — [Symbolic Fuzzing (names)](SymbolicFuzzer.ipynb#names) # * `def_used_nonterminals()` — [Fuzzing with Grammars (Checking Grammars)](Grammars.ipynb#Checking-Grammars) # * `DELAY_AFTER_CHECK` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `DELAY_AFTER_CLICK` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `DELAY_AFTER_FILL` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `DELAY_AFTER_SUBMIT` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `delete_element()` — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * `delete_random_character()` — [Mutation-Based Fuzzing (Mutating Inputs)](MutationFuzzer.ipynb#Mutating-Inputs) # * `DELETE` — [Testing Web Applications (SQL Injection Attacks)](WebFuzzer.ipynb#SQL-Injection-Attacks) # * `DeltaDebuggingReducer` class — [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging) # * derivation tree — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * `determineGaps()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `deterministic_reduction()` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `DiagramItem` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `DIAGRAM_CLASS` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `Diagram` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * different — [Mining Input Grammars (Problems with the Grammar Miner with Reassignment)](GrammarMiner.ipynb#Problems-with-the-Grammar-Miner-with-Reassignment) # * `DIGIT_GRAMMAR` — [Fuzzing with Grammars (Representing Grammars in Python)](Grammars.ipynb#Representing-Grammars-in-Python) # * discovery — [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * discovery probability — [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * `discriminant()` — [Symbolic Fuzzing (Concolic Execution with PyExZ3)](SymbolicFuzzer.ipynb#Concolic-Execution-with-PyExZ3), [Symbolic Fuzzing (Concolic Execution with PyExZ3)](SymbolicFuzzer.ipynb#Concolic-Execution-with-PyExZ3), [Symbolic Fuzzing (roots - take 4)](SymbolicFuzzer.ipynb#roots---take-4) # * `display_annotated_tree()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `display_httpd_message()` — [Testing Web Applications (Logging)](WebFuzzer.ipynb#Logging) # * `display_stack()` — [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack) # * `display_tree()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `distance_character()` — [Search-Based Fuzzing (Branch Distances)](SearchBasedFuzzer.ipynb#Branch-Distances) # * Domato — [Fuzzing with Grammars (Background)](Grammars.ipynb#Background) # * `dot_escape()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `doubleenumerate()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `down()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `do_call()` — [Fuzzing APIs (Synthesizing Code)](APIFuzzer.ipynb#Synthesizing-Code) # * `do_check()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `do_click()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `do_delete()` — [Tracking Information Flow (Executing SQL Statements)](InformationFlow.ipynb#Executing-SQL-Statements), [Tracking Information Flow (Deleting Data)](InformationFlow.ipynb#Deleting-Data) # * `do_fill()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `do_GET()` — [Testing Web Applications (Handling HTTP Requests)](WebFuzzer.ipynb#Handling-HTTP-Requests) # * `do_HEAD()` — [Testing Web Applications (Other HTTP commands)](WebFuzzer.ipynb#Other-HTTP-commands) # * `do_insert()` — [Tracking Information Flow (Executing SQL Statements)](InformationFlow.ipynb#Executing-SQL-Statements), [Tracking Information Flow (Inserting Data)](InformationFlow.ipynb#Inserting-Data) # * `do_select()` — [Tracking Information Flow (Executing SQL Statements)](InformationFlow.ipynb#Executing-SQL-Statements), [Tracking Information Flow (Selecting Data)](InformationFlow.ipynb#Selecting-Data) # * `do_submit()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `do_update()` — [Tracking Information Flow (Executing SQL Statements)](InformationFlow.ipynb#Executing-SQL-Statements), [Tracking Information Flow (Updating Data)](InformationFlow.ipynb#Updating-Data) # * Dragon Book — [Efficient Grammar Fuzzing (Background)](GrammarFuzzer.ipynb#Background) # * `duplicate_context()` — [Grammar Coverage (Extending Grammars for Context Coverage Programmatically)](GrammarCoverageFuzzer.ipynb#Extending-Grammars-for-Context-Coverage-Programmatically) # * `_duplicate_context()` — [Grammar Coverage (Extending Grammars for Context Coverage Programmatically)](GrammarCoverageFuzzer.ipynb#Extending-Grammars-for-Context-Coverage-Programmatically) # * dynamic analysis — [Getting Coverage (Tracing Executions)](Coverage.ipynb#Tracing-Executions) # * dynamic taint — [Mining Input Grammars (Exercise 2: Incorporating Taints from InformationFlow)](GrammarMiner.ipynb#Exercise-2:-Incorporating-Taints-from-InformationFlow) # * dynamic taint analysis — [Tracking Information Flow (The Evil of Eval)](InformationFlow.ipynb#The-Evil-of-Eval) # * dynamic taints — [Mining Input Grammars (Exercise 2: Incorporating Taints from InformationFlow)](GrammarMiner.ipynb#Exercise-2:-Incorporating-Taints-from-InformationFlow), [Mining Input Grammars (Exercise 2: Incorporating Taints from InformationFlow)](GrammarMiner.ipynb#Exercise-2:-Incorporating-Taints-from-InformationFlow) # # ### E # # * `e()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * Earley parser — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * `EarleyParser` class — [Parsing Inputs (The Parsing Algorithm)](Parser.ipynb#The-Parsing-Algorithm), [Parsing Inputs (The Parsing Algorithm)](Parser.ipynb#The-Parsing-Algorithm), [Parsing Inputs (Predicting States)](Parser.ipynb#Predicting-States), [Parsing Inputs (Scanning Tokens)](Parser.ipynb#Scanning-Tokens), [Parsing Inputs (Completing Processing)](Parser.ipynb#Completing-Processing), [Parsing Inputs (Filling the Chart)](Parser.ipynb#Filling-the-Chart), [Parsing Inputs (The Parse Method)](Parser.ipynb#The-Parse-Method), [Parsing Inputs (The Parse Method)](Parser.ipynb#The-Parse-Method), [Parsing Inputs (Parsing Paths)](Parser.ipynb#Parsing-Paths), [Parsing Inputs (Parsing Forests)](Parser.ipynb#Parsing-Forests), [Parsing Inputs (Extracting Trees)](Parser.ipynb#Extracting-Trees), [Parsing Inputs (Ambiguous Parsing)](Parser.ipynb#Ambiguous-Parsing), [Parsing Inputs (Nullable)](Parser.ipynb#Nullable) # * `earley_complete()` — [Parsing Inputs (Completing Processing)](Parser.ipynb#Completing-Processing) # * EBNF — [Fuzzing with Grammars (Grammar Shortcuts)](Grammars.ipynb#Grammar-Shortcuts) # * `ebnf_grammar()` — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * Edit with Changes — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * `elapsed_time()` — [Timer (Measuring Time)](Timer.ipynb#Measuring-Time) # * elements — [When To Stop Fuzzing (The Kenngruppenbuch)](WhenToStopFuzzing.ipynb#The-Kenngruppenbuch), [When To Stop Fuzzing (The Kenngruppenbuch)](WhenToStopFuzzing.ipynb#The-Kenngruppenbuch) # * ELSE — [Symbolic Fuzzing (names)](SymbolicFuzzer.ipynb#names) # * embed the finite state machine into a grammar — [Testing Graphical User Interfaces (State Machines as Grammars)](GUIFuzzer.ipynb#State-Machines-as-Grammars) # * EMI Project — [Fuzzing with Grammars (Background)](Grammars.ipynb#Background) # * `End` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * Enigma — [When To Stop Fuzzing](WhenToStopFuzzing.ipynb#When-To-Stop-Fuzzing) # * Enigma machines — [When To Stop Fuzzing (The Enigma Machine)](WhenToStopFuzzing.ipynb#The-Enigma-Machine) # * `EnigmaMachine` class — [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma), [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma) # * `enter()` — [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack), [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack) # * `__enter__()` — [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class), [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls), [Error Handling (Catching Errors)](ExpectError.ipynb#Catching-Errors), [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts), [Timer (Measuring Time)](Timer.ipynb#Measuring-Time) # * `EOF` — [Fuzzing: Breaking Things with Random Inputs (Missing Error Checks)](Fuzzer.ipynb#Missing-Error-Checks), [Fuzzing: Breaking Things with Random Inputs (Missing Error Checks)](Fuzzer.ipynb#Missing-Error-Checks), [Fuzzing: Breaking Things with Random Inputs (Missing Error Checks)](Fuzzer.ipynb#Missing-Error-Checks), [Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)](Parser.ipynb#Exercise-7:-Follow-Set-of-a-Nonterminal), [Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)](Parser.ipynb#Exercise-7:-Follow-Set-of-a-Nonterminal), [Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)](Parser.ipynb#Exercise-7:-Follow-Set-of-a-Nonterminal) # * epsilon expansion — [Fuzzing with Grammars (Grammar Shortcuts)](Grammars.ipynb#Grammar-Shortcuts), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node) # * `EPSILON` — [Introduction to Software Testing (Automating Test Execution)](Intro_Testing.ipynb#Automating-Test-Execution), [Parsing Inputs (The Aycock Epsilon Fix)](Parser.ipynb#The-Aycock-Epsilon-Fix), [Parsing Inputs (Exercise 6: First Set of a Nonterminal)](Parser.ipynb#Exercise-6:-First-Set-of-a-Nonterminal) # * `__eq__()` — [Parsing Inputs (States)](Parser.ipynb#States), [Concolic Fuzzing (Equality between Integers)](ConcolicFuzzer.ipynb#Equality-between-Integers), [Concolic Fuzzing (Equality between Strings)](ConcolicFuzzer.ipynb#Equality-between-Strings), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * Estimating the population size for capture-recapture data with unequal catchability — [When To Stop Fuzzing (Background)](WhenToStopFuzzing.ipynb#Background) # * `EvalMysteryRunner` class — [Reducing Failure-Inducing Inputs (Lexical Reduction vs. Syntactic Rules)](Reducer.ipynb#Lexical-Reduction-vs.-Syntactic-Rules) # * `evaluate_condition()` — [Search-Based Fuzzing (Instrumentation for Atomic Conditions)](SearchBasedFuzzer.ipynb#Instrumentation-for-Atomic-Conditions), [Search-Based Fuzzing (Instrumentation for Atomic Conditions)](SearchBasedFuzzer.ipynb#Instrumentation-for-Atomic-Conditions) # * `evaluate_population()` — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * `eval_function()` — [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion) # * `eval_with_exception()` — [Fuzzing with Generators (Example: Negative Expressions)](GeneratorGrammarFuzzer.ipynb#Example:-Negative-Expressions) # * even more — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `EvenFasterGrammarFuzzer` class — [Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)](GrammarFuzzer.ipynb#Exercise-2:-Grammar-Pre-Compilation) # * excellent library from Tab Atkins jr. — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `executable()` — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `ExerciseGrammarFuzzer` class — [Efficient Grammar Fuzzing (Exercise 4: Alternate Random Expansions)](GrammarFuzzer.ipynb#Exercise-4:-Alternate-Random-Expansions) # * `__exit__()` — [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class), [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls), [Error Handling (Catching Errors)](ExpectError.ipynb#Catching-Errors), [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts), [Timer (Measuring Time)](Timer.ipynb#Measuring-Time) # * `expandtabs()` — [Tracking Information Flow (Expand Tabs)](InformationFlow.ipynb#Expand-Tabs) # * `expand_node()` — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion), [Efficient Grammar Fuzzing (Node Inflation)](GrammarFuzzer.ipynb#Node-Inflation) # * `expand_node_by_cost()` — [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion) # * `expand_node_max_cost()` — [Efficient Grammar Fuzzing (Node Inflation)](GrammarFuzzer.ipynb#Node-Inflation) # * `expand_node_min_cost()` — [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion) # * `expand_node_randomly()` — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Exercise 4: Alternate Random Expansions)](GrammarFuzzer.ipynb#Exercise-4:-Alternate-Random-Expansions), [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program) # * `expand_tree()` — [Efficient Grammar Fuzzing (Three Expansion Phases)](GrammarFuzzer.ipynb#Three-Expansion-Phases) # * `expand_tree_once()` — [Efficient Grammar Fuzzing (Expanding a Tree)](GrammarFuzzer.ipynb#Expanding-a-Tree), [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing) # * `expand_tree_with_strategy()` — [Efficient Grammar Fuzzing (Three Expansion Phases)](GrammarFuzzer.ipynb#Three-Expansion-Phases) # * expansion alternatives — [Fuzzing with Grammars (Rules and Expansions)](Grammars.ipynb#Rules-and-Expansions) # * expansion rules — [Fuzzing with Grammars (Rules and Expansions)](Grammars.ipynb#Rules-and-Expansions) # * `ExpansionCountMiner` class — [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions), [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions), [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions) # * `ExpansionError` class — [Fuzzing with Grammars (A Simple Grammar Fuzzer)](Grammars.ipynb#A-Simple-Grammar-Fuzzer) # * `expansion_cost()` — [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer) # * `expansion_coverage()` — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage) # * `expansion_key()` — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage) # * `expansion_to_children()` — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Exercise 1: Caching Method Results)](GrammarFuzzer.ipynb#Exercise-1:-Caching-Method-Results) # * `ExpectError` class — [Error Handling (Catching Errors)](ExpectError.ipynb#Catching-Errors) # * `ExpectTimeout` class — [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts) # * `explore()` — [Symbolic Fuzzing (explore)](SymbolicFuzzer.ipynb#explore) # * `explore_all()` — [Testing Graphical User Interfaces (Covering States)](GUIFuzzer.ipynb#Covering-States) # * `expression_clause()` — [Tracking Information Flow (Selecting Data)](InformationFlow.ipynb#Selecting-Data) # * `expression_grammar_fn()` — [Fuzzing with Grammars (Exercise 4: Defining Grammars as Functions (Advanced))](Grammars.ipynb#Exercise-4:-Defining-Grammars-as-Functions-(Advanced)) # * `EXPR_EBNF_GRAMMAR` — [Fuzzing with Grammars (Grammar Shortcuts)](Grammars.ipynb#Grammar-Shortcuts) # * `EXPR_GRAMMAR_BNF` — [Efficient Grammar Fuzzing (An Insufficient Algorithm)](GrammarFuzzer.ipynb#An-Insufficient-Algorithm) # * `EXPR_GRAMMAR` — [Fuzzing with Grammars (Representing Grammars in Python)](Grammars.ipynb#Representing-Grammars-in-Python), [Grammar Coverage (Covering Grammar Elements)](GrammarCoverageFuzzer.ipynb#Covering-Grammar-Elements), [Grammar Coverage (Covering Grammar Expansions)](GrammarCoverageFuzzer.ipynb#Covering-Grammar-Expansions), [Grammar Coverage (Extending Grammars for Context Coverage Programmatically)](GrammarCoverageFuzzer.ipynb#Extending-Grammars-for-Context-Coverage-Programmatically), [Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)](Parser.ipynb#The-Packrat-Parser-for-Predicate-Expression-Grammars), [Fuzzing with Generators (Example: More Numeric Ranges)](GeneratorGrammarFuzzer.ipynb#Example:-More-Numeric-Ranges), [Tracking Information Flow (Fuzzing SQL)](InformationFlow.ipynb#Fuzzing-SQL) # * `exp_opt()` — [Fuzzing with Grammars (Grammar Extensions)](Grammars.ipynb#Grammar-Extensions) # * `exp_opts()` — [Fuzzing with Grammars (Grammar Extensions)](Grammars.ipynb#Grammar-Extensions) # * `exp_order()` — [Fuzzing with Generators (Ordering Expansions)](GeneratorGrammarFuzzer.ipynb#Ordering-Expansions) # * `exp_post_expansion_function()` — [Fuzzing with Generators (A Class for Integrating Constraints)](GeneratorGrammarFuzzer.ipynb#A-Class-for-Integrating-Constraints) # * `exp_pre_expansion_function()` — [Fuzzing with Generators (A Class for Integrating Constraints)](GeneratorGrammarFuzzer.ipynb#A-Class-for-Integrating-Constraints) # * `exp_prob()` — [Probabilistic Grammar Fuzzing (Specifying Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Specifying-Probabilities) # * `exp_probabilities()` — [Probabilistic Grammar Fuzzing (Distributing Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Distributing-Probabilities) # * `exp_string()` — [Fuzzing with Grammars (Grammar Extensions)](Grammars.ipynb#Grammar-Extensions) # * `extended_nonterminals()` — [Fuzzing with Grammars (Expanding Operators)](Grammars.ipynb#Expanding-Operators) # * `extend_grammar()` — [Fuzzing with Grammars (Extending Grammars)](Grammars.ipynb#Extending-Grammars) # * `extract_a_tree()` — [Parsing Inputs (Extracting Trees)](Parser.ipynb#Extracting-Trees) # * `extract_constraints()` — [Symbolic Fuzzing (extract_constraints)](SymbolicFuzzer.ipynb#extract_constraints), [Symbolic Fuzzing (extract_constraints)](SymbolicFuzzer.ipynb#extract_constraints) # * `extract_node()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `extract_trees()` — [Parsing Inputs (Extracting Trees)](Parser.ipynb#Extracting-Trees), [Parsing Inputs (Ambiguous Parsing)](Parser.ipynb#Ambiguous-Parsing) # * `extract_vars()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `E_GRAMMAR_1` — [Parsing Inputs (The Aycock Epsilon Fix)](Parser.ipynb#The-Aycock-Epsilon-Fix), [Parsing Inputs (The Aycock Epsilon Fix)](Parser.ipynb#The-Aycock-Epsilon-Fix) # * `E_GRAMMAR` — [Parsing Inputs (The Aycock Epsilon Fix)](Parser.ipynb#The-Aycock-Epsilon-Fix) # # ## F - J # ### F # # * factorial value — [Concolic Fuzzing (Tracking Constraints)](ConcolicFuzzer.ipynb#Tracking-Constraints) # * `factorial()` — [Concolic Fuzzing (Tracking Constraints)](ConcolicFuzzer.ipynb#Tracking-Constraints), [Concolic Fuzzing (Binomial Coefficient)](ConcolicFuzzer.ipynb#Binomial-Coefficient), [Symbolic Fuzzing (Concolic Execution with PyExZ3)](SymbolicFuzzer.ipynb#Concolic-Execution-with-PyExZ3) # * `fail_test()` — [Error Handling (Catching Errors)](ExpectError.ipynb#Catching-Errors) # * `FAIL` — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # * `FasterGrammarFuzzer` class — [Efficient Grammar Fuzzing (Exercise 1: Caching Method Results)](GrammarFuzzer.ipynb#Exercise-1:-Caching-Method-Results) # * `fib()` — [Control Flow Graph (fib)](ControlFlow.ipynb#fib) # * `FILE` — [Fuzzing: Breaking Things with Random Inputs (Creating Input Files)](Fuzzer.ipynb#Creating-Input-Files) # * `fill()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `fill_chart()` — [Parsing Inputs (Filling the Chart)](Parser.ipynb#Filling-the-Chart) # * `FINAL_STATE` — [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # * `find()` — [Concolic Fuzzing (Finding Substrings)](ConcolicFuzzer.ipynb#Finding-Substrings) # * `find_alternatives()` — [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * `find_comma()` — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `find_contents()` — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `find_element()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `find_executable()` — [Testing Configurations (Autopep8 Setup)](ConfigurationFuzzer.ipynb#Autopep8-Setup) # * `find_expansion()` — [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion) # * `find_grammar()` — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `_find_reachable_nonterminals()` — [Fuzzing with Grammars (Checking Grammars)](Grammars.ipynb#Checking-Grammars) # * `finished()` — [Parsing Inputs (Items)](Parser.ipynb#Items) # * finite state machine — [Testing Graphical User Interfaces (User Interfaces as Finite State Machines)](GUIFuzzer.ipynb#User-Interfaces-as-Finite-State-Machines) # * finite state machines — [Fuzzing with Grammars (Input Languages)](Grammars.ipynb#Input-Languages) # * `firstset()` — [Parsing Inputs (Exercise 6: First Set of a Nonterminal)](Parser.ipynb#Exercise-6:-First-Set-of-a-Nonterminal) # * `firstset_()` — [Parsing Inputs (Exercise 6: First Set of a Nonterminal)](Parser.ipynb#Exercise-6:-First-Set-of-a-Nonterminal) # * `first_digit_via_log()` — [Probabilistic Grammar Fuzzing (The Law of Leading Digits)](ProbabilisticGrammarFuzzer.ipynb#The-Law-of-Leading-Digits) # * `first_digit_via_string()` — [Probabilistic Grammar Fuzzing (The Law of Leading Digits)](ProbabilisticGrammarFuzzer.ipynb#The-Law-of-Leading-Digits) # * `first_expr()` — [Parsing Inputs (Exercise 6: First Set of a Nonterminal)](Parser.ipynb#Exercise-6:-First-Set-of-a-Nonterminal) # * `first` and `follow` — [Parsing Inputs (Exercise 6: First Set of a Nonterminal)](Parser.ipynb#Exercise-6:-First-Set-of-a-Nonterminal) # * fitness — [Search-Based Fuzzing (Defining a search landscape: Fitness functions)](SearchBasedFuzzer.ipynb#Defining-a-search-landscape:-Fitness-functions) # * fitness function — [Search-Based Fuzzing (Defining a search landscape: Fitness functions)](SearchBasedFuzzer.ipynb#Defining-a-search-landscape:-Fitness-functions) # * `fixed_cgi_decode()` — [Getting Coverage (Exercise 1: Fixing cgi_decode)](Coverage.ipynb#Exercise-1:-Fixing-cgi_decode) # * `fixpoint()` — [Parsing Inputs (Fixpoint)](Parser.ipynb#Fixpoint) # * `fix_luhn_checksum()` — [Fuzzing with Generators (Functions Called After Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-After-Expansion) # * `flatten()` — [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `flip_random_character()` — [Mutation-Based Fuzzing (Mutating Inputs)](MutationFuzzer.ipynb#Mutating-Inputs), [Search-Based Fuzzing (Global Search)](SearchBasedFuzzer.ipynb#Global-Search) # * `FLOAT_BINARY_OPS` — [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) # * `FLOAT_BOOL_OPS` — [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) # * `FLOAT_EBNF_GRAMMAR` — [Fuzzing APIs (Floats)](APIFuzzer.ipynb#Floats) # * `float_grammar_with_range()` — [Fuzzing APIs (Floats)](APIFuzzer.ipynb#Floats) # * `FLOAT_GRAMMAR` — [Fuzzing APIs (Floats)](APIFuzzer.ipynb#Floats) # * `fmt()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `followset()` — [Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)](Parser.ipynb#Exercise-7:-Follow-Set-of-a-Nonterminal) # * `followset_()` — [Parsing Inputs (Exercise 7: Follow Set of a Nonterminal)](Parser.ipynb#Exercise-7:-Follow-Set-of-a-Nonterminal) # * `follow_link()` — [Testing Graphical User Interfaces (Link Element Actions)](GUIFuzzer.ipynb#Link-Element-Actions) # * for-loop — [Control Flow Graph (fib)](ControlFlow.ipynb#fib) # * `forest()` — [Parsing Inputs (Parsing Forests)](Parser.ipynb#Parsing-Forests) # * formal languages — [Fuzzing with Grammars (Input Languages)](Grammars.ipynb#Input-Languages), [Fuzzing with Grammars (A Natural Language Grammar)](Grammars.ipynb#A-Natural-Language-Grammar) # * `format()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `FormHTMLParser` class — [Testing Web Applications (Searching HTML for Input Fields)](WebFuzzer.ipynb#Searching-HTML-for-Input-Fields), [Testing Web Applications (Searching HTML for Input Fields)](WebFuzzer.ipynb#Searching-HTML-for-Input-Fields), [Testing Web Applications (Searching HTML for Input Fields)](WebFuzzer.ipynb#Searching-HTML-for-Input-Fields) # * `fragment()` — [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer) # * `fragments()` — [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker) # * `FRAGMENT_LEN` — [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (Exercise 2: Incorporating Taints from InformationFlow)](GrammarMiner.ipynb#Exercise-2:-Incorporating-Taints-from-InformationFlow) # * `fresh_name()` — [Concolic Fuzzing (Generating Fresh Names)](ConcolicFuzzer.ipynb#Generating-Fresh-Names) # * `fsm_diagram()` — [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # * `fsm_last_state_symbol()` — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `fsm_path()` — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `FunctionCoverageRunner` class — [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage) # * `FunctionRunner` class — [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage) # * `function_symbol()` — [Carving Unit Tests (A Grammar from Calls)](Carver.ipynb#A-Grammar-from-Calls) # * `funct_parser()` — [Fuzzing with Grammars (Exercise 4: Defining Grammars as Functions (Advanced))](Grammars.ipynb#Exercise-4:-Defining-Grammars-as-Functions-(Advanced)) # * `fuzz()` — [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes), [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes), [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations), [Efficient Grammar Fuzzing (Putting it all Together)](GrammarFuzzer.ipynb#Putting-it-all-Together), [Fuzzing with Input Fragments (Fuzz)](LangFuzzer.ipynb#Fuzz), [Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)](LangFuzzer.ipynb#Exercise-1:-A-Different-LangFuzzer), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer), [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints), [Concolic Fuzzing (All together)](ConcolicFuzzer.ipynb#All-together), [Symbolic Fuzzing (Fuzzing with our simple fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-simple-fuzzer) # * `fuzzed_url_element()` — [Fuzzing APIs (Synthesizing Oracles)](APIFuzzer.ipynb#Synthesizing-Oracles) # * fuzzer — [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes) # * `fuzzer()` — [Fuzzing: Breaking Things with Random Inputs (A Simple Fuzzer)](Fuzzer.ipynb#A-Simple-Fuzzer) # * `Fuzzer` class — [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes) # * fuzzing — [Fuzzing: Breaking Things with Random Inputs](Fuzzer.ipynb#Fuzzing:-Breaking-Things-with Random Inputs), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG) # * fuzzingbook.org — [Carving Unit Tests (System Tests vs Unit Tests)](Carver.ipynb#System-Tests-vs-Unit-Tests), [Testing Graphical User Interfaces (Exploring Large Sites)](GUIFuzzer.ipynb#Exploring-Large-Sites) # * `FUZZINGBOOK_SWAG` — [Testing Web Applications (Taking Orders)](WebFuzzer.ipynb#Taking-Orders), [Testing Web Applications (Taking Orders)](WebFuzzer.ipynb#Taking-Orders), [Testing Web Applications (Taking Orders)](WebFuzzer.ipynb#Taking-Orders) # * FuzzManager — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * `fuzz_tree()` — [Efficient Grammar Fuzzing (Putting it all Together)](GrammarFuzzer.ipynb#Putting-it-all-Together), [Fuzzing with Generators (Support for Python Generators)](GeneratorGrammarFuzzer.ipynb#Support-for-Python-Generators), [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion), [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing), [Fuzzing with Generators (Generators and Grammar Coverage)](GeneratorGrammarFuzzer.ipynb#Generators-and-Grammar-Coverage), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer) # # ### G # # * `gcd()` — [Symbolic Fuzzing (Problems with the Simple Fuzzer)](SymbolicFuzzer.ipynb#Problems-with-the-Simple-Fuzzer), [Control Flow Graph (gcd)](ControlFlow.ipynb#gcd) # * `generate_new_tree()` — [Fuzzing with Input Fragments (Generate New Tree)](LangFuzzer.ipynb#Generate-New-Tree), [Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)](LangFuzzer.ipynb#Exercise-1:-A-Different-LangFuzzer) # * generator function in Python — [Fuzzing with Generators (Support for Python Generators)](GeneratorGrammarFuzzer.ipynb#Support-for-Python-Generators) # * `GeneratorGrammarFuzzer` class — [Fuzzing with Generators (A Class for Integrating Constraints)](GeneratorGrammarFuzzer.ipynb#A-Class-for-Integrating-Constraints), [Fuzzing with Generators (Generating Elements before Expansion)](GeneratorGrammarFuzzer.ipynb#Generating-Elements-before-Expansion), [Fuzzing with Generators (Generating Elements before Expansion)](GeneratorGrammarFuzzer.ipynb#Generating-Elements-before-Expansion), [Fuzzing with Generators (Support for Python Generators)](GeneratorGrammarFuzzer.ipynb#Support-for-Python-Generators), [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion), [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion), [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion), [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion), [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing), [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing), [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing), [Fuzzing with Generators (Ordering Expansions)](GeneratorGrammarFuzzer.ipynb#Ordering-Expansions) # * Genetic Algorithm — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * `genetic_algorithm()` — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * `gen_cfg()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG), [Control Flow Graph (Supporting Functions)](ControlFlow.ipynb#Supporting-Functions) # * `gen_fn_summary()` — [Symbolic Fuzzing (names)](SymbolicFuzzer.ipynb#names) # * `__getitem__()` — [Tracking Information Flow (Index)](InformationFlow.ipynb#Index), [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Concolic Fuzzing (Producing Substrings)](ConcolicFuzzer.ipynb#Producing-Substrings), [Testing Configurations (Part 3: Mine a Configuration Grammar)](ConfigurationFuzzer.ipynb#Part-3:-Mine-a-Configuration-Grammar) # * `getTraceHash()` — [When To Stop Fuzzing (Trace Coverage)](WhenToStopFuzzing.ipynb#Trace-Coverage) # * `get_all_paths()` — [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths), [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths), [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths) # * `get_alternatives()` — [Fuzzing with Grammars (Exercise 4: Defining Grammars as Functions (Advanced))](Grammars.ipynb#Exercise-4:-Defining-Grammars-as-Functions-(Advanced)) # * `get_arguments()` — [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls) # * `get_cfg()` — [Control Flow Graph (Supporting Functions)](ControlFlow.ipynb#Supporting-Functions) # * `get_defining_function()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `get_derivation_tree()` — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree) # * `get_expression()` — [Symbolic Fuzzing (prefix_vars)](SymbolicFuzzer.ipynb#prefix_vars) # * `get_field_values()` — [Testing Web Applications (Processing Orders)](WebFuzzer.ipynb#Processing-Orders) # * `get_fitness()` — [Search-Based Fuzzing (Instrumentation)](SearchBasedFuzzer.ipynb#Instrumentation), [Search-Based Fuzzing (Fitness Function to Create Valid Hexadecimal Inputs)](SearchBasedFuzzer.ipynb#Fitness-Function-to-Create-Valid-Hexadecimal-Inputs) # * `get_func()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `get_grammar()` — [Testing Web Applications (A Fuzzer for Web Forms)](WebFuzzer.ipynb#A-Fuzzer-for-Web-Forms), [Testing Web Applications (Fully Automatic Web Attacks)](WebFuzzer.ipynb#Fully-Automatic-Web-Attacks) # * `get_html()` — [Testing Web Applications (A Fuzzer for Web Forms)](WebFuzzer.ipynb#A-Fuzzer-for-Web-Forms) # * `get_newpath()` — [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints) # * `get_next_path()` — [Symbolic Fuzzing (Fuzzing with our simple fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-simple-fuzzer), [Symbolic Fuzzing (Fuzzing with our advanced fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-advanced-fuzzer) # * `get_path_to_root()` — [Symbolic Fuzzing (get_path_to_root)](SymbolicFuzzer.ipynb#get_path_to_root) # * `get_qualified_name()` — [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls) # * `get_registry()` — [Control Flow Graph (Registry)](ControlFlow.ipynb#Registry) # * `get_registry_idx()` — [Control Flow Graph (Registry)](ControlFlow.ipynb#Registry), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `get_replacements()` — [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining) # * `get_top()` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `GET` — [Testing Web Applications (Handling HTTP Requests)](WebFuzzer.ipynb#Handling-HTTP-Requests), [Testing Web Applications (Other HTTP commands)](WebFuzzer.ipynb#Other-HTTP-commands), [Testing Web Applications (A Fuzzer for Web Forms)](WebFuzzer.ipynb#A-Fuzzer-for-Web-Forms) # * `__ge__()` — [Concolic Fuzzing (Comparisons between Integers)](ConcolicFuzzer.ipynb#Comparisons-between-Integers) # * globally — [Search-Based Fuzzing (Global Search)](SearchBasedFuzzer.ipynb#Global-Search) # * GNU bc — [Mutation-Based Fuzzing (Part 2: Guided Mutations)](MutationFuzzer.ipynb#Part-2:-Guided-Mutations) # * grammar fuzzing — [Fuzzing with Grammars (Arithmetic Expressions)](Grammars.ipynb#Arithmetic-Expressions) # * `grammar()` — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity), [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `GrammarCoverageFuzzer` class — [Grammar Coverage (Determining yet Uncovered Children)](GrammarCoverageFuzzer.ipynb#Determining-yet-Uncovered-Children), [Grammar Coverage (Adaptive Lookahead)](GrammarCoverageFuzzer.ipynb#Adaptive-Lookahead), [Grammar Coverage (All Together)](GrammarCoverageFuzzer.ipynb#All-Together) # * `GrammarFuzzer` class — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Expanding a Tree)](GrammarFuzzer.ipynb#Expanding-a-Tree), [Efficient Grammar Fuzzing (Expanding a Tree)](GrammarFuzzer.ipynb#Expanding-a-Tree), [Efficient Grammar Fuzzing (Expanding a Tree)](GrammarFuzzer.ipynb#Expanding-a-Tree), [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion), [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion), [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion), [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion), [Efficient Grammar Fuzzing (Node Inflation)](GrammarFuzzer.ipynb#Node-Inflation), [Efficient Grammar Fuzzing (Node Inflation)](GrammarFuzzer.ipynb#Node-Inflation), [Efficient Grammar Fuzzing (Three Expansion Phases)](GrammarFuzzer.ipynb#Three-Expansion-Phases), [Efficient Grammar Fuzzing (Putting it all Together)](GrammarFuzzer.ipynb#Putting-it-all-Together) # * Grammarinator — [Fuzzing with Grammars (Background)](Grammars.ipynb#Background) # * `GrammarMiner` class — [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees), [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees), [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees), [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees), [Mining Input Grammars (Recover Grammar)](GrammarMiner.ipynb#Recover-Grammar) # * `GrammarReducer` class — [Reducing Failure-Inducing Inputs (A Class for Reducing with Grammars)](Reducer.ipynb#A-Class-for-Reducing-with-Grammars), [Reducing Failure-Inducing Inputs (Finding Subtrees)](Reducer.ipynb#Finding-Subtrees), [Reducing Failure-Inducing Inputs (Alternate Expansions)](Reducer.ipynb#Alternate-Expansions), [Reducing Failure-Inducing Inputs (Both Strategies Together)](Reducer.ipynb#Both-Strategies-Together), [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy), [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy), [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy), [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy), [Reducing Failure-Inducing Inputs (A Depth-Oriented Strategy)](Reducer.ipynb#A-Depth-Oriented-Strategy) # * grammars — [Fuzzing with Grammars (Grammars)](Grammars.ipynb#Grammars) # * `graph_attr()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `__gt__()` — [Concolic Fuzzing (Comparisons between Integers)](ConcolicFuzzer.ipynb#Comparisons-between-Integers) # * GUI Ripping — [Testing Graphical User Interfaces (Background)](GUIFuzzer.ipynb#Background) # * `GUICoverageFuzzer` class — [Testing Graphical User Interfaces (Covering States)](GUIFuzzer.ipynb#Covering-States), [Testing Graphical User Interfaces (Covering States)](GUIFuzzer.ipynb#Covering-States) # * `GUIFuzzer` class — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `GUIGrammarMiner` class — [Testing Graphical User Interfaces (Retrieving Actions)](GUIFuzzer.ipynb#Retrieving-Actions), [Testing Graphical User Interfaces (Retrieving Actions)](GUIFuzzer.ipynb#Retrieving-Actions), [Testing Graphical User Interfaces (Input Element Actions)](GUIFuzzer.ipynb#Input-Element-Actions), [Testing Graphical User Interfaces (Button Element Actions)](GUIFuzzer.ipynb#Button-Element-Actions), [Testing Graphical User Interfaces (Link Element Actions)](GUIFuzzer.ipynb#Link-Element-Actions), [Testing Graphical User Interfaces (Link Element Actions)](GUIFuzzer.ipynb#Link-Element-Actions), [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars), [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # * `GUIRunner` class — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions), [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions), [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions), [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions), [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions), [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions), [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `GUI_GRAMMAR` — [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars), [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # # ### H # # * `h()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `handle_endtag()` — [Testing Web Applications (Searching HTML for Input Fields)](WebFuzzer.ipynb#Searching-HTML-for-Input-Fields) # * `handle_order()` — [Testing Web Applications (Processing Orders)](WebFuzzer.ipynb#Processing-Orders), [Testing Web Applications (Part 4: A Robust Server)](WebFuzzer.ipynb#Part-4:-A-Robust-Server) # * `handle_starttag()` — [Testing Web Applications (Searching HTML for Input Fields)](WebFuzzer.ipynb#Searching-HTML-for-Input-Fields), [Testing Web Applications (Crawling User Interfaces)](WebFuzzer.ipynb#Crawling-User-Interfaces) # * `hang_if_no_space()` — [Fuzzing: Breaking Things with Random Inputs (Missing Error Checks)](Fuzzer.ipynb#Missing-Error-Checks) # * `__hash__()` — [Parsing Inputs (States)](Parser.ipynb#States) # * `has_origin()` — [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins) # * `has_taint()` — [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins) # * HDD — [Reducing Failure-Inducing Inputs (Background)](Reducer.ipynb#Background) # * `HEADLESS` — [Testing Graphical User Interfaces (Remote Control with Selenium)](GUIFuzzer.ipynb#Remote-Control-with-Selenium), [Testing Graphical User Interfaces (Remote Control with Selenium)](GUIFuzzer.ipynb#Remote-Control-with-Selenium), [Testing Graphical User Interfaces (Remote Control with Selenium)](GUIFuzzer.ipynb#Remote-Control-with-Selenium) # * `HEAD` — [Testing Web Applications (Other HTTP commands)](WebFuzzer.ipynb#Other-HTTP-commands) # * heartbeat — [Fuzzing: Breaking Things with Random Inputs (Checking Memory Accesses)](Fuzzer.ipynb#Checking-Memory-Accesses) # * `heartbeat()` — [Fuzzing: Breaking Things with Random Inputs (Information Leaks)](Fuzzer.ipynb#Information-Leaks) # * HeartBleed announcement page — [Fuzzing: Breaking Things with Random Inputs (Checking Memory Accesses)](Fuzzer.ipynb#Checking-Memory-Accesses) # * HeartBleed bug — [Fuzzing: Breaking Things with Random Inputs (Checking Memory Accesses)](Fuzzer.ipynb#Checking-Memory-Accesses) # * `helper()` — [Parsing Inputs (Fixpoint)](Parser.ipynb#Fixpoint), [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer) # * here — [Symbolic Fuzzing (Concolic Execution with PyExZ3)](SymbolicFuzzer.ipynb#Concolic-Execution-with-PyExZ3) # * heuristic — [Search-Based Fuzzing](SearchBasedFuzzer.ipynb#Search-Based-Fuzzing) # * Hierarchical Delta Debugging — [Reducing Failure-Inducing Inputs (Background)](Reducer.ipynb#Background) # * `highlight_node()` — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * highly accurate — [When To Stop Fuzzing (Evaluating the Discovery Probability Estimate)](WhenToStopFuzzing.ipynb#Evaluating-the-Discovery-Probability-Estimate) # * `high_charge()` — [Fuzzing with Generators (Functions Called Before Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-Before-Expansion) # * `hillclimber()` — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `hillclimb_cgi()` — [Search-Based Fuzzing (Hillclimbing Valid Hexadecimal Inputs)](SearchBasedFuzzer.ipynb#Hillclimbing-Valid-Hexadecimal-Inputs) # * `hillclimb_cgi_limited()` — [Search-Based Fuzzing (Evolutionary Search)](SearchBasedFuzzer.ipynb#Evolutionary-Search) # * `hl_node()` — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `hl_predicate()` — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser), [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer), [Fuzzing with Input Fragments (Candidate)](LangFuzzer.ipynb#Candidate), [Fuzzing with Input Fragments (Generate New Tree)](LangFuzzer.ipynb#Generate-New-Tree) # * hook into `__new__()` — [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings) # * `HorizontalChoice` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * HTML injection — [Testing Web Applications (HTML Injection Attacks)](WebFuzzer.ipynb#HTML-Injection-Attacks) # * `HTMLGrammarMiner` class — [Testing Web Applications (Searching HTML for Input Fields)](WebFuzzer.ipynb#Searching-HTML-for-Input-Fields), [Testing Web Applications (Mining Grammars for Web Pages)](WebFuzzer.ipynb#Mining-Grammars-for-Web-Pages), [Testing Web Applications (Mining Grammars for Web Pages)](WebFuzzer.ipynb#Mining-Grammars-for-Web-Pages) # * HTMLParser — [When To Stop Fuzzing (Measuring Trace Coverage over Time)](WhenToStopFuzzing.ipynb#Measuring-Trace-Coverage-over-Time) # * `HTML_INTERNAL_SERVER_ERROR` — [Testing Web Applications (Internal Errors)](WebFuzzer.ipynb#Internal-Errors) # * `HTML_NOT_FOUND` — [Testing Web Applications (Page Not Found)](WebFuzzer.ipynb#Page-Not-Found) # * `HTML_ORDER_FORM` — [Testing Web Applications (Taking Orders)](WebFuzzer.ipynb#Taking-Orders) # * `HTML_ORDER_RECEIVED` — [Testing Web Applications (Order Confirmation)](WebFuzzer.ipynb#Order-Confirmation) # * `HTML_TERMS_AND_CONDITIONS` — [Testing Web Applications (Terms and Conditions)](WebFuzzer.ipynb#Terms-and-Conditions) # * `HTTPD_MESSAGE_QUEUE` — [Testing Web Applications (Logging)](WebFuzzer.ipynb#Logging) # * `http_program()` — [Mutation-Based Fuzzing (Fuzzing a URL Parser)](MutationFuzzer.ipynb#Fuzzing-a-URL-Parser) # * `hundred_inputs()` — [Getting Coverage ( Coverage of Basic Fuzzing)](Coverage.ipynb#-Coverage-of-Basic-Fuzzing) # * hypothesis package — [Fuzzing APIs (Background)](APIFuzzer.ipynb#Background) # # ### I # # * `i()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `identifier_grammar_fn()` — [Fuzzing with Grammars (Part 2: Extended Grammars)](Grammars.ipynb#Part-2:-Extended-Grammars) # * `idx()` — [Parsing Inputs (States)](Parser.ipynb#States) # * IF — [Symbolic Fuzzing (names)](SymbolicFuzzer.ipynb#names) # * `ignored()` — [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack) # * immutable — [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings) # * in order — [Parsing Inputs (Unify Key)](Parser.ipynb#Unify-Key) # * in the same method invocation — [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations) # * in this very popular XKCD comic — [Testing Web Applications (SQL Injection Attacks)](WebFuzzer.ipynb#SQL-Injection-Attacks) # * in-memory database — [Tracking Information Flow (A Vulnerable Database)](InformationFlow.ipynb#A-Vulnerable-Database) # * incidence frequency — [When To Stop Fuzzing (Exercises)](WhenToStopFuzzing.ipynb#Exercises) # * `indent()` — [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack) # * inferring loop invariants — [Symbolic Fuzzing (Function summaries)](SymbolicFuzzer.ipynb#Function-summaries) # * inherit — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # * `initial_grammar()` — [Carving Unit Tests (Initial Grammar)](Carver.ipynb#Initial-Grammar) # * `init_db()` — [Testing Web Applications (Storing Orders)](WebFuzzer.ipynb#Storing-Orders) # * `init_tainted_grammar()` — [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer) # * `init_tree()` — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node) # * `__init__()` — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes), [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes), [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes), [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes), [Fuzzing: Breaking Things with Random Inputs (Exercise 2: Run Simulated Troff)](Fuzzer.ipynb#Exercise-2:-Run-Simulated-Troff), [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class), [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations), [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage), [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Efficient Grammar Fuzzing (Exercise 1: Caching Method Results)](GrammarFuzzer.ipynb#Exercise-1:-Caching-Method-Results), [Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)](GrammarFuzzer.ipynb#Exercise-2:-Grammar-Pre-Compilation), [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage), [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program), [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity), [Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)](Parser.ipynb#The-Packrat-Parser-for-Predicate-Expression-Grammars), [Parsing Inputs (Columns)](Parser.ipynb#Columns), [Parsing Inputs (Items)](Parser.ipynb#Items), [Parsing Inputs (States)](Parser.ipynb#States), [Parsing Inputs (The Parsing Algorithm)](Parser.ipynb#The-Parsing-Algorithm), [Parsing Inputs (Nullable)](Parser.ipynb#Nullable), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer), [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer), [Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)](LangFuzzer.ipynb#Exercise-1:-A-Different-LangFuzzer), [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions), [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing), [Fuzzing with Generators (Generators and Probabilistic Fuzzing)](GeneratorGrammarFuzzer.ipynb#Generators-and-Probabilistic-Fuzzing), [Fuzzing with Generators (Generators and Grammar Coverage)](GeneratorGrammarFuzzer.ipynb#Generators-and-Grammar-Coverage), [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging), [Reducing Failure-Inducing Inputs (Lexical Reduction vs. Syntactic Rules)](Reducer.ipynb#Lexical-Reduction-vs.-Syntactic-Rules), [Reducing Failure-Inducing Inputs (A Class for Reducing with Grammars)](Reducer.ipynb#A-Class-for-Reducing-with-Grammars), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees), [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack), [Mining Input Grammars (Vars)](GrammarMiner.ipynb#Vars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker), [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack), [Mining Input Grammars (Scope Tracker)](GrammarMiner.ipynb#Scope-Tracker), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects), [Tracking Information Flow (A Vulnerable Database)](InformationFlow.ipynb#A-Vulnerable-Database), [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (Taint Aware Fuzzing)](InformationFlow.ipynb#Taint-Aware-Fuzzing), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (Slices)](InformationFlow.ipynb#Slices), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer), [Tracking Information Flow (Part 1: Creation)](InformationFlow.ipynb#Part-1:-Creation), [Tracking Information Flow (Part 4: Passing taints from integers to strings)](InformationFlow.ipynb#Part-4:-Passing-taints-from-integers-to-strings), [Concolic Fuzzing (A Concolic Tracer)](ConcolicFuzzer.ipynb#A-Concolic-Tracer), [Concolic Fuzzing (A Proxy Class for Booleans)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Booleans), [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers), [Concolic Fuzzing (A Proxy Class for Strings)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Strings), [Concolic Fuzzing (An Iterator Class for Strings)](ConcolicFuzzer.ipynb#An-Iterator-Class-for-Strings), [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class), [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (PNode)](SymbolicFuzzer.ipynb#PNode), [Symbolic Fuzzing (ConcolicFuzzer)](SymbolicFuzzer.ipynb#ConcolicFuzzer), [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Mining Function Specifications (Annotating Functions)](DynamicInvariants.ipynb#Annotating-Functions), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options), [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls), [Carving Unit Tests (A Grammar Miner for Calls)](Carver.ipynb#A-Grammar-Miner-for-Calls), [Testing Web Applications (Fuzzing with Unexpected Values)](WebFuzzer.ipynb#Fuzzing-with-Unexpected-Values), [Testing Web Applications (Searching HTML for Input Fields)](WebFuzzer.ipynb#Searching-HTML-for-Input-Fields), [Testing Web Applications (A Fuzzer for Web Forms)](WebFuzzer.ipynb#A-Fuzzer-for-Web-Forms), [Testing Web Applications (Fully Automatic Web Attacks)](WebFuzzer.ipynb#Fully-Automatic-Web-Attacks), [Testing Web Applications (Fully Automatic Web Attacks)](WebFuzzer.ipynb#Fully-Automatic-Web-Attacks), [Testing Graphical User Interfaces (Retrieving Actions)](GUIFuzzer.ipynb#Retrieving-Actions), [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [Testing Graphical User Interfaces (Covering States)](GUIFuzzer.ipynb#Covering-States), [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma), [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma), [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations), [Error Handling (Catching Errors)](ExpectError.ipynb#Catching-Errors), [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts), [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode), [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * input string — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context) # * `InputStack` class — [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack), [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack), [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack), [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack), [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack), [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack) # * `insert_into_tree()` — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree) # * `insert_random_character()` — [Mutation-Based Fuzzing (Mutating Inputs)](MutationFuzzer.ipynb#Mutating-Inputs) # * `INSERT` — [Testing Web Applications (Storing Orders)](WebFuzzer.ipynb#Storing-Orders), [Testing Web Applications (SQL Injection Attacks)](WebFuzzer.ipynb#SQL-Injection-Attacks) # * instrumentation — [Search-Based Fuzzing (Instrumentation)](SearchBasedFuzzer.ipynb#Instrumentation) # * `INTERNAL_ALIGNMENT` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `internal_msg2key()` — [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma) # * `internal_server_error()` — [Testing Web Applications (Internal Errors)](WebFuzzer.ipynb#Internal-Errors), [Testing Web Applications (Part 1: Silent Failures)](WebFuzzer.ipynb#Part-1:-Silent-Failures) # * `INT_BINARY_OPS` — [Concolic Fuzzing (Binary Operators for Integers)](ConcolicFuzzer.ipynb#Binary-Operators-for-Integers) # * `INT_EBNF_GRAMMAR` — [Fuzzing APIs (Integers)](APIFuzzer.ipynb#Integers) # * `int_grammar_with_range()` — [Fuzzing APIs (Integers)](APIFuzzer.ipynb#Integers) # * `INT_GRAMMAR` — [Fuzzing APIs (Integers)](APIFuzzer.ipynb#Integers) # * `INT_UNARY_OPS` — [Concolic Fuzzing (Integer Unary Operators)](ConcolicFuzzer.ipynb#Integer-Unary-Operators) # * `__int__()` — [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers) # * `INVENTORY_GRAMMAR_F` — [Tracking Information Flow (Fuzzing SQL)](InformationFlow.ipynb#Fuzzing-SQL) # * `INVENTORY_GRAMMAR_NEW` — [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * `INVENTORY_GRAMMAR` — [Tracking Information Flow (Fuzzing SQL)](InformationFlow.ipynb#Fuzzing-SQL) # * `INVENTORY_METHODS` — [Mining Input Grammars (A Simple Grammar Miner)](GrammarMiner.ipynb#A-Simple-Grammar-Miner) # * `INVENTORY` — [Mining Input Grammars (A Grammar Challenge)](GrammarMiner.ipynb#A-Grammar-Challenge), [Tracking Information Flow (All Methods Together)](InformationFlow.ipynb#All-Methods-Together) # * inverse — [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * `invert_expansion()` — [Probabilistic Grammar Fuzzing (Testing Uncommon Features)](ProbabilisticGrammarFuzzer.ipynb#Testing-Uncommon-Features) # * `invert_probs()` — [Probabilistic Grammar Fuzzing (Testing Uncommon Features)](ProbabilisticGrammarFuzzer.ipynb#Testing-Uncommon-Features) # * `__invert__()` — [Concolic Fuzzing (Exercise 2: Bit Manipulation)](ConcolicFuzzer.ipynb#Exercise-2:-Bit-Manipulation) # * `invoker()` — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `in_current_record()` — [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack) # * `in_scope()` — [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack) # * `IP_ADDRESS_GRAMMAR` — [Probabilistic Grammar Fuzzing (Probabilities in Context)](ProbabilisticGrammarFuzzer.ipynb#Probabilities-in-Context) # * `IP_ADDRESS_TOKENS` — [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions) # * `is_input_fragment()` — [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (Scope Tracker)](GrammarMiner.ipynb#Scope-Tracker) # * `is_nonterminal()` — [Fuzzing with Grammars (Some Definitions)](Grammars.ipynb#Some-Definitions) # * `is_permutation()` — [Introduction to Software Testing (Part 2: Random Inputs)](Intro_Testing.ipynb#Part-2:-Random-Inputs) # * `is_sorted()` — [Introduction to Software Testing (Part 2: Random Inputs)](Intro_Testing.ipynb#Part-2:-Random-Inputs) # * `is_valid_grammar()` — [Fuzzing with Grammars (Checking Grammars)](Grammars.ipynb#Checking-Grammars) # * `is_valid_probabilistic_grammar()` — [Probabilistic Grammar Fuzzing (Checking Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Checking-Probabilities) # * `is_valid_url()` — [Mutation-Based Fuzzing (Mutating URLs)](MutationFuzzer.ipynb#Mutating-URLs) # * It is inefficient — [Efficient Grammar Fuzzing (An Insufficient Algorithm)](GrammarFuzzer.ipynb#An-Insufficient-Algorithm) # * `Item` class — [Parsing Inputs (Items)](Parser.ipynb#Items), [Parsing Inputs (Items)](Parser.ipynb#Items) # * `iterate()` — [Fuzzing with Generators (Support for Python Generators)](GeneratorGrammarFuzzer.ipynb#Support-for-Python-Generators) # * iterator object — [Fuzzing with Generators (Support for Python Generators)](GeneratorGrammarFuzzer.ipynb#Support-for-Python-Generators) # * `__iter__()` — [Tracking Information Flow (Slices)](InformationFlow.ipynb#Slices), [Concolic Fuzzing (Producing Substrings)](ConcolicFuzzer.ipynb#Producing-Substrings) # # ### J # # * JavaScript — [Testing Web Applications (Cross-Site Scripting Attacks)](WebFuzzer.ipynb#Cross-Site-Scripting-Attacks) # * JerryScript — [Fuzzing with Grammars (Background)](Grammars.ipynb#Background) # * `join()` — [Tracking Information Flow (Expand Tabs)](InformationFlow.ipynb#Expand-Tabs) # * `js-vuln-db` — [Probabilistic Grammar Fuzzing (Exercise 2: Learning from Past Bugs)](ProbabilisticGrammarFuzzer.ipynb#Exercise-2:-Learning-from-Past-Bugs) # * JSON specification — [Fuzzing with Grammars (Exercise 1: A JSON Grammar)](Grammars.ipynb#Exercise-1:-A-JSON-Grammar) # * `JSON_EBNF_GRAMMAR` — [Fuzzing with Grammars (Exercise 1: A JSON Grammar)](Grammars.ipynb#Exercise-1:-A-JSON-Grammar) # * `JSON_GRAMMAR` — [Fuzzing with Grammars (Exercise 1: A JSON Grammar)](Grammars.ipynb#Exercise-1:-A-JSON-Grammar) # # ## K - O # ### K # # * Kenngruppenbuch — [When To Stop Fuzzing (The Enigma Machine)](WhenToStopFuzzing.ipynb#The-Enigma-Machine) # * key — [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * keylogger — [Testing Web Applications (Cross-Site Scripting Attacks)](WebFuzzer.ipynb#Cross-Site-Scripting-Attacks) # # ### L # # * lambda — [Fuzzing with Generators (Functions Called Before Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-Before-Expansion) # * LangFuzz — [Fuzzing with Grammars (Background)](Grammars.ipynb#Background) # * `LangFuzzer2` class — [Fuzzing with Input Fragments (Exercise 1: A Different LangFuzzer)](LangFuzzer.ipynb#Exercise-1:-A-Different-LangFuzzer) # * `LangFuzzer` class — [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer), [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer), [Fuzzing with Input Fragments (Candidate)](LangFuzzer.ipynb#Candidate), [Fuzzing with Input Fragments (Generate New Tree)](LangFuzzer.ipynb#Generate-New-Tree), [Fuzzing with Input Fragments (Fuzz)](LangFuzzer.ipynb#Fuzz) # * language specifications — [Fuzzing with Grammars (Input Languages)](Grammars.ipynb#Input-Languages) # * `LD_LIBRARY_PATH` — [Testing Configurations (Part 1: Getopt Fuzzing)](ConfigurationFuzzer.ipynb#Part-1:-Getopt-Fuzzing) # * leaf — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * `leave()` — [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack), [Mining Input Grammars (Input Stack)](GrammarMiner.ipynb#Input-Stack) # * left to right — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `left()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `left_align()` — [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # * `__len__()` — [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack), [Concolic Fuzzing (An Iterator Class for Strings)](ConcolicFuzzer.ipynb#An-Iterator-Class-for-Strings) # * `LeoParser` class — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `leo_complete()` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * lexer — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * lexing — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * `__le__()` — [Concolic Fuzzing (Comparisons between Integers)](ConcolicFuzzer.ipynb#Comparisons-between-Integers) # * line — [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations) # * line numbers — [Mining Input Grammars (Grammar Miner with Reassignment)](GrammarMiner.ipynb#Grammar-Miner-with-Reassignment) # * `linear_to_tree()` — [Parsing Inputs (Part 2: The Parser)](Parser.ipynb#Part-2:-The-Parser) # * `lineno()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `LinkHTMLParser` class — [Testing Web Applications (Crawling User Interfaces)](WebFuzzer.ipynb#Crawling-User-Interfaces) # * `link_functions()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `LIST_EBNF_GRAMMAR` — [Fuzzing APIs (Lists)](APIFuzzer.ipynb#Lists) # * `list_grammar()` — [Fuzzing APIs (Lists)](APIFuzzer.ipynb#Lists) # * `LIST_GRAMMAR` — [Fuzzing APIs (Lists)](APIFuzzer.ipynb#Lists) # * `ljust()` — [Tracking Information Flow (Justify)](InformationFlow.ipynb#Justify) # * LL — [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background) # * `ll()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `LL1Parser` class — [Parsing Inputs (Part 1: A LL(1) Parsing Table)](Parser.ipynb#Part-1:-A-LL(1)-Parsing-Table), [Parsing Inputs (Part 1: A LL(1) Parsing Table)](Parser.ipynb#Part-1:-A-LL(1)-Parsing-Table), [Parsing Inputs (Part 2: The Parser)](Parser.ipynb#Part-2:-The-Parser) # * LLVM Address Sanitizer — [Fuzzing: Breaking Things with Random Inputs (Checking Memory Accesses)](Fuzzer.ipynb#Checking-Memory-Accesses) # * `loc()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * local host — [Testing Web Applications (Running the Server)](WebFuzzer.ipynb#Running-the-Server) # * local optimum — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `log_call()` — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree) # * `log_event()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context) # * `log_message()` — [Testing Web Applications (Logging)](WebFuzzer.ipynb#Logging) # * `log_tree()` — [Efficient Grammar Fuzzing (Three Expansion Phases)](GrammarFuzzer.ipynb#Three-Expansion-Phases) # * `LONG_FOO` — [Testing Configurations (Exercise 1: #ifdef Configuration Fuzzing)](ConfigurationFuzzer.ipynb#Exercise-1:-#ifdef-Configuration-Fuzzing) # * `long_running_test()` — [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts) # * Loup Vaillant — [Parsing Inputs (The Parse Method)](Parser.ipynb#The-Parse-Method) # * `lower()` — [Tracking Information Flow (String methods that do not change origin)](InformationFlow.ipynb#String-methods-that-do-not-change-origin), [Concolic Fuzzing (Translating to Upper and Lower Equivalents)](ConcolicFuzzer.ipynb#Translating-to-Upper-and-Lower-Equivalents) # * `LOW` — [Tracking Information Flow (String Operators)](InformationFlow.ipynb#String-Operators) # * LR — [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background) # * LR parsing — [Parsing Inputs (Items)](Parser.ipynb#Items) # * LR(k) — [Parsing Inputs (The Earley Parser)](Parser.ipynb#The-Earley-Parser) # * `LR0` — [Parsing Inputs (Items)](Parser.ipynb#Items) # * `LR_GRAMMAR` — [Parsing Inputs (Recursion)](Parser.ipynb#Recursion), [Parsing Inputs (Recursion)](Parser.ipynb#Recursion), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `lr_graph()` — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `lstrip()` — [Tracking Information Flow (Strip)](InformationFlow.ipynb#Strip), [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends) # * `LS_EBNF_GRAMMAR` — [Grammar Coverage (Exercise 1: Testing ls)](GrammarCoverageFuzzer.ipynb#Exercise-1:-Testing-ls), [Grammar Coverage (Exercise 1: Testing ls)](GrammarCoverageFuzzer.ipynb#Exercise-1:-Testing-ls) # * `LS_GRAMMAR` — [Grammar Coverage (Exercise 1: Testing ls)](GrammarCoverageFuzzer.ipynb#Exercise-1:-Testing-ls) # * `__lt__()` — [Concolic Fuzzing (Comparisons between Integers)](ConcolicFuzzer.ipynb#Comparisons-between-Integers) # * Luhn algorithm — [Fuzzing with Generators (Functions Called After Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-After-Expansion) # * `luhn_checksum()` — [Fuzzing with Generators (Functions Called After Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-After-Expansion) # * `LUHN_ODD_LOOKUP` — [Fuzzing with Generators (Functions Called After Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-After-Expansion) # # ### M # # * `m()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * majority of trigrams — [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * `make_float_binary_wrapper()` — [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) # * `make_float_bool_wrapper()` — [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) # * `make_grammar()` — [Parsing Inputs (Testing the Parsers)](Parser.ipynb#Testing-the-Parsers) # * `make_int_binary_wrapper()` — [Concolic Fuzzing (Binary Operators for Integers)](ConcolicFuzzer.ipynb#Binary-Operators-for-Integers), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) # * `make_int_bit_wrapper()` — [Concolic Fuzzing (Exercise 2: Bit Manipulation)](ConcolicFuzzer.ipynb#Exercise-2:-Bit-Manipulation) # * `make_int_unary_wrapper()` — [Concolic Fuzzing (Integer Unary Operators)](ConcolicFuzzer.ipynb#Integer-Unary-Operators) # * `make_int_wrapper()` — [Tracking Information Flow (Part 2: Arithmetic expressions)](InformationFlow.ipynb#Part-2:-Arithmetic-expressions) # * `make_rule()` — [Parsing Inputs (Testing the Parsers)](Parser.ipynb#Testing-the-Parsers) # * `make_split_wrapper()` — [Tracking Information Flow (Splits)](InformationFlow.ipynb#Splits) # * `make_str_abort_wrapper()` — [Tracking Information Flow (Methods yet to be translated)](InformationFlow.ipynb#Methods-yet-to-be-translated), [Concolic Fuzzing (Trip Wire)](ConcolicFuzzer.ipynb#Trip-Wire) # * `make_str_wrapper()` — [Tracking Information Flow (String Operators)](InformationFlow.ipynb#String-Operators), [Tracking Information Flow (General wrappers)](InformationFlow.ipynb#General-wrappers) # * Marpa parser — [Parsing Inputs (More Earley Parsing)](Parser.ipynb#More-Earley-Parsing) # * `MAX_DEPTH` — [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (can_be_satisfied)](SymbolicFuzzer.ipynb#can_be_satisfied), [Symbolic Fuzzing (can_be_satisfied)](SymbolicFuzzer.ipynb#can_be_satisfied) # * `_max_expansion_coverage()` — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage) # * `max_expansion_coverage()` — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage) # * `max_height()` — [Reducing Failure-Inducing Inputs (A Few Helpers)](Reducer.ipynb#A-Few-Helpers) # * `MAX_ITER` — [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer) # * `MAX_TRIES` — [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer) # * `MAX` — [Search-Based Fuzzing (Representing program inputs as a search problem)](SearchBasedFuzzer.ipynb#Representing-program-inputs-as-a-search-problem), [Search-Based Fuzzing (Representing program inputs as a search problem)](SearchBasedFuzzer.ipynb#Representing-program-inputs-as-a-search-problem), [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example), [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example), [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * measure of progress — [When To Stop Fuzzing (Measuring Trace Coverage over Time)](WhenToStopFuzzing.ipynb#Measuring-Trace-Coverage-over-Time) # * meta-heuristic — [Search-Based Fuzzing](SearchBasedFuzzer.ipynb#Search-Based-Fuzzing) # * `method_enter()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `method_exit()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * `method_init()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `method_statement()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * `mine_arguments_grammar()` — [Carving Unit Tests (A Grammar from Arguments)](Carver.ipynb#A-Grammar-from-Arguments) # * `mine_a_element_actions()` — [Testing Graphical User Interfaces (Link Element Actions)](GUIFuzzer.ipynb#Link-Element-Actions) # * `mine_button_element_actions()` — [Testing Graphical User Interfaces (Button Element Actions)](GUIFuzzer.ipynb#Button-Element-Actions) # * `mine_call_grammar()` — [Carving Unit Tests (A Grammar from all Calls)](Carver.ipynb#A-Grammar-from-all-Calls) # * `mine_ebnf_grammar()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `mine_function_grammar()` — [Carving Unit Tests (A Grammar from Calls)](Carver.ipynb#A-Grammar-from-Calls) # * `mine_grammar()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Web Applications (Mining Grammars for Web Pages)](WebFuzzer.ipynb#Mining-Grammars-for-Web-Pages) # * `mine_input_element_actions()` — [Testing Graphical User Interfaces (Input Element Actions)](GUIFuzzer.ipynb#Input-Element-Actions) # * `mine_probabilistic_grammar()` — [Probabilistic Grammar Fuzzing (Assigning Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Assigning-Probabilities) # * `mine_state_actions()` — [Testing Graphical User Interfaces (Retrieving Actions)](GUIFuzzer.ipynb#Retrieving-Actions) # * `mine_state_grammar()` — [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # * `MIN` — [Search-Based Fuzzing (Representing program inputs as a search problem)](SearchBasedFuzzer.ipynb#Representing-program-inputs-as-a-search-problem), [Search-Based Fuzzing (Representing program inputs as a search problem)](SearchBasedFuzzer.ipynb#Representing-program-inputs-as-a-search-problem), [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example), [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example), [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `missing_expansion_coverage()` — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage) # * `__mod__()` — [Tracking Information Flow (mod)](InformationFlow.ipynb#mod) # * most — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `mseq()` — [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree) # * multiple inheritance — [Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)](ProbabilisticGrammarFuzzer.ipynb#Exercise-1:-Probabilistic-Fuzzing-with-Coverage), [Fuzzing with Generators (All Together)](GeneratorGrammarFuzzer.ipynb#All-Together) # * `MultipleChoice` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `mutate()` — [Mutation-Based Fuzzing (Mutating Inputs)](MutationFuzzer.ipynb#Mutating-Inputs), [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations), [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * mutated — [Search-Based Fuzzing (Global Search)](SearchBasedFuzzer.ipynb#Global-Search) # * `mutate_tree()` — [Fuzzing with Input Fragments (Grammar-Based Mutation)](LangFuzzer.ipynb#Grammar-Based-Mutation), [Evolutionary Grammar Fuzzing (Grammar-Based Mutation)](EvoGrammarFuzzer.ipynb#Grammar-Based-Mutation) # * mutation — [Search-Based Fuzzing (Global Search)](SearchBasedFuzzer.ipynb#Global-Search) # * mutational fuzzing — [Mutation-Based Fuzzing](MutationFuzzer.ipynb#Mutation-Based-Fuzzing), [Mutation-Based Fuzzing (Mutating Inputs)](MutationFuzzer.ipynb#Mutating-Inputs) # * `MutationCoverageFuzzer` class — [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage) # * `MutationFuzzer` class — [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations), [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations), [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations), [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations) # * MyPy — [Fuzzing: Breaking Things with Random Inputs (Static Code Checkers)](Fuzzer.ipynb#Static-Code-Checkers) # * `MysteryRunner` class — [Reducing Failure-Inducing Inputs (Why Reducing?)](Reducer.ipynb#Why-Reducing?) # * `my_eval()` — [Tracking Information Flow (Selecting Data)](InformationFlow.ipynb#Selecting-Data), [Tracking Information Flow (TaintedDB)](InformationFlow.ipynb#TaintedDB), [Tracking Information Flow (TrackingDB)](InformationFlow.ipynb#TrackingDB) # * `my_fn()` — [Concolic Fuzzing (Exercise 2: Bit Manipulation)](ConcolicFuzzer.ipynb#Exercise-2:-Bit-Manipulation) # * `my_parser()` — [When To Stop Fuzzing (Measuring Trace Coverage over Time)](WhenToStopFuzzing.ipynb#Measuring-Trace-Coverage-over-Time), [When To Stop Fuzzing (Part 2: Population)](WhenToStopFuzzing.ipynb#Part-2:-Population) # * `my_roots()` — [Symbolic Fuzzing (Concolic Execution with PyExZ3)](SymbolicFuzzer.ipynb#Concolic-Execution-with-PyExZ3), [Symbolic Fuzzing (Concolic Execution with PyExZ3)](SymbolicFuzzer.ipynb#Concolic-Execution-with-PyExZ3) # * `my_sqrt()` — [Introduction to Software Testing (Simple Testing)](Intro_Testing.ipynb#Simple-Testing), [Parsing Inputs (Fixpoint)](Parser.ipynb#Fixpoint), [Mining Function Specifications (Specifications and Assertions)](DynamicInvariants.ipynb#Specifications-and-Assertions), [Mining Function Specifications (Mining Type Specifications)](DynamicInvariants.ipynb#Mining-Type-Specifications) # * `_my_sqrt()` — [Parsing Inputs (Fixpoint)](Parser.ipynb#Fixpoint) # * `my_sqrt_annotated()` — [Mining Function Specifications (Getting Types)](DynamicInvariants.ipynb#Getting-Types) # * `my_sqrt_checked()` — [Introduction to Software Testing (Run-Time Verification)](Intro_Testing.ipynb#Run-Time-Verification) # * `my_sqrt_fixed()` — [Introduction to Software Testing (The Limits of Testing)](Intro_Testing.ipynb#The-Limits-of-Testing) # * `my_sqrt_with_log()` — [Introduction to Software Testing (Debugging a Function)](Intro_Testing.ipynb#Debugging-a-Function) # # ### N # # * `names()` — [Symbolic Fuzzing (names)](SymbolicFuzzer.ipynb#names) # * natural language — [Fuzzing with Grammars (A Natural Language Grammar)](Grammars.ipynb#A-Natural-Language-Grammar) # * `naval_enigma()` — [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma) # * neighbours — [Search-Based Fuzzing (Representing program inputs as a search problem)](SearchBasedFuzzer.ipynb#Representing-program-inputs-as-a-search-problem) # * `neighbours()` — [Search-Based Fuzzing (Representing program inputs as a search problem)](SearchBasedFuzzer.ipynb#Representing-program-inputs-as-a-search-problem) # * `neighbour_strings()` — [Search-Based Fuzzing (CGI Decoder as a Search Problem)](SearchBasedFuzzer.ipynb#CGI-Decoder-as-a-Search-Problem) # * `__neq__()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * Newton–Raphson method — [Introduction to Software Testing (Simple Testing)](Intro_Testing.ipynb#Simple-Testing) # * `_new_child_coverage()` — [Grammar Coverage (Determining yet Uncovered Children)](GrammarCoverageFuzzer.ipynb#Determining-yet-Uncovered-Children) # * `new_child_coverage()` — [Grammar Coverage (Determining yet Uncovered Children)](GrammarCoverageFuzzer.ipynb#Determining-yet-Uncovered-Children) # * `new_coverages()` — [Grammar Coverage (Adaptive Lookahead)](GrammarCoverageFuzzer.ipynb#Adaptive-Lookahead) # * `new_expansion_cost()` — [Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)](GrammarFuzzer.ipynb#Exercise-2:-Grammar-Pre-Compilation) # * `new_state_symbol()` — [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # * `new_symbol()` — [Fuzzing with Grammars (Creating New Symbols)](Grammars.ipynb#Creating-New-Symbols) # * `new_symbol_cost()` — [Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)](GrammarFuzzer.ipynb#Exercise-2:-Grammar-Pre-Compilation) # * `__new__()` — [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (Part 1: Creation)](InformationFlow.ipynb#Part-1:-Creation), [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers), [Concolic Fuzzing (A Proxy Class for Strings)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Strings), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `__next__()` — [Tracking Information Flow (Slices)](InformationFlow.ipynb#Slices), [Concolic Fuzzing (An Iterator Class for Strings)](ConcolicFuzzer.ipynb#An-Iterator-Class-for-Strings) # * `__ne__()` — [Concolic Fuzzing (Equality between Integers)](ConcolicFuzzer.ipynb#Equality-between-Integers), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * nodes — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * Nonparametric estimation of the number of classes in a population — [When To Stop Fuzzing (Background)](WhenToStopFuzzing.ipynb#Background) # * nonterminal symbol — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `nonterminals()` — [Fuzzing with Grammars (Some Definitions)](Grammars.ipynb#Some-Definitions) # * `NonTerminal` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * normalize — [Search-Based Fuzzing (Fitness Function to Create Valid Hexadecimal Inputs)](SearchBasedFuzzer.ipynb#Fitness-Function-to-Create-Valid-Hexadecimal-Inputs) # * `normalize()` — [Search-Based Fuzzing (Fitness Function to Create Valid Hexadecimal Inputs)](SearchBasedFuzzer.ipynb#Fitness-Function-to-Create-Valid-Hexadecimal-Inputs) # * not — [Parsing Inputs (Exercise 3: PEG Predicates)](Parser.ipynb#Exercise-3:-PEG-Predicates) # * `not_found()` — [Testing Web Applications (Page Not Found)](WebFuzzer.ipynb#Page-Not-Found) # * `__not__()` — [Concolic Fuzzing (Negation of Encoded formula)](ConcolicFuzzer.ipynb#Negation-of-Encoded-formula) # * `no_8bit()` — [Fuzzing: Breaking Things with Random Inputs (Exercise 1: Simulate Troff)](Fuzzer.ipynb#Exercise-1:-Simulate-Troff) # * `no_backslash_d()` — [Fuzzing: Breaking Things with Random Inputs (Exercise 1: Simulate Troff)](Fuzzer.ipynb#Exercise-1:-Simulate-Troff) # * `no_dot()` — [Fuzzing: Breaking Things with Random Inputs (Exercise 1: Simulate Troff)](Fuzzer.ipynb#Exercise-1:-Simulate-Troff) # * `nt_var()` — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree) # * `nullable()` — [Parsing Inputs (Nullable)](Parser.ipynb#Nullable) # * `nullable_()` — [Parsing Inputs (Nullable)](Parser.ipynb#Nullable) # * `nullable_expr()` — [Parsing Inputs (Nullable)](Parser.ipynb#Nullable) # * `number_of_nodes()` — [Reducing Failure-Inducing Inputs (A Few Helpers)](Reducer.ipynb#A-Few-Helpers) # # ### O # # * `OBJECT` — [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class) # * `offsets_from_entry()` — [Symbolic Fuzzing (ConcolicFuzzer)](SymbolicFuzzer.ipynb#ConcolicFuzzer) # * `OneOrMore` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `on_assign()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_binop()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_break()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_call()` — [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker), [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_compare()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_continue()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_event()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context) # * `on_exception()` — [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * `on_expr()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_for()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_functiondef()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_if()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_line()` — [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * `on_module()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_pass()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_return()` — [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker), [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_unaryop()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `on_while()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * Optimize — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing), [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * `Optional()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `OptionalSequence` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `OptionFuzzer` class — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options), [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `OptionGrammarMiner` class — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `OptionRunner` class — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options), [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options), [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options), [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `options()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack), [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker), [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (Advanced Symbolic Fuzzer)](SymbolicFuzzer.ipynb#Advanced-Symbolic-Fuzzer) # * `OPTION_SYMBOL` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `opts()` — [Fuzzing with Grammars (Grammar Extensions)](Grammars.ipynb#Grammar-Extensions) # * `opts_used()` — [Fuzzing with Grammars (Checking Grammars)](Grammars.ipynb#Checking-Grammars) # * or more — [When To Stop Fuzzing (Exercises)](WhenToStopFuzzing.ipynb#Exercises) # * oracle — [Getting Coverage (Finding Errors with Basic Fuzzing)](Coverage.ipynb#Finding-Errors-with-Basic-Fuzzing), [Fuzzing APIs (Synthesizing Oracles)](APIFuzzer.ipynb#Synthesizing-Oracles) # * ordered choice — [Parsing Inputs (Parsing Expression Grammars)](Parser.ipynb#Parsing-Expression-Grammars) # * ordering of expansions — [Fuzzing with Generators (Ordering Expansions)](GeneratorGrammarFuzzer.ipynb#Ordering-Expansions) # * `orders_db_is_empty()` — [Testing Web Applications (Fully Automatic Web Attacks)](WebFuzzer.ipynb#Fully-Automatic-Web-Attacks) # * `ORDERS_DB` — [Testing Web Applications (Storing Orders)](WebFuzzer.ipynb#Storing-Orders) # * `ORDER_GRAMMAR_WITH_HTML_INJECTION` — [Testing Web Applications (HTML Injection Attacks)](WebFuzzer.ipynb#HTML-Injection-Attacks) # * `ORDER_GRAMMAR_WITH_SQL_INJECTION` — [Testing Web Applications (SQL Injection Attacks)](WebFuzzer.ipynb#SQL-Injection-Attacks) # * `ORDER_GRAMMAR_WITH_XSS_INJECTION` — [Testing Web Applications (Cross-Site Scripting Attacks)](WebFuzzer.ipynb#Cross-Site-Scripting-Attacks) # * `ORDER_GRAMMAR` — [Testing Web Applications (Fuzzing with Expected Values)](WebFuzzer.ipynb#Fuzzing-with-Expected-Values), [Testing Web Applications (Fuzzing with Expected Values)](WebFuzzer.ipynb#Fuzzing-with-Expected-Values) # * `ostr_iterator` class — [Tracking Information Flow (Slices)](InformationFlow.ipynb#Slices) # * `ostr` class — [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (Create)](InformationFlow.ipynb#Create), [Tracking Information Flow (Index)](InformationFlow.ipynb#Index), [Tracking Information Flow (Slices)](InformationFlow.ipynb#Slices), [Tracking Information Flow (Concatenation)](InformationFlow.ipynb#Concatenation), [Tracking Information Flow (Concatenation)](InformationFlow.ipynb#Concatenation), [Tracking Information Flow (Extract Origin String)](InformationFlow.ipynb#Extract-Origin-String), [Tracking Information Flow (Replace)](InformationFlow.ipynb#Replace), [Tracking Information Flow (Split)](InformationFlow.ipynb#Split), [Tracking Information Flow (Strip)](InformationFlow.ipynb#Strip), [Tracking Information Flow (Expand Tabs)](InformationFlow.ipynb#Expand-Tabs), [Tracking Information Flow (Expand Tabs)](InformationFlow.ipynb#Expand-Tabs), [Tracking Information Flow (Partitions)](InformationFlow.ipynb#Partitions), [Tracking Information Flow (Justify)](InformationFlow.ipynb#Justify), [Tracking Information Flow (Justify)](InformationFlow.ipynb#Justify), [Tracking Information Flow (mod)](InformationFlow.ipynb#mod), [Tracking Information Flow (mod)](InformationFlow.ipynb#mod), [Tracking Information Flow (String methods that do not change origin)](InformationFlow.ipynb#String-methods-that-do-not-change-origin) # * OWASP Zed Attack Proxy Project — [Testing Web Applications (Background)](WebFuzzer.ipynb#Background) # # ## P - T # ### P # # * `P1` — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree) # * packrat — [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG) # * `PackratParser` class — [Parsing Inputs (Exercise 1: An Alternative Packrat)](Parser.ipynb#Exercise-1:-An-Alternative-Packrat) # * page — [Testing Graphical User Interfaces (User Interface Actions)](GUIFuzzer.ipynb#User-Interface-Actions) # * `pairwise()` — [Testing Configurations (Combinatorial Testing)](ConfigurationFuzzer.ipynb#Combinatorial-Testing) # * `parameters()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `parenthesized_expressions()` — [Fuzzing with Grammars (Expanding Parenthesized Expressions)](Grammars.ipynb#Expanding-Parenthesized-Expressions) # * parse tree — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * `parse()` — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity), [Parsing Inputs (The Parse Method)](Parser.ipynb#The-Parse-Method), [Parsing Inputs (Exercise 1: An Alternative Packrat)](Parser.ipynb#Exercise-1:-An-Alternative-Packrat), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Part 2: The Parser)](Parser.ipynb#Part-2:-The-Parser), [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy), [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `parseCSSGrammar()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `ParseInterrupt` class — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * parser — [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program) # * Parser — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * parsers — [Efficient Grammar Fuzzing (Background)](GrammarFuzzer.ipynb#Background) # * `Parser` class — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity), [Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)](Parser.ipynb#The-Packrat-Parser-for-Predicate-Expression-Grammars) # * `parse_csv()` — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser), [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `parse_forest()` — [Parsing Inputs (Parsing Forests)](Parser.ipynb#Parsing-Forests), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `parse_helper()` — [Parsing Inputs (Part 2: The Parser)](Parser.ipynb#Part-2:-The-Parser) # * `parse_paths()` — [Parsing Inputs (Parsing Paths)](Parser.ipynb#Parsing-Paths) # * `parse_prefix()` — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity), [Parsing Inputs (The Parser)](Parser.ipynb#The-Parser), [Parsing Inputs (The Parse Method)](Parser.ipynb#The-Parse-Method), [Parsing Inputs (Exercise 1: An Alternative Packrat)](Parser.ipynb#Exercise-1:-An-Alternative-Packrat) # * `parse_quote()` — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `parse_sexp()` — [Concolic Fuzzing (Using the Command Line)](ConcolicFuzzer.ipynb#Using-the-Command-Line) # * `parse_table()` — [Parsing Inputs (Part 1: A LL(1) Parsing Table)](Parser.ipynb#Part-1:-A-LL(1)-Parsing-Table), [Parsing Inputs (Part 1: A LL(1) Parsing Table)](Parser.ipynb#Part-1:-A-LL(1)-Parsing-Table) # * `parse_type()` — [Mining Function Specifications (Annotating Functions)](DynamicInvariants.ipynb#Annotating-Functions) # * parsing — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * Parsing Expression Grammar — [Parsing Inputs (Parsing Expression Grammars)](Parser.ipynb#Parsing-Expression-Grammars) # * Parsing Expression Grammars — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * `partition()` — [Tracking Information Flow (Partitions)](InformationFlow.ipynb#Partitions) # * `PASS` — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # * path to insanity — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `paths()` — [Parsing Inputs (Parsing Paths)](Parser.ipynb#Parsing-Paths) # * `Path` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * PEG — [Parsing Inputs (Parsing Expression Grammars)](Parser.ipynb#Parsing-Expression-Grammars), [Parsing Inputs (Unify Rule)](Parser.ipynb#Unify-Rule), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs (Background)](Parser.ipynb#Background) # * `PEG1` — [Parsing Inputs (Parsing Expression Grammars)](Parser.ipynb#Parsing-Expression-Grammars) # * `PEG2` — [Parsing Inputs (Parsing Expression Grammars)](Parser.ipynb#Parsing-Expression-Grammars) # * `PEGParser` class — [Parsing Inputs (The Parser)](Parser.ipynb#The-Parser), [Parsing Inputs (Unify Key)](Parser.ipynb#Unify-Key), [Parsing Inputs (Unify Rule)](Parser.ipynb#Unify-Rule), [Parsing Inputs (Unify Rule)](Parser.ipynb#Unify-Rule) # * PEGs — [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG), [Parsing Inputs (Background)](Parser.ipynb#Background), [Parsing Inputs (Background)](Parser.ipynb#Background) # * `PEG_SURPRISE` — [Parsing Inputs ( Problems with PEG)](Parser.ipynb#-Problems-with-PEG) # * PEP 8 Style Guide for Python Code — [Testing Configurations (Testing Autopep8)](ConfigurationFuzzer.ipynb#Testing-Autopep8) # * `permutation()` — [Concolic Fuzzing (Binomial Coefficient)](ConcolicFuzzer.ipynb#Binomial-Coefficient) # * `plotting_hillclimber()` — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `PNode` class — [Symbolic Fuzzing (PNode)](SymbolicFuzzer.ipynb#PNode), [Symbolic Fuzzing (copy)](SymbolicFuzzer.ipynb#copy), [Symbolic Fuzzing (explore)](SymbolicFuzzer.ipynb#explore), [Symbolic Fuzzing (get_path_to_root)](SymbolicFuzzer.ipynb#get_path_to_root), [Symbolic Fuzzing (get_path_to_root)](SymbolicFuzzer.ipynb#get_path_to_root) # * `PooledGrammarFuzzer` class — [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program) # * `population_branch_coverage()` — [Getting Coverage (Part 2: Comparing statement coverage and branch coverage)](Coverage.ipynb#Part-2:-Comparing-statement-coverage-and-branch-coverage) # * `population_coverage()` — [Getting Coverage ( Coverage of Basic Fuzzing)](Coverage.ipynb#-Coverage-of-Basic-Fuzzing) # * `population_stmt_coverage()` — [When To Stop Fuzzing (Part 1: Population Coverage)](WhenToStopFuzzing.ipynb#Part-1:-Population-Coverage) # * `population_trace_coverage()` — [When To Stop Fuzzing (Measuring Trace Coverage over Time)](WhenToStopFuzzing.ipynb#Measuring-Trace-Coverage-over-Time) # * `possible_combinations()` — [Reducing Failure-Inducing Inputs (A Few Helpers)](Reducer.ipynb#A-Few-Helpers) # * `possible_expansions()` — [Efficient Grammar Fuzzing (Expanding a Tree)](GrammarFuzzer.ipynb#Expanding-a-Tree) # * post-order — [Parsing Inputs (Background)](Parser.ipynb#Background) # * `POST` — [Testing Web Applications (A Fuzzer for Web Forms)](WebFuzzer.ipynb#A-Fuzzer-for-Web-Forms) # * `__pos__()` — [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers) # * power operator — [When To Stop Fuzzing (The Kenngruppenbuch)](WhenToStopFuzzing.ipynb#The-Kenngruppenbuch) # * `power()` — [Carving Unit Tests (From Calls to Grammars)](Carver.ipynb#From-Calls-to-Grammars) # * `POWER_GRAMMAR` — [Carving Unit Tests (From Calls to Grammars)](Carver.ipynb#From-Calls-to-Grammars), [Carving Unit Tests (From Calls to Grammars)](Carver.ipynb#From-Calls-to-Grammars) # * pre-order — [Parsing Inputs (Background)](Parser.ipynb#Background) # * `precompute_costs()` — [Efficient Grammar Fuzzing (Exercise 2: Grammar Pre-Compilation)](GrammarFuzzer.ipynb#Exercise-2:-Grammar-Pre-Compilation) # * predict — [When To Stop Fuzzing (Extrapolating Fuzzing Success)](WhenToStopFuzzing.ipynb#Extrapolating-Fuzzing-Success) # * `predict()` — [Parsing Inputs (Predicting States)](Parser.ipynb#Predicting-States), [Parsing Inputs (Nullable)](Parser.ipynb#Nullable), [Parsing Inputs (Part 1: A LL(1) Parsing Table)](Parser.ipynb#Part-1:-A-LL(1)-Parsing-Table) # * Predicting the Number of New Species in Further Taxonomic Sampling — [When To Stop Fuzzing (Background)](WhenToStopFuzzing.ipynb#Background) # * `prefix_vars()` — [Symbolic Fuzzing (prefix_vars)](SymbolicFuzzer.ipynb#prefix_vars) # * `PrintRunner` class — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # * `print_httpd_messages()` — [Testing Web Applications (Logging)](WebFuzzer.ipynb#Logging) # * `print_url()` — [Testing Web Applications (Direct Browser Access)](WebFuzzer.ipynb#Direct-Browser-Access) # * `ProbabilisticGeneratorGrammarCoverageFuzzer` class — [Fuzzing with Generators (Generators and Grammar Coverage)](GeneratorGrammarFuzzer.ipynb#Generators-and-Grammar-Coverage), [Fuzzing with Generators (Generators and Grammar Coverage)](GeneratorGrammarFuzzer.ipynb#Generators-and-Grammar-Coverage), [Fuzzing with Generators (Generators and Grammar Coverage)](GeneratorGrammarFuzzer.ipynb#Generators-and-Grammar-Coverage) # * `ProbabilisticGeneratorGrammarFuzzer` class — [Fuzzing with Generators (Generators and Probabilistic Fuzzing)](GeneratorGrammarFuzzer.ipynb#Generators-and-Probabilistic-Fuzzing) # * `ProbabilisticGrammarCoverageFuzzer` class — [Probabilistic Grammar Fuzzing (Exercise 1: Probabilistic Fuzzing with Coverage)](ProbabilisticGrammarFuzzer.ipynb#Exercise-1:-Probabilistic-Fuzzing-with-Coverage) # * `ProbabilisticGrammarFuzzer` class — [Probabilistic Grammar Fuzzing (Expanding by Probability)](ProbabilisticGrammarFuzzer.ipynb#Expanding-by-Probability), [Probabilistic Grammar Fuzzing (Expanding by Probability)](ProbabilisticGrammarFuzzer.ipynb#Expanding-by-Probability) # * `ProbabilisticGrammarMiner` class — [Probabilistic Grammar Fuzzing (Assigning Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Assigning-Probabilities), [Probabilistic Grammar Fuzzing (Assigning Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Assigning-Probabilities) # * `PROBABILISTIC_EXPR_GRAMMAR` — [Probabilistic Grammar Fuzzing (Specifying Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Specifying-Probabilities) # * `prob_distribution()` — [Probabilistic Grammar Fuzzing (Distributing Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Distributing-Probabilities) # * `prob_leading_digit()` — [Probabilistic Grammar Fuzzing (The Law of Leading Digits)](ProbabilisticGrammarFuzzer.ipynb#The-Law-of-Leading-Digits) # * `process()` — [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths) # * `process_arg()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `process_argument()` — [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments) # * `process_car()` — [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `process_chosen_children()` — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Fuzzing with Generators (Generating Elements before Expansion)](GeneratorGrammarFuzzer.ipynb#Generating-Elements-before-Expansion) # * `process_inventory()` — [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `process_numbers()` — [Testing Configurations (Options in Python)](ConfigurationFuzzer.ipynb#Options-in-Python) # * `PROCESS_NUMBERS_EBNF_GRAMMAR` — [Testing Configurations (A Grammar for Configurations)](ConfigurationFuzzer.ipynb#A-Grammar-for-Configurations), [Testing Configurations (A Grammar for Configurations)](ConfigurationFuzzer.ipynb#A-Grammar-for-Configurations) # * `PROCESS_NUMBERS_GRAMMAR` — [Testing Configurations (A Grammar for Configurations)](ConfigurationFuzzer.ipynb#A-Grammar-for-Configurations) # * `process_van()` — [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `process_vehicle()` — [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `prod_line_grammar()` — [Parsing Inputs (Testing the Parsers)](Parser.ipynb#Testing-the-Parsers) # * `ProgramRunner` class — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # * progress of the fuzzing campaign towards completion — [When To Stop Fuzzing (Discovery Probability Quantifies Residual Risk)](WhenToStopFuzzing.ipynb#Discovery-Probability-Quantifies-Residual-Risk) # * `proxy()` — [Tracking Information Flow (String Operators)](InformationFlow.ipynb#String-Operators), [Tracking Information Flow (Splits)](InformationFlow.ipynb#Splits), [Tracking Information Flow (General wrappers)](InformationFlow.ipynb#General-wrappers), [Tracking Information Flow (Methods yet to be translated)](InformationFlow.ipynb#Methods-yet-to-be-translated), [Tracking Information Flow (Part 2: Arithmetic expressions)](InformationFlow.ipynb#Part-2:-Arithmetic-expressions), [Concolic Fuzzing (Binary Operators for Integers)](ConcolicFuzzer.ipynb#Binary-Operators-for-Integers), [Concolic Fuzzing (Integer Unary Operators)](ConcolicFuzzer.ipynb#Integer-Unary-Operators), [Concolic Fuzzing (Trip Wire)](ConcolicFuzzer.ipynb#Trip-Wire), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class), [Concolic Fuzzing (Exercise 2: Bit Manipulation)](ConcolicFuzzer.ipynb#Exercise-2:-Bit-Manipulation) # * `prune_tokens()` — [Concolic Fuzzing (All together)](ConcolicFuzzer.ipynb#All-together) # * `prune_tree()` — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity), [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * `PUBLIC` — [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins) # * `PyCFG` class — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * PyExZ3 — [Symbolic Fuzzing (Concolic Execution with PyExZ3)](SymbolicFuzzer.ipynb#Concolic-Execution-with-PyExZ3) # * Python — [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining) # * Python documentation — [Concolic Fuzzing (Binary Operators for Integers)](ConcolicFuzzer.ipynb#Binary-Operators-for-Integers) # * Python tutorial — [Introduction to Software Testing (Understanding Python Programs)](Intro_Testing.ipynb#Understanding-Python-Programs), [Fuzzing: Breaking Things with Random Inputs](Fuzzer.ipynb#Fuzzing:-Breaking-Things-with Random Inputs) # # ### Q # # * `Q0` — [When To Stop Fuzzing (Part 3: Compute and Evaluate Extrapolator)](WhenToStopFuzzing.ipynb#Part-3:-Compute-and-Evaluate-Extrapolator) # * `Q1` — [When To Stop Fuzzing (Part 2: Compute Estimate)](WhenToStopFuzzing.ipynb#Part-2:-Compute-Estimate) # * `Q2` — [When To Stop Fuzzing (Part 2: Compute Estimate)](WhenToStopFuzzing.ipynb#Part-2:-Compute-Estimate) # * `quadratic_solver()` — [Introduction to Software Testing (Exercise 2: Quadratic Solver)](Intro_Testing.ipynb#Exercise-2:-Quadratic-Solver) # * `quadratic_solver_fixed()` — [Introduction to Software Testing (Part 2: Fix the problem)](Intro_Testing.ipynb#Part-2:-Fix-the-problem) # * `quad_solver()` — [Control Flow Graph (quad_solver)](ControlFlow.ipynb#quad_solver) # * `qualified()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * `QUERY_GRAMMAR` — [Testing Web Applications (Mining Grammars for Web Pages)](WebFuzzer.ipynb#Mining-Grammars-for-Web-Pages) # # ### R # # * `__radd__()` — [Tracking Information Flow (String Operators)](InformationFlow.ipynb#String-Operators), [Tracking Information Flow (Concatenation)](InformationFlow.ipynb#Concatenation), [Concolic Fuzzing (Concatenation of Strings)](ConcolicFuzzer.ipynb#Concatenation-of-Strings) # * random restarts — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `RandomFuzzer` class — [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes) # * `randomized_hillclimb()` — [Search-Based Fuzzing (Global Search)](SearchBasedFuzzer.ipynb#Global-Search) # * `random_list()` — [Introduction to Software Testing (Part 2: Random Inputs)](Intro_Testing.ipynb#Part-2:-Random-Inputs) # * `random_string()` — [Search-Based Fuzzing (Hillclimbing Valid Hexadecimal Inputs)](SearchBasedFuzzer.ipynb#Hillclimbing-Valid-Hexadecimal-Inputs) # * `random_unicode_string()` — [Search-Based Fuzzing (Evolutionary Search)](SearchBasedFuzzer.ipynb#Evolutionary-Search) # * `reachable_nonterminals()` — [Fuzzing with Grammars (Checking Grammars)](Grammars.ipynb#Checking-Grammars) # * `readable()` — [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees) # * `readable_rule()` — [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees) # * `read_gcov_coverage()` — [Getting Coverage (Getting Coverage from External Programs)](Coverage.ipynb#Getting-Coverage-from-External-Programs) # * `rearrange()` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `recover_grammar()` — [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees), [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining) # * recursion — [Parsing Inputs (Grammars)](Parser.ipynb#Grammars) # * recursive — [Fuzzing with Grammars (Rules and Expansions)](Grammars.ipynb#Rules-and-Expansions) # * red — [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer), [Fuzzing with Input Fragments (Candidate)](LangFuzzer.ipynb#Candidate) # * red-black tree — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * `RedBlackTree` class — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * `reduce()` — [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging), [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging), [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy) # * `Reducer` class — [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging) # * `reduce_subtree()` — [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy) # * `reduce_tree()` — [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy), [Reducing Failure-Inducing Inputs (A Depth-Oriented Strategy)](Reducer.ipynb#A-Depth-Oriented-Strategy) # * `register_event()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * `register_node()` — [Control Flow Graph (Registry)](ControlFlow.ipynb#Registry), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `REGISTRY_IDX` — [Control Flow Graph (Registry)](ControlFlow.ipynb#Registry), [Control Flow Graph (Registry)](ControlFlow.ipynb#Registry), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `REGISTRY` — [Control Flow Graph (Registry)](ControlFlow.ipynb#Registry), [Control Flow Graph (Registry)](ControlFlow.ipynb#Registry), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * Regular Expression — [Parsing Inputs (Background)](Parser.ipynb#Background) # * Regular expressions — [Fuzzing with Grammars (Input Languages)](Grammars.ipynb#Input-Languages) # * regular expressions — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * regular language — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * `rename_variables()` — [Symbolic Fuzzing (rename_variables)](SymbolicFuzzer.ipynb#rename_variables) # * repair — [Fuzzing with Generators (Functions Called After Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-After-Expansion) # * `replace()` — [Tracking Information Flow (Replace)](InformationFlow.ipynb#Replace) # * `replace_symbol()` — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `repOK()` — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * represent — [Search-Based Fuzzing (Test Generation as a Search Problem)](SearchBasedFuzzer.ipynb#Test-Generation-as-a-Search-Problem) # * representation invariant — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * representative path — [Symbolic Fuzzing (Concolic Execution)](SymbolicFuzzer.ipynb#Concolic-Execution) # * `__repr__()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack), [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (Part 3: Passing taints from integers to strings)](InformationFlow.ipynb#Part-3:-Passing-taints-from-integers-to-strings), [Symbolic Fuzzing (PNode)](SymbolicFuzzer.ipynb#PNode), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `REQUIRED_FIELDS` — [Testing Web Applications (Part 4: A Robust Server)](WebFuzzer.ipynb#Part-4:-A-Robust-Server) # * `__req__()` — [Concolic Fuzzing (Equality between Integers)](ConcolicFuzzer.ipynb#Equality-between-Integers), [Concolic Fuzzing (Equality between Strings)](ConcolicFuzzer.ipynb#Equality-between-Strings) # * `reset()` — [Mutation-Based Fuzzing (Multiple Mutations)](MutationFuzzer.ipynb#Multiple-Mutations), [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage), [Probabilistic Grammar Fuzzing (Counting Expansions)](ProbabilisticGrammarFuzzer.ipynb#Counting-Expansions), [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging), [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging), [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls), [Carving Unit Tests (Part 1: Store function results)](Carver.ipynb#Part-1:-Store-function-results), [Testing Web Applications (Searching HTML for Input Fields)](WebFuzzer.ipynb#Searching-HTML-for-Input-Fields), [Testing Web Applications (Crawling User Interfaces)](WebFuzzer.ipynb#Crawling-User-Interfaces) # * `reset_coverage()` — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage) # * `reset_generators()` — [Fuzzing with Generators (Support for Python Generators)](GeneratorGrammarFuzzer.ipynb#Support-for-Python-Generators) # * `reset_registry()` — [Control Flow Graph (Registry)](ControlFlow.ipynb#Registry), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * residual risk — [When To Stop Fuzzing](WhenToStopFuzzing.ipynb#When-To-Stop-Fuzzing), [When To Stop Fuzzing (Discovery Probability Quantifies Residual Risk)](WhenToStopFuzzing.ipynb#Discovery-Probability-Quantifies-Residual-Risk) # * `restart()` — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `RestartExpansionException` class — [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing) # * `restarting_hillclimber()` — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `restart_expansion()` — [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion), [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing), [Fuzzing with Generators (Generators and Grammar Coverage)](GeneratorGrammarFuzzer.ipynb#Generators-and-Grammar-Coverage) # * `result()` — [Carving Unit Tests (Part 2: Access results)](Carver.ipynb#Part-2:-Access-results) # * `ResultCarver` class — [Carving Unit Tests (Exercises)](Carver.ipynb#Exercises), [Carving Unit Tests (Part 1: Store function results)](Carver.ipynb#Part-1:-Store-function-results), [Carving Unit Tests (Part 2: Access results)](Carver.ipynb#Part-2:-Access-results) # * results checker — [Getting Coverage (Finding Errors with Basic Fuzzing)](Coverage.ipynb#Finding-Errors-with-Basic-Fuzzing) # * return — [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations), [Mining Input Grammars (Tracking variable assignment locations)](GrammarMiner.ipynb#Tracking-variable-assignment-locations) # * `RE_EXTENDED_NONTERMINAL` — [Fuzzing with Grammars (Expanding Operators)](Grammars.ipynb#Expanding-Operators) # * `RE_NONTERMINAL` — [Fuzzing with Grammars (Some Definitions)](Grammars.ipynb#Some-Definitions) # * `RE_PARENTHESIZED_EXPR` — [Fuzzing with Grammars (Expanding Parenthesized Expressions)](Grammars.ipynb#Expanding-Parenthesized-Expressions) # * RFC 4180 — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * `right()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `RISKY_NUMBERS` — [Probabilistic Grammar Fuzzing (Exercise 2: Learning from Past Bugs)](ProbabilisticGrammarFuzzer.ipynb#Exercise-2:-Learning-from-Past-Bugs), [Probabilistic Grammar Fuzzing (Exercise 2: Learning from Past Bugs)](ProbabilisticGrammarFuzzer.ipynb#Exercise-2:-Learning-from-Past-Bugs) # * `rjust()` — [Tracking Information Flow (Justify)](InformationFlow.ipynb#Justify) # * `__rmod__()` — [Tracking Information Flow (mod)](InformationFlow.ipynb#mod) # * root node — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * `rootIsBlack()` — [Fuzzing: Breaking Things with Random Inputs (Program-Specific Checkers)](Fuzzer.ipynb#Program-Specific-Checkers) # * `roots()` — [Symbolic Fuzzing (Example: roots)](SymbolicFuzzer.ipynb#Example:-roots) # * `roots2()` — [Symbolic Fuzzing ( roots - take 2)](SymbolicFuzzer.ipynb#-roots---take-2) # * `roots3()` — [Symbolic Fuzzing ( roots - take 3)](SymbolicFuzzer.ipynb#-roots---take-3) # * `roots4()` — [Symbolic Fuzzing (roots - take 4)](SymbolicFuzzer.ipynb#roots---take-4) # * `round10()` — [Concolic Fuzzing (Round)](ConcolicFuzzer.ipynb#Round) # * `rpartition()` — [Tracking Information Flow (Partitions)](InformationFlow.ipynb#Partitions) # * `RR_GRAMMAR2` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `RR_GRAMMAR3` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `RR_GRAMMAR4` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `RR_GRAMMAR5` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `RR_GRAMMAR6` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `RR_GRAMMAR7` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `RR_GRAMMAR` — [Parsing Inputs (Recursion)](Parser.ipynb#Recursion), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `rsplit()` — [Tracking Information Flow (Split)](InformationFlow.ipynb#Split) # * `rstrip()` — [Tracking Information Flow (Strip)](InformationFlow.ipynb#Strip), [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends) # * rules — [Fuzzing with Grammars (Rules and Expansions)](Grammars.ipynb#Rules-and-Expansions) # * `rules()` — [Parsing Inputs (Nullable)](Parser.ipynb#Nullable), [Parsing Inputs (Part 1: A LL(1) Parsing Table)](Parser.ipynb#Part-1:-A-LL(1)-Parsing-Table) # * `run()` — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes), [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes), [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes), [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes), [Fuzzing: Breaking Things with Random Inputs (Exercise 2: Run Simulated Troff)](Fuzzer.ipynb#Exercise-2:-Run-Simulated-Troff), [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage), [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage), [Reducing Failure-Inducing Inputs (Why Reducing?)](Reducer.ipynb#Why-Reducing?), [Reducing Failure-Inducing Inputs (Lexical Reduction vs. Syntactic Rules)](Reducer.ipynb#Lexical-Reduction-vs.-Syntactic-Rules), [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options), [Testing Web Applications (Fuzzing with Unexpected Values)](WebFuzzer.ipynb#Fuzzing-with-Unexpected-Values), [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions), [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces), [When To Stop Fuzzing (Fuzzing the Enigma)](WhenToStopFuzzing.ipynb#Fuzzing-the-Enigma) # * `Runner` class — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # * `runs()` — [Fuzzing: Breaking Things with Random Inputs (Fuzzer Classes)](Fuzzer.ipynb#Fuzzer-Classes) # * `run_function()` — [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage), [Mutation-Based Fuzzing (Guiding by Coverage)](MutationFuzzer.ipynb#Guiding-by-Coverage) # * `run_generator()` — [Fuzzing with Generators (Support for Python Generators)](GeneratorGrammarFuzzer.ipynb#Support-for-Python-Generators) # * `run_httpd_forever()` — [Testing Web Applications (Running the Server)](WebFuzzer.ipynb#Running-the-Server) # * `run_post_functions()` — [Fuzzing with Generators (Checking and Repairing Elements after Expansion)](GeneratorGrammarFuzzer.ipynb#Checking-and-Repairing-Elements-after-Expansion) # * `run_post_functions_locally()` — [Fuzzing with Generators (Local Checking and Repairing)](GeneratorGrammarFuzzer.ipynb#Local-Checking-and-Repairing) # * `run_process()` — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes), [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # # ### S # # * S-EXP — [Concolic Fuzzing (Translating to the SMT Expression Format)](ConcolicFuzzer.ipynb#Translating-to-the-SMT-Expression-Format), [Concolic Fuzzing (Translating to the SMT Expression Format)](ConcolicFuzzer.ipynb#Translating-to-the-SMT-Expression-Format) # * sample coverage — [When To Stop Fuzzing (Turing's Observations)](WhenToStopFuzzing.ipynb#Turing's-Observations) # * `sample_db()` — [Tracking Information Flow (Representing Tables)](InformationFlow.ipynb#Representing-Tables) # * `SAMPLE_GRAMMAR` — [Parsing Inputs (The Earley Parser)](Parser.ipynb#The-Earley-Parser) # * sanitization — [Tracking Information Flow (Tracking Untrusted Input)](InformationFlow.ipynb#Tracking-Untrusted-Input) # * `sanitize()` — [Tracking Information Flow (Tracking Untrusted Input)](InformationFlow.ipynb#Tracking-Untrusted-Input) # * Save — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing), [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * Scalene — [Symbolic Fuzzing (The CFG with path taken)](SymbolicFuzzer.ipynb#The-CFG-with-path-taken) # * `scan()` — [Parsing Inputs (Scanning Tokens)](Parser.ipynb#Scanning-Tokens) # * scanner — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * scope — [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree) # * `ScopedGrammarMiner` class — [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining), [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining), [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining), [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining) # * `ScopedVars` class — [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `ScopeTracker` class — [Mining Input Grammars (Scope Tracker)](GrammarMiner.ipynb#Scope-Tracker), [Mining Input Grammars (Scope Tracker)](GrammarMiner.ipynb#Scope-Tracker) # * `ScopeTreeMiner` class — [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree) # * search — [Search-Based Fuzzing](SearchBasedFuzzer.ipynb#Search-Based-Fuzzing) # * search space — [Search-Based Fuzzing (Test Generation as a Search Problem)](SearchBasedFuzzer.ipynb#Test-Generation-as-a-Search-Problem) # * `SECRET_ORIGIN` — [Tracking Information Flow (Privacy Leaks Revisited)](InformationFlow.ipynb#Privacy-Leaks-Revisited), [Tracking Information Flow (Privacy Leaks Revisited)](InformationFlow.ipynb#Privacy-Leaks-Revisited), [Tracking Information Flow (Privacy Leaks Revisited)](InformationFlow.ipynb#Privacy-Leaks-Revisited) # * `SECRET` — [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins) # * seeds — [Fuzzing with Grammars (Grammars as Mutation Seeds)](Grammars.ipynb#Grammars-as-Mutation-Seeds) # * `selection()` — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * selective pressure — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * Selenium — [Testing Graphical User Interfaces (Automated GUI Interaction)](GUIFuzzer.ipynb#Automated-GUI-Interaction) # * Selenium tests — [Testing Graphical User Interfaces (Writing Test Cases)](GUIFuzzer.ipynb#Writing-Test-Cases) # * Selenium](https://www.seleniumhq.org) is a framework for testing Web applications by _automating interaction in the browser_. Selenium provides an API that allows one to launch a Web browser, query the state of the user interface, and interact with individual user interface elements. The Selenium API is available in a number of languages; we use the [Selenium API for Python — [Testing Graphical User Interfaces (Remote Control with Selenium)](GUIFuzzer.ipynb#Remote-Control-with-Selenium) # * `send_back()` — [Tracking Information Flow (Preventing Privacy Leaks)](InformationFlow.ipynb#Preventing-Privacy-Leaks) # * `send_order_form()` — [Testing Web Applications (Order Form)](WebFuzzer.ipynb#Order-Form) # * `send_order_received()` — [Testing Web Applications (Processing Orders)](WebFuzzer.ipynb#Processing-Orders), [Testing Web Applications (Part 2: Sanitized HTML)](WebFuzzer.ipynb#Part-2:-Sanitized-HTML) # * `send_terms_and_conditions()` — [Testing Web Applications (Order Form)](WebFuzzer.ipynb#Order-Form) # * `Sequence` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `seq_vars()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * session cookie — [Testing Web Applications (Cross-Site Scripting Attacks)](WebFuzzer.ipynb#Cross-Site-Scripting-Attacks) # * `__setitem__()` — [Mining Input Grammars (Vars)](GrammarMiner.ipynb#Vars) # * `set_arguments()` — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `set_expansion_probabilities()` — [Probabilistic Grammar Fuzzing (Assigning Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Assigning-Probabilities) # * `set_grammar()` — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `set_invocation()` — [Testing Configurations (Classes for Fuzzing Configuration Options)](ConfigurationFuzzer.ipynb#Classes-for-Fuzzing-Configuration-Options) # * `_set_kv()` — [Mining Input Grammars (Vars)](GrammarMiner.ipynb#Vars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * `set_opts()` — [Fuzzing with Grammars (Grammar Extensions)](Grammars.ipynb#Grammar-Extensions) # * `set_parents()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `set_prob()` — [Probabilistic Grammar Fuzzing (Directed Fuzzing)](ProbabilisticGrammarFuzzer.ipynb#Directed-Fuzzing) # * `set_probabilities()` — [Probabilistic Grammar Fuzzing (Assigning Probabilities)](ProbabilisticGrammarFuzzer.ipynb#Assigning-Probabilities) # * `SEXPR_TOKEN` — [Concolic Fuzzing (Using the Command Line)](ConcolicFuzzer.ipynb#Using-the-Command-Line) # * Shellsort — [Introduction to Software Testing (Exercise 1: Testing Shellsort)](Intro_Testing.ipynb#Exercise-1:-Testing-Shellsort) # * `shellsort()` — [Introduction to Software Testing (Exercise 1: Testing Shellsort)](Intro_Testing.ipynb#Exercise-1:-Testing-Shellsort) # * short-circuit evaluation — [Search-Based Fuzzing (Dealing with Complex Conditions)](SearchBasedFuzzer.ipynb#Dealing-with-Complex-Conditions) # * `show_coverage()` — [Symbolic Fuzzing (Visualizing the coverage obtained)](SymbolicFuzzer.ipynb#Visualizing-the-coverage-obtained) # * `show_diagram()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `show_table()` — [Parsing Inputs (Part 1: A LL(1) Parsing Table)](Parser.ipynb#Part-1:-A-LL(1)-Parsing-Table) # * Signatures — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * simple-crash — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * `SimpleConcolicFuzzer` class — [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints), [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints), [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints), [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints), [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints) # * `SimpleGrammarCoverageFuzzer` class — [Grammar Coverage (Covering Grammar Expansions)](GrammarCoverageFuzzer.ipynb#Covering-Grammar-Expansions), [Grammar Coverage (Covering Grammar Expansions)](GrammarCoverageFuzzer.ipynb#Covering-Grammar-Expansions) # * `SimpleHTTPRequestHandler` class — [Testing Web Applications (A Web User Interface)](WebFuzzer.ipynb#A-Web-User-Interface), [Testing Web Applications (Handling HTTP Requests)](WebFuzzer.ipynb#Handling-HTTP-Requests), [Testing Web Applications (Order Form)](WebFuzzer.ipynb#Order-Form), [Testing Web Applications (Order Form)](WebFuzzer.ipynb#Order-Form), [Testing Web Applications (Processing Orders)](WebFuzzer.ipynb#Processing-Orders), [Testing Web Applications (Processing Orders)](WebFuzzer.ipynb#Processing-Orders), [Testing Web Applications (Processing Orders)](WebFuzzer.ipynb#Processing-Orders), [Testing Web Applications (Processing Orders)](WebFuzzer.ipynb#Processing-Orders), [Testing Web Applications (Other HTTP commands)](WebFuzzer.ipynb#Other-HTTP-commands), [Testing Web Applications (Page Not Found)](WebFuzzer.ipynb#Page-Not-Found), [Testing Web Applications (Internal Errors)](WebFuzzer.ipynb#Internal-Errors), [Testing Web Applications (Logging)](WebFuzzer.ipynb#Logging) # * `SimpleSymbolicFuzzer` class — [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (SimpleSymbolicFuzzer)](SymbolicFuzzer.ipynb#SimpleSymbolicFuzzer), [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths), [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths), [Symbolic Fuzzing (extract_constraints)](SymbolicFuzzer.ipynb#extract_constraints), [Symbolic Fuzzing (Fuzzing with our simple fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-simple-fuzzer), [Symbolic Fuzzing (Fuzzing with our simple fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-simple-fuzzer), [Symbolic Fuzzing (Fuzzing with our simple fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-simple-fuzzer) # * `simple_call_string()` — [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Carving Unit Tests (Recording my_sqrt())](Carver.ipynb#Recording-my_sqrt()) # * `simple_grammar_fuzzer()` — [Fuzzing with Grammars (A Simple Grammar Fuzzer)](Grammars.ipynb#A-Simple-Grammar-Fuzzer) # * simply-buggy — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * single — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser), [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * single-alternative — [Parsing Inputs (The Earley Parser)](Parser.ipynb#The-Earley-Parser) # * singleton species — [When To Stop Fuzzing (Exercises)](WhenToStopFuzzing.ipynb#Exercises) # * sinks — [Tracking Information Flow (The Evil of Eval)](InformationFlow.ipynb#The-Evil-of-Eval) # * `Skip` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * SMT Solver — [Concolic Fuzzing (Concolic Execution)](ConcolicFuzzer.ipynb#Concolic-Execution) # * SMT solvers — [Concolic Fuzzing](ConcolicFuzzer.ipynb#Concolic-Fuzzing), [Symbolic Fuzzing](SymbolicFuzzer.ipynb#Symbolic-Fuzzing) # * SMT solver](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories) such as [z3 — [Symbolic Fuzzing (The control flow graph)](SymbolicFuzzer.ipynb#The-control-flow-graph) # * SMT-LIB — [Concolic Fuzzing (Translating to the SMT Expression Format)](ConcolicFuzzer.ipynb#Translating-to-the-SMT-Expression-Format) # * `smt_expr()` — [Concolic Fuzzing (Translating to the SMT Expression Format)](ConcolicFuzzer.ipynb#Translating-to-the-SMT-Expression-Format) # * `solve_path_constraint()` — [Symbolic Fuzzing (Fuzzing with our simple fuzzer)](SymbolicFuzzer.ipynb#Fuzzing-with-our-simple-fuzzer), [Symbolic Fuzzing (get_all_paths)](SymbolicFuzzer.ipynb#get_all_paths) # * `some_long_running_function()` — [Timer (Measuring Time)](Timer.ipynb#Measuring-Time) # * `sort_by_prob()` — [Probabilistic Grammar Fuzzing (Testing Uncommon Features)](ProbabilisticGrammarFuzzer.ipynb#Testing-Uncommon-Features) # * `source()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * sources — [Tracking Information Flow (The Evil of Eval)](InformationFlow.ipynb#The-Evil-of-Eval) # * `span()` — [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * specific — [Search-Based Fuzzing](SearchBasedFuzzer.ipynb#Search-Based-Fuzzing) # * `split()` — [Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)](Parser.ipynb#The-Packrat-Parser-for-Predicate-Expression-Grammars), [Tracking Information Flow (Split)](InformationFlow.ipynb#Split), [Concolic Fuzzing (Splitting Strings)](ConcolicFuzzer.ipynb#Splitting-Strings) # * `_split_helper()` — [Tracking Information Flow (Split)](InformationFlow.ipynb#Split) # * `_split_space()` — [Tracking Information Flow (Split)](InformationFlow.ipynb#Split) # * SQL commands — [Testing Web Applications (Storing Orders)](WebFuzzer.ipynb#Storing-Orders) # * SQL injection — [Testing Web Applications (SQL Injection Attacks)](WebFuzzer.ipynb#SQL-Injection-Attacks) # * `sql()` — [Tracking Information Flow (Executing SQL Statements)](InformationFlow.ipynb#Executing-SQL-Statements), [Tracking Information Flow (Tracking Untrusted Input)](InformationFlow.ipynb#Tracking-Untrusted-Input) # * `SQLException` class — [Tracking Information Flow (A Vulnerable Database)](InformationFlow.ipynb#A-Vulnerable-Database) # * `SQLInjectionFuzzer` class — [Testing Web Applications (Fully Automatic Web Attacks)](WebFuzzer.ipynb#Fully-Automatic-Web-Attacks) # * `SQLInjectionGrammarMiner` class — [Testing Web Applications (Fully Automatic Web Attacks)](WebFuzzer.ipynb#Fully-Automatic-Web-Attacks) # * `sqrt()` — [Symbolic Fuzzing (Concolic Execution with PyExZ3)](SymbolicFuzzer.ipynb#Concolic-Execution-with-PyExZ3), [Symbolic Fuzzing (roots - take 4)](SymbolicFuzzer.ipynb#roots---take-4) # * `sqrt_program()` — [Introduction to Software Testing (System Input vs Function Input)](Intro_Testing.ipynb#System-Input-vs-Function-Input), [Introduction to Software Testing (System Input vs Function Input)](Intro_Testing.ipynb#System-Input-vs-Function-Input), [Introduction to Software Testing (System Input vs Function Input)](Intro_Testing.ipynb#System-Input-vs-Function-Input) # * `srange()` — [Fuzzing with Grammars (Character Classes)](Grammars.ipynb#Character-Classes) # * stackFrames — [Practical Steps with FuzzManager (Basic Crash Processing)](FuzzingInTheLarge.ipynb#Basic-Crash-Processing) # * `stack_to_tree()` — [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack) # * `Stack` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * STADS: Software Testing as Species Discovery — [When To Stop Fuzzing (Background)](WhenToStopFuzzing.ipynb#Background) # * start symbol — [Fuzzing with Grammars (Rules and Expansions)](Grammars.ipynb#Rules-and-Expansions), [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * `startswith()` — [Concolic Fuzzing (Checking for String Prefixes)](ConcolicFuzzer.ipynb#Checking-for-String-Prefixes) # * `start_httpd()` — [Testing Web Applications (Running the Server)](WebFuzzer.ipynb#Running-the-Server) # * `START_STATE` — [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # * `start_symbol()` — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * `START_SYMBOL` — [Fuzzing with Grammars (Some Definitions)](Grammars.ipynb#Some-Definitions) # * `Start` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * state — [Testing Graphical User Interfaces (All Together)](GUIFuzzer.ipynb#All-Together) # * Statement coverage — [Getting Coverage (White-Box Testing)](Coverage.ipynb#White-Box-Testing) # * states — [Testing Graphical User Interfaces (User Interfaces as Finite State Machines)](GUIFuzzer.ipynb#User-Interfaces-as-Finite-State-Machines) # * `State` class — [Parsing Inputs (States)](Parser.ipynb#States) # * steepest ascent hillclimbing — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `steepest_ascent_hillclimber()` — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `store_order()` — [Testing Web Applications (Processing Orders)](WebFuzzer.ipynb#Processing-Orders), [Testing Web Applications (Part 3: Sanitized SQL)](WebFuzzer.ipynb#Part-3:-Sanitized-SQL) # * String — [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining) # * string inclusion — [Mining Input Grammars (Exercise 2: Incorporating Taints from InformationFlow)](GrammarMiner.ipynb#Exercise-2:-Incorporating-Taints-from-InformationFlow) # * `strip()` — [Tracking Information Flow (Strip)](InformationFlow.ipynb#Strip), [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends) # * `strip_all_info()` — [Tracking Information Flow (Conversions)](InformationFlow.ipynb#Conversions) # * `strip_all_info_again()` — [Tracking Information Flow (Implicit Information Flow)](InformationFlow.ipynb#Implicit-Information-Flow) # * `STROKE_ODD_PIXEL_LENGTH` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `__str__()` — [Parsing Inputs (Columns)](Parser.ipynb#Columns), [Parsing Inputs (States)](Parser.ipynb#States), [Mining Input Grammars (CallStack)](GrammarMiner.ipynb#CallStack), [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (Taint Aware Fuzzing)](InformationFlow.ipynb#Taint-Aware-Fuzzing), [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (Part 3: Passing taints from integers to strings)](InformationFlow.ipynb#Part-3:-Passing-taints-from-integers-to-strings), [Symbolic Fuzzing (get_path_to_root)](SymbolicFuzzer.ipynb#get_path_to_root), [Error Handling (Catching Timeouts)](ExpectError.ipynb#Catching-Timeouts), [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `Style` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * subclasses — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes) # * `submit()` — [Testing Graphical User Interfaces (Executing User Interface Actions)](GUIFuzzer.ipynb#Executing-User-Interface-Actions) # * `subtrees_with_symbol()` — [Reducing Failure-Inducing Inputs (Finding Subtrees)](Reducer.ipynb#Finding-Subtrees) # * `sum3()` — [Mining Function Specifications (All Together)](DynamicInvariants.ipynb#All-Together) # * `supported_opts()` — [Efficient Grammar Fuzzing (Expanding a Node)](GrammarFuzzer.ipynb#Expanding-a-Node), [Probabilistic Grammar Fuzzing (Expanding by Probability)](ProbabilisticGrammarFuzzer.ipynb#Expanding-by-Probability), [Fuzzing with Generators (A Class for Integrating Constraints)](GeneratorGrammarFuzzer.ipynb#A-Class-for-Integrating-Constraints), [Fuzzing with Generators (Generators and Probabilistic Fuzzing)](GeneratorGrammarFuzzer.ipynb#Generators-and-Probabilistic-Fuzzing), [Fuzzing with Generators (Generators and Grammar Coverage)](GeneratorGrammarFuzzer.ipynb#Generators-and-Grammar-Coverage) # * `swapcase()` — [Tracking Information Flow (String methods that do not change origin)](InformationFlow.ipynb#String-methods-that-do-not-change-origin) # * symbol table — [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses) # * symbolic — [Symbolic Fuzzing (can_be_satisfied)](SymbolicFuzzer.ipynb#can_be_satisfied) # * symbolic fuzzer — [Symbolic Fuzzing (Symbolic Execution)](SymbolicFuzzer.ipynb#Symbolic-Execution) # * symbolic shadow variables — [Concolic Fuzzing (SMT Solvers)](ConcolicFuzzer.ipynb#SMT-Solvers) # * symbolically — [Symbolic Fuzzing (Symbolic Execution)](SymbolicFuzzer.ipynb#Symbolic-Execution) # * `symbol_cost()` — [Efficient Grammar Fuzzing (Closing the Expansion)](GrammarFuzzer.ipynb#Closing-the-Expansion) # * `SYMBOL_NAME` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `symbol_reductions()` — [Reducing Failure-Inducing Inputs (Both Strategies Together)](Reducer.ipynb#Both-Strategies-Together) # * `SYMBOL_TABLE` — [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses), [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses) # * `sym_to_float()` — [Symbolic Fuzzing (Example: roots)](SymbolicFuzzer.ipynb#Example:-roots) # * syntactical structure — [Fuzzing with Grammars (Grammars)](Grammars.ipynb#Grammars) # * `syntax_diagram()` — [Fuzzing with Grammars (Visualizing Grammars as Railroad Diagrams)](Grammars.ipynb#Visualizing-Grammars-as-Railroad-Diagrams) # * `syntax_diagram_alt()` — [Fuzzing with Grammars (Visualizing Grammars as Railroad Diagrams)](Grammars.ipynb#Visualizing-Grammars-as-Railroad-Diagrams) # * `syntax_diagram_expr()` — [Fuzzing with Grammars (Visualizing Grammars as Railroad Diagrams)](Grammars.ipynb#Visualizing-Grammars-as-Railroad-Diagrams) # * `syntax_diagram_symbol()` — [Fuzzing with Grammars (Visualizing Grammars as Railroad Diagrams)](Grammars.ipynb#Visualizing-Grammars-as-Railroad-Diagrams) # * system input — [Introduction to Software Testing (System Input vs Function Input)](Intro_Testing.ipynb#System-Input-vs-Function-Input) # # ### T # # * `_t()` — [Parsing Inputs (States)](Parser.ipynb#States), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context) # * `table()` — [Tracking Information Flow (Representing Tables)](InformationFlow.ipynb#Representing-Tables), [Concolic Fuzzing (Database)](ConcolicFuzzer.ipynb#Database) # * taint — [Tracking Information Flow (The Evil of Eval)](InformationFlow.ipynb#The-Evil-of-Eval) # * taint sanitizers — [Tracking Information Flow (The Evil of Eval)](InformationFlow.ipynb#The-Evil-of-Eval) # * `TaintedDB` class — [Tracking Information Flow (TaintedDB)](InformationFlow.ipynb#TaintedDB) # * `TaintedGrammarFuzzer` class — [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer) # * `Tainted` class — [Tracking Information Flow (Taint Aware Fuzzing)](InformationFlow.ipynb#Taint-Aware-Fuzzing) # * terminal symbol — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees) # * `terminals()` — [Parsing Inputs (Nullable)](Parser.ipynb#Nullable) # * `terminal_repr()` — [Search-Based Fuzzing (Evolutionary Search)](SearchBasedFuzzer.ipynb#Evolutionary-Search) # * `Terminal` class — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * test — [Introduction to Software Testing (Running a Function)](Intro_Testing.ipynb#Running-a-Function) # * `test()` — [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging), [Reducing Failure-Inducing Inputs (Delta Debugging)](Reducer.ipynb#Delta-Debugging) # * `test_me()` — [Search-Based Fuzzing (Representing program inputs as a search problem)](SearchBasedFuzzer.ipynb#Representing-program-inputs-as-a-search-problem) # * `test_me2()` — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `test_me2_instrumented()` — [Search-Based Fuzzing (Hillclimbing the example)](SearchBasedFuzzer.ipynb#Hillclimbing-the-example) # * `test_me_instrumented()` — [Search-Based Fuzzing (Instrumentation)](SearchBasedFuzzer.ipynb#Instrumentation), [Search-Based Fuzzing (Instrumentation)](SearchBasedFuzzer.ipynb#Instrumentation) # * `test_successful_order()` — [Testing Graphical User Interfaces (Writing Test Cases)](GUIFuzzer.ipynb#Writing-Test-Cases) # * the ConfigParser documentation — [Testing Configurations (Exercise 2: .ini Configuration Fuzzing)](ConfigurationFuzzer.ipynb#Exercise-2:-.ini-Configuration-Fuzzing) # * this — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * this article — [Probabilistic Grammar Fuzzing (Background)](ProbabilisticGrammarFuzzer.ipynb#Background) # * throw away the result — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `Timer` class — [Timer (Measuring Time)](Timer.ipynb#Measuring-Time) # * `tint` class — [Tracking Information Flow (Part 1: Creation)](InformationFlow.ipynb#Part-1:-Creation), [Tracking Information Flow (Part 2: Arithmetic expressions)](InformationFlow.ipynb#Part-2:-Arithmetic-expressions), [Tracking Information Flow (Part 3: Passing taints from integers to strings)](InformationFlow.ipynb#Part-3:-Passing-taints-from-integers-to-strings), [Tracking Information Flow (Part 3: Passing taints from integers to strings)](InformationFlow.ipynb#Part-3:-Passing-taints-from-integers-to-strings), [Tracking Information Flow (Part 4: Passing taints from integers to strings)](InformationFlow.ipynb#Part-4:-Passing-taints-from-integers-to-strings) # * `title()` — [Tracking Information Flow (String methods that do not change origin)](InformationFlow.ipynb#String-methods-that-do-not-change-origin) # * `TITLE_GRAMMAR` — [Fuzzing with Grammars (A Natural Language Grammar)](Grammars.ipynb#A-Natural-Language-Grammar) # * `tokenize()` — [Parsing Inputs (The Packrat Parser for Predicate Expression Grammars)](Parser.ipynb#The-Packrat-Parser-for-Predicate-Expression-Grammars) # * tokenizer — [Parsing Inputs (Ambiguity)](Parser.ipynb#Ambiguity) # * top to bottom — [Parsing Inputs (An Ad Hoc Parser)](Parser.ipynb#An-Ad-Hoc-Parser) # * topmost — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * tournament selection — [Search-Based Fuzzing (Genetic Algorithms)](SearchBasedFuzzer.ipynb#Genetic-Algorithms) # * `to_graph()` — [Control Flow Graph (Supporting Functions)](ControlFlow.ipynb#Supporting-Functions) # * `to_json()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode) # * `to_nonterminal()` — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree) # * `to_num()` — [Concolic Fuzzing (Fuzzing with Constraints)](ConcolicFuzzer.ipynb#Fuzzing-with-Constraints) # * `to_single_assignment_predicates()` — [Symbolic Fuzzing (to_single_assignment_predicates)](SymbolicFuzzer.ipynb#to_single_assignment_predicates) # * `to_src()` — [Symbolic Fuzzing (prefix_vars)](SymbolicFuzzer.ipynb#prefix_vars) # * `trace()` — [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class) # * `traceit()` — [Getting Coverage (Tracing Executions)](Coverage.ipynb#Tracing-Executions), [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class), [Mining Input Grammars (Tracer)](GrammarMiner.ipynb#Tracer), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Concolic Fuzzing (Tracking Constraints)](ConcolicFuzzer.ipynb#Tracking-Constraints), [Symbolic Fuzzing (The control flow graph)](SymbolicFuzzer.ipynb#The-control-flow-graph), [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls), [Testing Configurations (Tracking Arguments)](ConfigurationFuzzer.ipynb#Tracking-Arguments), [Testing Configurations (Tracking Arguments)](ConfigurationFuzzer.ipynb#Tracking-Arguments), [Testing Configurations (A Grammar Miner for Options and Arguments)](ConfigurationFuzzer.ipynb#A-Grammar-Miner-for-Options-and-Arguments), [Carving Unit Tests (Recording Calls)](Carver.ipynb#Recording-Calls), [Carving Unit Tests (Exercises)](Carver.ipynb#Exercises), [Carving Unit Tests (Part 1: Store function results)](Carver.ipynb#Part-1:-Store-function-results) # * `Tracer` class — [Mining Input Grammars (Tracer)](GrammarMiner.ipynb#Tracer), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context), [Symbolic Fuzzing (The control flow graph)](SymbolicFuzzer.ipynb#The-control-flow-graph), [Symbolic Fuzzing (Visualizing the coverage obtained)](SymbolicFuzzer.ipynb#Visualizing-the-coverage-obtained), [Symbolic Fuzzing (ConcolicFuzzer)](SymbolicFuzzer.ipynb#ConcolicFuzzer) # * `trace_call()` — [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls) # * `trace_return()` — [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls) # * tracing function — [Getting Coverage (Tracing Executions)](Coverage.ipynb#Tracing-Executions) # * `tracing_context()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context) # * `tracing_var()` — [Mining Input Grammars (Context)](GrammarMiner.ipynb#Context) # * `Tracker` class — [Mining Function Specifications (Tracking Calls)](DynamicInvariants.ipynb#Tracking-Calls) # * `TrackingConfigParser` class — [Testing Configurations (Part 3: Mine a Configuration Grammar)](ConfigurationFuzzer.ipynb#Part-3:-Mine-a-Configuration-Grammar) # * `TrackingDB` class — [Tracking Information Flow (TrackingDB)](InformationFlow.ipynb#TrackingDB) # * `TrackingGrammarCoverageFuzzer` class — [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage), [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage), [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage), [Grammar Coverage (Tracking Grammar Coverage)](GrammarCoverageFuzzer.ipynb#Tracking-Grammar-Coverage) # * `track_event()` — [Mining Input Grammars (DefineTracker)](GrammarMiner.ipynb#DefineTracker), [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * transitive — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `traverse_constraints()` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `traverse_tree()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees), [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer) # * `traverse_z3()` — [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * tree — [Efficient Grammar Fuzzing (Derivation Trees)](GrammarFuzzer.ipynb#Derivation-Trees) # * `TreeMiner` class — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Recovering a Derivation Tree)](GrammarMiner.ipynb#Recovering-a-Derivation-Tree) # * `tree_list_to_string()` — [Reducing Failure-Inducing Inputs (A Few Helpers)](Reducer.ipynb#A-Few-Helpers) # * `tree_to_grammar()` — [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees), [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining) # * `tree_to_string()` — [Efficient Grammar Fuzzing (Representing Derivation Trees)](GrammarFuzzer.ipynb#Representing-Derivation-Trees), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer), [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * `tree_type()` — [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer) # * `triangle()` — [Concolic Fuzzing (Translating to the SMT Expression Format)](ConcolicFuzzer.ipynb#Translating-to-the-SMT-Expression-Format) # * trigram — [When To Stop Fuzzing (The Enigma Machine)](WhenToStopFuzzing.ipynb#The-Enigma-Machine) # * `TroffRunner` class — [Fuzzing: Breaking Things with Random Inputs (Exercise 2: Run Simulated Troff)](Fuzzer.ipynb#Exercise-2:-Run-Simulated-Troff) # * `TrustedDB` class — [Tracking Information Flow (Tracking Untrusted Input)](InformationFlow.ipynb#Tracking-Untrusted-Input) # * `TRUSTED` — [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins) # * `TState` class — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * `tstr1()` — [Concolic Fuzzing (Equality between Strings)](ConcolicFuzzer.ipynb#Equality-between-Strings), [Concolic Fuzzing (Equality between Strings)](ConcolicFuzzer.ipynb#Equality-between-Strings) # * `tstr10()` — [Concolic Fuzzing (Splitting Strings)](ConcolicFuzzer.ipynb#Splitting-Strings) # * `tstr2()` — [Concolic Fuzzing (An Iterator Class for Strings)](ConcolicFuzzer.ipynb#An-Iterator-Class-for-Strings) # * `tstr3()` — [Concolic Fuzzing (Translating to Upper and Lower Equivalents)](ConcolicFuzzer.ipynb#Translating-to-Upper-and-Lower-Equivalents) # * `tstr4()` — [Concolic Fuzzing (Translating to Upper and Lower Equivalents)](ConcolicFuzzer.ipynb#Translating-to-Upper-and-Lower-Equivalents) # * `tstr5()` — [Concolic Fuzzing (Checking for String Prefixes)](ConcolicFuzzer.ipynb#Checking-for-String-Prefixes) # * `tstr6()` — [Concolic Fuzzing (Finding Substrings)](ConcolicFuzzer.ipynb#Finding-Substrings) # * `tstr7()` — [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends) # * `tstr8()` — [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends) # * `tstr9()` — [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends) # * `tstr` class — [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (A Class for Tainted Strings)](InformationFlow.ipynb#A-Class-for-Tainted-Strings), [Tracking Information Flow (String Operators)](InformationFlow.ipynb#String-Operators), [Tracking Information Flow (String Operators)](InformationFlow.ipynb#String-Operators) # * Turing machines — [Fuzzing with Grammars (Input Languages)](Grammars.ipynb#Input-Languages) # * twice — [Search-Based Fuzzing (Dealing with Complex Conditions)](SearchBasedFuzzer.ipynb#Dealing-with-Complex-Conditions) # * `twice()` — [Testing Configurations (Creating Autopep8 Options)](ConfigurationFuzzer.ipynb#Creating-Autopep8-Options) # * two — [Symbolic Fuzzing (Function summaries)](SymbolicFuzzer.ipynb#Function-summaries), [When To Stop Fuzzing (Measuring Trace Coverage over Time)](WhenToStopFuzzing.ipynb#Measuring-Trace-Coverage-over-Time) # * `TypeAnnotator` class — [Mining Function Specifications (All Together)](DynamicInvariants.ipynb#All-Together) # * `typed_functions()` — [Mining Function Specifications (All Together)](DynamicInvariants.ipynb#All-Together) # * `typed_functions_ast()` — [Mining Function Specifications (All Together)](DynamicInvariants.ipynb#All-Together) # * types — [Mining Function Specifications (Mining Type Specifications)](DynamicInvariants.ipynb#Mining-Type-Specifications) # * `TypeTransformer` class — [Mining Function Specifications (Annotating Functions)](DynamicInvariants.ipynb#Annotating-Functions), [Mining Function Specifications (Annotating Functions)](DynamicInvariants.ipynb#Annotating-Functions), [Mining Function Specifications (Annotating Functions)](DynamicInvariants.ipynb#Annotating-Functions) # * `type_string()` — [Mining Function Specifications (All Together)](DynamicInvariants.ipynb#All-Together) # # ## U - Z # ### U # # * `UNEXPLORED_STATE` — [Testing Graphical User Interfaces (Retrieving State Grammars)](GUIFuzzer.ipynb#Retrieving-State-Grammars) # * `unhack()` — [Control Flow Graph (Supporting Functions)](ControlFlow.ipynb#Supporting-Functions) # * `unicode_string_neighbours()` — [Search-Based Fuzzing (Evolutionary Search)](SearchBasedFuzzer.ipynb#Evolutionary-Search) # * `unify_key()` — [Parsing Inputs (Unify Key)](Parser.ipynb#Unify-Key), [Parsing Inputs (Unify Rule)](Parser.ipynb#Unify-Rule), [Parsing Inputs (Exercise 1: An Alternative Packrat)](Parser.ipynb#Exercise-1:-An-Alternative-Packrat) # * `unify_rule()` — [Parsing Inputs (Unify Rule)](Parser.ipynb#Unify-Rule), [Parsing Inputs (Exercise 1: An Alternative Packrat)](Parser.ipynb#Exercise-1:-An-Alternative-Packrat) # * `uniq_postdot()` — [Parsing Inputs (Exercise 5: Leo Parser)](Parser.ipynb#Exercise-5:-Leo-Parser) # * universal grammars — [Fuzzing with Grammars (Input Languages)](Grammars.ipynb#Input-Languages) # * `UNKNOWN_ORIGIN` — [Tracking Information Flow (A Class for Tracking Character Origins)](InformationFlow.ipynb#A-Class-for-Tracking-Character-Origins), [Tracking Information Flow (Privacy Leaks Revisited)](InformationFlow.ipynb#Privacy-Leaks-Revisited) # * unparse — [Symbolic Fuzzing (prefix_vars)](SymbolicFuzzer.ipynb#prefix_vars) # * `unreachable_nonterminals()` — [Fuzzing with Grammars (Checking Grammars)](Grammars.ipynb#Checking-Grammars) # * `UNRESOLVED` — [Fuzzing: Breaking Things with Random Inputs (Runner Classes)](Fuzzer.ipynb#Runner-Classes), [Reducing Failure-Inducing Inputs (The Reduction Strategy)](Reducer.ipynb#The-Reduction-Strategy) # * unroll — [Symbolic Fuzzing (can_be_satisfied)](SymbolicFuzzer.ipynb#can_be_satisfied) # * unrolling of loops — [Symbolic Fuzzing (Advanced Symbolic Fuzzer)](SymbolicFuzzer.ipynb#Advanced-Symbolic-Fuzzer) # * `UNTRUSTED` — [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins), [Tracking Information Flow (Tracking Character Origins)](InformationFlow.ipynb#Tracking-Character-Origins) # * `unwrap_substrings()` — [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * `up()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `update()` — [Mining Input Grammars (Vars)](GrammarMiner.ipynb#Vars), [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `update_cache()` — [Parsing Inputs (Fuzzing a Simple Program)](Parser.ipynb#Fuzzing-a-Simple-Program) # * `update_children()` — [Control Flow Graph (CFGNode)](ControlFlow.ipynb#CFGNode), [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `update_existing_state()` — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `update_functions()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * `update_grammar()` — [Mining Input Grammars (Recovering Grammars from Derivation Trees)](GrammarMiner.ipynb#Recovering-Grammars-from-Derivation-Trees), [Mining Input Grammars (Recover Grammar)](GrammarMiner.ipynb#Recover-Grammar), [Mining Input Grammars (Grammar Mining)](GrammarMiner.ipynb#Grammar-Mining), [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer), [Concolic Fuzzing (All together)](ConcolicFuzzer.ipynb#All-together) # * `update_inventory()` — [Tracking Information Flow (All Methods Together)](InformationFlow.ipynb#All-Methods-Together) # * `update_maps()` — [Search-Based Fuzzing (Instrumentation for Atomic Conditions)](SearchBasedFuzzer.ipynb#Instrumentation-for-Atomic-Conditions) # * `update_new_state()` — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `update_state()` — [Testing Graphical User Interfaces (Exploring User Interfaces)](GUIFuzzer.ipynb#Exploring-User-Interfaces) # * `update_tree()` — [Tracking Information Flow (TaintedGrammarFuzzer)](InformationFlow.ipynb#TaintedGrammarFuzzer) # * `upper()` — [Tracking Information Flow (String methods that do not change origin)](InformationFlow.ipynb#String-methods-that-do-not-change-origin), [Concolic Fuzzing (Translating to Upper and Lower Equivalents)](ConcolicFuzzer.ipynb#Translating-to-Upper-and-Lower-Equivalents) # * urllib/parse.py — [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * `URLPARSE_C_GRAMMAR` — [Fuzzing APIs (Synthesizing Code)](APIFuzzer.ipynb#Synthesizing-Code) # * `URLPARSE_GRAMMAR` — [Fuzzing APIs (Synthesizing Code)](APIFuzzer.ipynb#Synthesizing-Code) # * `URLPARSE_ORACLE_GRAMMAR` — [Fuzzing APIs (Synthesizing Oracles)](APIFuzzer.ipynb#Synthesizing-Oracles), [Fuzzing APIs (Synthesizing Oracles)](APIFuzzer.ipynb#Synthesizing-Oracles), [Fuzzing APIs (Exercise 1: Deep Arguments)](APIFuzzer.ipynb#Exercise-1:-Deep-Arguments) # * `URLS_X` — [Mining Input Grammars (Problems with the Simple Miner)](GrammarMiner.ipynb#Problems-with-the-Simple-Miner) # * `URLS` — [Mining Input Grammars (Example 2. Recovering URL Grammar)](GrammarMiner.ipynb#Example-2.-Recovering-URL-Grammar) # * `URL_GRAMMAR` — [Fuzzing with Grammars (A URL Grammar)](Grammars.ipynb#A-URL-Grammar) # * `url_parse()` — [Mining Input Grammars (Example 2. Recovering URL Grammar)](GrammarMiner.ipynb#Example-2.-Recovering-URL-Grammar) # * `URL_SAMPLE` — [Probabilistic Grammar Fuzzing (Testing Common Features)](ProbabilisticGrammarFuzzer.ipynb#Testing-Common-Features) # * `URL_TOKENS` — [Probabilistic Grammar Fuzzing (Testing Common Features)](ProbabilisticGrammarFuzzer.ipynb#Testing-Common-Features) # * `used_vars()` — [Symbolic Fuzzing (extract_constraints)](SymbolicFuzzer.ipynb#extract_constraints) # * user interface elements — [Testing Graphical User Interfaces (Remote Control with Selenium)](GUIFuzzer.ipynb#Remote-Control-with-Selenium) # * `use_id()` — [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses) # # ### V # # * `v()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `V1` — [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree), [Mining Input Grammars (Assembling a Derivation Tree)](GrammarMiner.ipynb#Assembling-a-Derivation-Tree) # * `valid_luhn_checksum()` — [Fuzzing with Generators (Functions Called After Expansion)](GeneratorGrammarFuzzer.ipynb#Functions-Called-After-Expansion) # * `VALUES` — [Tracking Information Flow (Inserting Data)](InformationFlow.ipynb#Inserting-Data) # * `VARIABLE` — [Getting Coverage (A Coverage Class)](Coverage.ipynb#A-Coverage-Class) # * `Vars` class — [Mining Input Grammars (Vars)](GrammarMiner.ipynb#Vars), [Mining Input Grammars (Vars)](GrammarMiner.ipynb#Vars) # * `var_access()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `var_assign()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `VAR_GRAMMAR` — [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer), [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses), [Fuzzing with Generators (Definitions and Uses)](GeneratorGrammarFuzzer.ipynb#Definitions-and-Uses) # * `var_location_register()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * `var_name()` — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars), [Mining Input Grammars (ScopedVars)](GrammarMiner.ipynb#ScopedVars) # * `var_symbol()` — [Carving Unit Tests (A Grammar from Arguments)](Carver.ipynb#A-Grammar-from-Arguments) # * `VAR_TOKENS` — [Fuzzing with Input Fragments (A Grammar-based Mutational Fuzzer)](LangFuzzer.ipynb#A-Grammar-based-Mutational-Fuzzer) # * `VEHICLES` — [Mining Input Grammars (A Simple Grammar Miner)](GrammarMiner.ipynb#A-Simple-Grammar-Miner), [Tracking Information Flow (All Methods Together)](InformationFlow.ipynb#All-Methods-Together) # * `Vehicle` class — [Mining Input Grammars (Exercise 1: Flattening complex objects)](GrammarMiner.ipynb#Exercise-1:-Flattening-complex-objects) # * virtual variable — [Mining Input Grammars (AssignmentTracker)](GrammarMiner.ipynb#AssignmentTracker) # * `visit_Compare()` — [Search-Based Fuzzing (Instrumenting Source Code Automatically)](SearchBasedFuzzer.ipynb#Instrumenting-Source-Code-Automatically) # * `visit_Expr()` — [Mining Function Specifications (Annotating Functions)](DynamicInvariants.ipynb#Annotating-Functions) # * `visit_FunctionDef()` — [Search-Based Fuzzing (Instrumenting Source Code Automatically)](SearchBasedFuzzer.ipynb#Instrumenting-Source-Code-Automatically), [Mining Function Specifications (Annotating Functions)](DynamicInvariants.ipynb#Annotating-Functions) # * `VS` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # # ### W # # * `walk()` — [Control Flow Graph (PyCFG)](ControlFlow.ipynb#PyCFG) # * web driver — [Testing Graphical User Interfaces (Remote Control with Selenium)](GUIFuzzer.ipynb#Remote-Control-with-Selenium) # * `webbrowser()` — [Carving Unit Tests (System Tests vs Unit Tests)](Carver.ipynb#System-Tests-vs-Unit-Tests), [Testing Web Applications (Logging)](WebFuzzer.ipynb#Logging) # * `WebFormFuzzer` class — [Testing Web Applications (A Fuzzer for Web Forms)](WebFuzzer.ipynb#A-Fuzzer-for-Web-Forms) # * `WebRunner` class — [Testing Web Applications (Fuzzing with Unexpected Values)](WebFuzzer.ipynb#Fuzzing-with-Unexpected-Values) # * weight — [When To Stop Fuzzing (The Kenngruppenbuch)](WhenToStopFuzzing.ipynb#The-Kenngruppenbuch) # * `WHERE` — [Tracking Information Flow (Deleting Data)](InformationFlow.ipynb#Deleting-Data) # * white-box testing — [Getting Coverage (White-Box Testing)](Coverage.ipynb#White-Box-Testing) # * Wikipedia page on file formats — [Fuzzing with Grammars (Input Languages)](Grammars.ipynb#Input-Languages) # * Wikipedia page on penetration testing — [Testing Web Applications (Background)](WebFuzzer.ipynb#Background) # * Wikipedia pages on Web application security — [Testing Web Applications (Background)](WebFuzzer.ipynb#Background) # * within this method — [Mining Input Grammars (AssignmentVars)](GrammarMiner.ipynb#AssignmentVars) # * `wrapString()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `writeSvg()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams), [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # # ### X # # * `x()` — [Tracking Information Flow (Extract Origin String)](InformationFlow.ipynb#Extract-Origin-String) # * XKCD comic — [Fuzzing: Breaking Things with Random Inputs (Checking Memory Accesses)](Fuzzer.ipynb#Checking-Memory-Accesses) # * XML documents — [Fuzzing with Generators (Example: Matching XML Tags)](GeneratorGrammarFuzzer.ipynb#Example:-Matching-XML-Tags) # * `XML_GRAMMAR` — [Fuzzing with Generators (Example: Matching XML Tags)](GeneratorGrammarFuzzer.ipynb#Example:-Matching-XML-Tags) # * `XML_UNICODE_WCHAR_T` — [Testing Configurations (Part 3: C Preprocessor Configuration Fuzzing)](ConfigurationFuzzer.ipynb#Part-3:-C-Preprocessor-Configuration-Fuzzing) # * XSS — [Testing Web Applications (Cross-Site Scripting Attacks)](WebFuzzer.ipynb#Cross-Site-Scripting-Attacks) # # ### Z # # * `z3_as_string()` — [Concolic Fuzzing (ConcolicGrammarFuzzer)](ConcolicFuzzer.ipynb#ConcolicGrammarFuzzer) # * `Z3` — [Concolic Fuzzing (SMT Solvers)](ConcolicFuzzer.ipynb#SMT-Solvers) # * `zbool` class — [Concolic Fuzzing (A Proxy Class for Booleans)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Booleans), [Concolic Fuzzing (Negation of Encoded formula)](ConcolicFuzzer.ipynb#Negation-of-Encoded-formula), [Concolic Fuzzing (Registering Predicates on Conditionals)](ConcolicFuzzer.ipynb#Registering-Predicates-on-Conditionals) # * `zchr()` — [Concolic Fuzzing (Translating an Ordinal Value to ASCII)](ConcolicFuzzer.ipynb#Translating-an-Ordinal-Value-to-ASCII) # * `ZeroOrMore()` — [Railroad Diagrams](RailroadDiagrams.ipynb#Railroad-Diagrams) # * `zeval()` — [Concolic Fuzzing (Evaluating the Concolic Expressions)](ConcolicFuzzer.ipynb#Evaluating-the-Concolic-Expressions) # * `zeval_py()` — [Concolic Fuzzing (Using the Python API)](ConcolicFuzzer.ipynb#Using-the-Python-API) # * `zeval_smt()` — [Concolic Fuzzing (Using the Command Line)](ConcolicFuzzer.ipynb#Using-the-Command-Line) # * `zfloat` class — [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) # * `zint` class — [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers), [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers), [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers), [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers), [Concolic Fuzzing (Equality between Integers)](ConcolicFuzzer.ipynb#Equality-between-Integers), [Concolic Fuzzing (Equality between Integers)](ConcolicFuzzer.ipynb#Equality-between-Integers), [Concolic Fuzzing (Comparisons between Integers)](ConcolicFuzzer.ipynb#Comparisons-between-Integers), [Concolic Fuzzing (Comparisons between Integers)](ConcolicFuzzer.ipynb#Comparisons-between-Integers), [Concolic Fuzzing (Using an Integer in a Boolean Context)](ConcolicFuzzer.ipynb#Using-an-Integer-in-a-Boolean-Context), [Concolic Fuzzing (Exercise 2: Bit Manipulation)](ConcolicFuzzer.ipynb#Exercise-2:-Bit-Manipulation) # * `ZOOM` — [Testing Graphical User Interfaces (Remote Control with Selenium)](GUIFuzzer.ipynb#Remote-Control-with-Selenium) # * `zord()` — [Concolic Fuzzing (Retrieving Ordinal Value)](ConcolicFuzzer.ipynb#Retrieving-Ordinal-Value) # * `zproxy_create()` — [Concolic Fuzzing (Concolic Proxy Objects)](ConcolicFuzzer.ipynb#Concolic-Proxy-Objects) # * `zstr_iterator` class — [Concolic Fuzzing (An Iterator Class for Strings)](ConcolicFuzzer.ipynb#An-Iterator-Class-for-Strings) # * `zstr` class — [Concolic Fuzzing (A Proxy Class for Strings)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Strings), [Concolic Fuzzing (A Proxy Class for Strings)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Strings), [Concolic Fuzzing (A Proxy Class for Strings)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Strings), [Concolic Fuzzing (Equality between Strings)](ConcolicFuzzer.ipynb#Equality-between-Strings), [Concolic Fuzzing (Concatenation of Strings)](ConcolicFuzzer.ipynb#Concatenation-of-Strings), [Concolic Fuzzing (Producing Substrings)](ConcolicFuzzer.ipynb#Producing-Substrings), [Concolic Fuzzing (Translating to Upper and Lower Equivalents)](ConcolicFuzzer.ipynb#Translating-to-Upper-and-Lower-Equivalents), [Concolic Fuzzing (Translating to Upper and Lower Equivalents)](ConcolicFuzzer.ipynb#Translating-to-Upper-and-Lower-Equivalents), [Concolic Fuzzing (Checking for String Prefixes)](ConcolicFuzzer.ipynb#Checking-for-String-Prefixes), [Concolic Fuzzing (Finding Substrings)](ConcolicFuzzer.ipynb#Finding-Substrings), [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends), [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends), [Concolic Fuzzing (Remove Space from Ends)](ConcolicFuzzer.ipynb#Remove-Space-from-Ends), [Concolic Fuzzing (Splitting Strings)](ConcolicFuzzer.ipynb#Splitting-Strings) # * `_zv()` — [Concolic Fuzzing (A Proxy Class for Integers)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Integers), [Concolic Fuzzing (A Proxy Class for Strings)](ConcolicFuzzer.ipynb#A-Proxy-Class-for-Strings), [Concolic Fuzzing (Exercise 1: Implment a Concolic Float Proxy Class)](ConcolicFuzzer.ipynb#Exercise-1:-Implment-a-Concolic-Float-Proxy-Class) #