{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": { "button": false, "deletable": true, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "slide" } }, "source": [ "# Part V: Domain-Specific Fuzzing\n", "\n", "This part discusses test generation for a number of specific domains. For all these domains, we introduce _fuzzers_ that generate inputs as well as _miners_ that analyze the input structure.\n", "\n", "* [Testing Configurations](ConfigurationFuzzer.ipynb) systematically _tests_ and _covers_ software configurations. By _automatically inferring configuration options_, we can apply these techniques out of the box, with no need for writing a grammar.\n", "\n", "* [Testing APIs](APIFuzzer.ipynb) shows how to generate inputs that go directly into individual functions, gaining flexibility and speed in the process.\n", "\n", "* [Carving](Carver.ipynb) takes a system test and automatically extracts a set of _unit tests_ that replicate the calls seen during the unit test. The key idea is to _record_ such calls such that we can _replay_ them later – as a whole or selectively.\n", "\n", "* [Testing Web Applications](WebFuzzer.ipynb) shows how to systematically explore the behavior of a Web application – first with handwritten grammars, then with grammars automatically inferred from the user interface. We also show how to conduct systematic attacks on these servers, notably with code and SQL injection.\n", "\n", "* [Testing Graphical User Interfaces](GUIFuzzer.ipynb) explores how to generate tests for Graphical User Interfaces (GUIs), generalizing from rich Web applications to mobile apps, and systematically exploring user interfaces through forms and navigation elements." ] } ], "metadata": { "ipub": { "bibliography": "fuzzingbook.bib", "toc": true }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.2" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true }, "toc-autonumbering": false }, "nbformat": 4, "nbformat_minor": 2 }