#!/usr/bin/env python
# coding: utf-8
# # The Fuzzing Book
# ## Sitemap
# While the chapters of this book can be read one after the other, there are many possible paths through the book. In this graph, an arrow _A_ → _B_ means that chapter _A_ is a prerequisite for chapter _B_. You can pick arbitrary paths in this graph to get to the topics that interest you most:
#
# In[1]:
# ignore
from IPython.display import SVG
# In[2]:
# ignore
SVG(filename='PICS/Sitemap.svg')
# ## [Table of Contents](index.ipynb)
#
#
# ### Part I: Whetting Your Appetite
#
# * Tours through the Book
# * Introduction to Software Testing
#
# ### Part II: Lexical Fuzzing
#
# * Fuzzing: Breaking Things with Random Inputs
# * Code Coverage
# * Mutation-Based Fuzzing
# * Greybox Fuzzing
# * Search-Based Fuzzing
# * Mutation Analysis
#
# ### Part III: Syntactic Fuzzing
#
# * Fuzzing with Grammars
# * Efficient Grammar Fuzzing
# * Grammar Coverage
# * Parsing Inputs
# * Probabilistic Grammar Fuzzing
# * Fuzzing with Generators
# * Greybox Fuzzing with Grammars
# * Reducing Failure-Inducing Inputs
#
# ### Part IV: Semantic Fuzzing
#
# * Fuzzing with Constraints
# * Mining Input Grammars
# * Tracking Information Flow
# * Concolic Fuzzing
# * Symbolic Fuzzing
# * Mining Function Specifications
#
# ### Part V: Domain-Specific Fuzzing
#
# * Testing Configurations
# * Fuzzing APIs
# * Carving Unit Tests
# * Testing Compilers
# * Testing Web Applications
# * Testing Graphical User Interfaces
#
# ### Part VI: Managing Fuzzing
#
# * Fuzzing in the Large
# * When To Stop Fuzzing
#
# ### Appendices
#
# * Academic Prototyping
# * Prototyping with Python
# * Error Handling
# * Timer
# * Timeout
# * Class Diagrams
# * Railroad Diagrams
# * Control Flow Graph
#