Title¶
Brief abstract/introduction/motivation. State what the chapter is about in 1-2 paragraphs. Then, have an introduction video:
from bookutils import YouTubeVideo
YouTubeVideo("w4u5gCgPlmg")
Prerequisites
- Refer to earlier chapters as notebooks here, as here: Earlier Chapter.
import bookutils.setup
Synopsis¶
To use the code provided in this chapter, write
>>> from fuzzingbook.Template import <identifier>
and then make use of the following features.
For those only interested in using the code in this chapter (without wanting to know how it works), give an example. This will be copied to the beginning of the chapter (before the first section) as text with rendered input and output.
You can use int_fuzzer()
as:
>>> print(int_fuzzer())
76.5
Section 1¶
\todo{Add}
Section 2¶
\todo{Add}
All the Details
This text will only show up on demand (HTML) or not at all (PDF). This is useful for longer implementations, or repetitive, or specialized parts.
Section 3¶
\todo{Add}
If you want to introduce code, it is helpful to state the most important functions, as in:
random.randrange(start, end)
- return a random number [start
,end
]range(start, end)
- create a list with integers fromstart
toend
. Typically used in iterations.for elem in list: body
executesbody
in a loop withelem
taking each value fromlist
.for i in range(start, end): body
executesbody
in a loop withi
fromstart
toend
- 1.chr(n)
- return a character with ASCII coden
import random
def int_fuzzer():
"""A simple function that returns a random integer"""
return random.randrange(1, 100) + 0.5
# More code
pass
Section 4¶
\todo{Add}
Lessons Learned¶
- Lesson one
- Lesson two
- Lesson three
Next Steps¶
Link to subsequent chapters (notebooks) here, as in:
Background¶
Cite relevant works in the literature and put them into context, as in:
The idea of ensuring that each expansion in the grammar is used at least once goes back to Burkhardt [Burkhardt et al, 1967], to be later rediscovered by Paul Purdom [Purdom et al, 1972].
Exercises¶
Close the chapter with a few exercises such that people have things to do. To make the solutions hidden (to be revealed by the user), have them start with
**Solution.**
Your solution can then extend up to the next title (i.e., any markdown cell starting with #
).
Running make metadata
will automatically add metadata to the cells such that the cells will be hidden by default, and can be uncovered by the user. The button will be introduced above the solution.
Exercise 1: Title¶
Text of the exercise
# Some code that is part of the exercise
pass
Some more text for the exercise
The content of this project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. The source code that is part of the content, as well as the source code used to format and display that content is licensed under the MIT License. Last change: 2023-11-11 18:18:06+01:00 • Cite • Imprint