{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
},
"slideshow": {
"slide_type": "slide"
},
"tags": [],
"toc-hr-collapsed": false
},
"source": [
"# Probabilistic Grammar Fuzzing\n",
"\n",
"Let us give grammars even more power by assigning _probabilities_ to individual expansions. This allows us to control how many of each element should be produced, and thus allows us to _target_ our generated tests towards specific functionality. We also show how to learn such probabilities from given sample inputs, and specifically direct our tests towards input features that are uncommon in these samples."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.270648Z",
"iopub.status.busy": "2024-01-18T17:16:54.270137Z",
"iopub.status.idle": "2024-01-18T17:16:54.333701Z",
"shell.execute_reply": "2024-01-18T17:16:54.333291Z"
},
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from bookutils import YouTubeVideo\n",
"YouTubeVideo('9htOliNwopc')"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
},
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"**Prerequisites**\n",
"\n",
"* You should have read the [chapter on grammars](Grammars.ipynb).\n",
"* Our implementation hooks into the grammar-based fuzzer introduced in [\"Efficient Grammar Fuzzing\"](GrammarFuzzer.ipynb)\n",
"* For learning probabilities from samples, we make use of [parsers](Parser.ipynb)."
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"source": [
"## Synopsis\n",
"\n",
"\n",
"To [use the code provided in this chapter](Importing.ipynb), write\n",
"\n",
"```python\n",
">>> from fuzzingbook.ProbabilisticGrammarFuzzer import \n",
"```\n",
"\n",
"and then make use of the following features.\n",
"\n",
"\n",
"A _probabilistic_ grammar allows attaching individual _probabilities_ to production rules. To set the probability of an individual expansion `S` to the value `X` (between 0 and 1), replace it with a pair\n",
"\n",
"```python\n",
"(S, opts(prob=X))\n",
"```\n",
"\n",
"If we want to ensure that 90% of phone numbers generated have an area code starting with `9`, we can write:\n",
"\n",
"```python\n",
">>> from Grammars import US_PHONE_GRAMMAR, extend_grammar, opts\n",
">>> PROBABILISTIC_US_PHONE_GRAMMAR: Grammar = extend_grammar(US_PHONE_GRAMMAR,\n",
">>> {\n",
">>> \"\": [\n",
">>> \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\",\n",
">>> (\"9\", opts(prob=0.9))\n",
">>> ],\n",
">>> })\n",
"```\n",
"A `ProbabilisticGrammarFuzzer` will extract and interpret these options. Here is an example:\n",
"\n",
"```python\n",
">>> probabilistic_us_phone_fuzzer = ProbabilisticGrammarFuzzer(PROBABILISTIC_US_PHONE_GRAMMAR)\n",
">>> [probabilistic_us_phone_fuzzer.fuzz() for i in range(5)]\n",
"['(918)925-2501',\n",
" '(981)925-0792',\n",
" '(934)995-5029',\n",
" '(955)999-7801',\n",
" '(964)927-0877']\n",
"```\n",
"As you can see, the large majority of area codes now starts with `9`.\n",
"\n",
"![](PICS/ProbabilisticGrammarFuzzer-synopsis-1.svg)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## The Law of Leading Digits"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"In all our examples so far, you may have noted that inputs generated by a program differ quite a bit from \"natural\" inputs as they occur in real life. This is true even for innocuous elements such as numbers – yes, the numbers we have generated so far actually _differ_ from numbers in the real world. This is because in real-life sets of numerical data, the _leading significant digit_ is likely to be small: Actually, on average, the leading digit `1` occurs more than _six times_ as often as the leading digit `8` or `9`. It has been shown that this result applies to a wide variety of data sets, including electricity bills, street addresses, stock prices, house prices, population numbers, death rates, lengths of rivers, physical and mathematical constants (Wikipedia)."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"This law of leading digits was first observed by Newcomb \\cite{Newcomb1881} and later formalized by Benford in \\cite{Benford1938}. Let us take a look at the conditions that determine the first digit of a number. We can easily compute the first digit by converting the number into a string and take the first character:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.359846Z",
"iopub.status.busy": "2024-01-18T17:16:54.359518Z",
"iopub.status.idle": "2024-01-18T17:16:54.361663Z",
"shell.execute_reply": "2024-01-18T17:16:54.361378Z"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [],
"source": [
"def first_digit_via_string(x: int) -> int:\n",
" return ord(repr(x)[0]) - ord('0')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.363209Z",
"iopub.status.busy": "2024-01-18T17:16:54.363104Z",
"iopub.status.idle": "2024-01-18T17:16:54.365194Z",
"shell.execute_reply": "2024-01-18T17:16:54.364915Z"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"text/plain": [
"2"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"first_digit_via_string(2001)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"To do this mathematically, though, we have to take the fractional part of their logarithm, or formally\n",
"\n",
"$$\n",
"d = 10^{\\{\\log_{10}(x)\\}}\n",
"$$\n",
"\n",
"where $\\{x\\}$ is the fractional part of $x$ (i.e. $\\{1.234\\} = 0.234$)."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.366614Z",
"iopub.status.busy": "2024-01-18T17:16:54.366515Z",
"iopub.status.idle": "2024-01-18T17:16:54.367878Z",
"shell.execute_reply": "2024-01-18T17:16:54.367643Z"
},
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [],
"source": [
"import math"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.369407Z",
"iopub.status.busy": "2024-01-18T17:16:54.369318Z",
"iopub.status.idle": "2024-01-18T17:16:54.371051Z",
"shell.execute_reply": "2024-01-18T17:16:54.370805Z"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [],
"source": [
"def first_digit_via_log(x: int) -> int:\n",
" frac, whole = math.modf(math.log10(x))\n",
" return int(10 ** frac)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.372387Z",
"iopub.status.busy": "2024-01-18T17:16:54.372310Z",
"iopub.status.idle": "2024-01-18T17:16:54.374659Z",
"shell.execute_reply": "2024-01-18T17:16:54.374300Z"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"text/plain": [
"2"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"first_digit_via_log(2001)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"Most sets of \"naturally\" occurring numbers should not have any bias in the fractional parts of their logarithms, and hence, the fractional part $\\{\\log_{10}(x)\\}$ is typically uniformly distributed. However, the fractional parts for the individual digits are _not_ evenly distributed. "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"For a number to start with a digit $d$, the condition $d < 10^{\\{\\log_{10}(x)\\}} < d + 1$ must hold. To start with the digit 1, the fractional part $\\{\\log_{10}(x)\\}$ must thus be in the range"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.376391Z",
"iopub.status.busy": "2024-01-18T17:16:54.376282Z",
"iopub.status.idle": "2024-01-18T17:16:54.378351Z",
"shell.execute_reply": "2024-01-18T17:16:54.378076Z"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 0.3010299956639812)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(math.log10(1), math.log10(2))"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"To start with the digit 2, though, it must be in the range"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.379835Z",
"iopub.status.busy": "2024-01-18T17:16:54.379735Z",
"iopub.status.idle": "2024-01-18T17:16:54.381739Z",
"shell.execute_reply": "2024-01-18T17:16:54.381490Z"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(0.3010299956639812, 0.47712125471966244)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(math.log10(2), math.log10(3))"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"which is much smaller. Formally, the probability $P(d)$ for a leading digit $d$ (again, assuming uniformly distributed fractional parts) is known as Benford's law:\n",
"$$\n",
"P(d) = \\log_{10}(d + 1) - \\log_{10}(d)\n",
"$$\n",
"which gives us:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.383215Z",
"iopub.status.busy": "2024-01-18T17:16:54.383108Z",
"iopub.status.idle": "2024-01-18T17:16:54.384788Z",
"shell.execute_reply": "2024-01-18T17:16:54.384548Z"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [],
"source": [
"def prob_leading_digit(d: int) -> float:\n",
" return math.log10(d + 1) - math.log10(d)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Let us compute these probabilities for all digits:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.386294Z",
"iopub.status.busy": "2024-01-18T17:16:54.386195Z",
"iopub.status.idle": "2024-01-18T17:16:54.388715Z",
"shell.execute_reply": "2024-01-18T17:16:54.388477Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[(1, '0.30'),\n",
" (2, '0.18'),\n",
" (3, '0.12'),\n",
" (4, '0.10'),\n",
" (5, '0.08'),\n",
" (6, '0.07'),\n",
" (7, '0.06'),\n",
" (8, '0.05'),\n",
" (9, '0.05')]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"digit_probs = [prob_leading_digit(d) for d in range(1, 10)]\n",
"[(d, \"%.2f\" % digit_probs[d - 1]) for d in range(1, 10)]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.390107Z",
"iopub.status.busy": "2024-01-18T17:16:54.390000Z",
"iopub.status.idle": "2024-01-18T17:16:54.653553Z",
"shell.execute_reply": "2024-01-18T17:16:54.652668Z"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [],
"source": [
"# ignore\n",
"import matplotlib.pyplot as plt # type: ignore"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-18T17:16:54.660015Z",
"iopub.status.busy": "2024-01-18T17:16:54.659462Z",
"iopub.status.idle": "2024-01-18T17:16:54.746489Z",
"shell.execute_reply": "2024-01-18T17:16:54.746174Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGMCAYAAABH1aHHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACCDUlEQVR4nO3dd3wc9Z3/8ddsX/XeJUvuvXebjjEGElOSAJccJCGQQvpd2pVccsnlkssvCSEFCBBI6CV0MAYbsAEXbOPeJVu9d2n7zszvD7nJkous3Z3d1ef5eOhha3d25rOytfveb1V0XdcRQgghxIhlMroAIYQQQhhLwoAQQggxwkkYEEIIIUY4CQNCCCHECCdhQAghhBjhJAwIIYQQI5yEASGEEGKEkzAghBBCjHASBoQQQogRTsKAEEIIMcJJGBDCYD09PXz7299m1KhROJ1OFi9ezJYtW4wuSwgxgkgYEMJgX/rSl3j77bd57LHH2L17N1dddRVXXnkldXV1RpcmhBghFNmoSAjjeDwekpOTefnll7n22mtP3D5nzhxWrFjBz3/+cwOrE0KMFNIyIISBgsEgqqricDj63e50Ovnggw8MqkoIMdJIGBDCQMnJySxatIif/exn1NfXo6oqjz/+OBs3bqShocHo8oQQI4SEASEM9thjj6HrOoWFhdjtdu69915uvfVWTCb59RRCRIaMGRAiSrhcLrq7u8nPz+fmm2+mt7eX119/3eiyhBAjgHz0ECJKJCYmkp+fT0dHB6tXr2blypVGlySEGCGkZUAIg61evRpd15kwYQLl5eV873vfw+Fw8P7772O1Wo0uTwgxAkjLgBAG6+rq4u6772bixIncdtttLF26lNWrV0sQEEJEjLQMCCGEECOctAwIIYQQI5yEASGEEGKEkzAghBBCjHASBoQQQogRTsKAEEIIMcJJGBAxQVVV/vM//5OysjKcTidjxozhZz/7GTIZRgghhs9idAFCnI9f/epX3Hffffztb39jypQpbN26lS984QukpqbyzW9+0+jyhBAipsk6AyImXHfddeTm5vLwww+fuO2mm27C6XTy+OOPG1iZEELEPukmEDFh8eLFrF27lkOHDgGwc+dOPvjgA1asWGFwZUIIEfukm0DEhB/+8Id0d3czceJEzGYzqqryP//zP3z2s581urSYoesqquoFNHRdPfaloaPS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\n",
"text/plain": [
"