{"id":15027062,"url":"https://github.com/uds-se/fuzzingbook","last_synced_at":"2025-05-14T14:09:48.008Z","repository":{"id":37759451,"uuid":"146915668","full_name":"uds-se/fuzzingbook","owner":"uds-se","description":"Project page for \"The Fuzzing Book\"","archived":false,"fork":false,"pushed_at":"2025-04-12T15:04:57.000Z","size":1275519,"stargazers_count":1157,"open_issues_count":36,"forks_count":237,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-04-12T15:24:24.167Z","etag":null,"topics":["fuzzing","interactive-notebooks","jupyter-notebooks","python","test-automation","testing"],"latest_commit_sha":null,"homepage":"https://www.fuzzingbook.org/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uds-se.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-08-31T16:16:18.000Z","updated_at":"2025-04-12T15:05:00.000Z","dependencies_parsed_at":"2023-10-15T11:17:55.456Z","dependency_job_id":"2f1e8343-e0e4-4a9b-852c-18bc28355ba9","html_url":"https://github.com/uds-se/fuzzingbook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uds-se%2Ffuzzingbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uds-se%2Ffuzzingbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uds-se%2Ffuzzingbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uds-se%2Ffuzzingbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uds-se","download_url":"https://codeload.github.com/uds-se/fuzzingbook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160510,"owners_count":22024570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fuzzing","interactive-notebooks","jupyter-notebooks","python","test-automation","testing"],"created_at":"2024-09-24T20:05:42.809Z","updated_at":"2025-05-14T14:09:42.988Z","avatar_url":"https://github.com/uds-se.png","language":"Jupyter Notebook","readme":"\u003c!-- Fuzzingbook README --\u003e\n\n\u003c!-- Badges to be shown on project page --\u003e\n\n[![Python Tests](https://github.com/uds-se/fuzzingbook/actions/workflows/check-code.yml/badge.svg)](https://github.com/uds-se/fuzzingbook/actions/workflows/check-code.yml)\n\u0026nbsp;\n[![Notebook Tests](https://github.com/uds-se/fuzzingbook/actions/workflows/check-notebooks.yml/badge.svg)](https://github.com/uds-se/fuzzingbook/actions/workflows/check-notebooks.yml)\n\u0026nbsp;\n[![Static Type Checking](https://github.com/uds-se/fuzzingbook/actions/workflows/check-types.yml/badge.svg)](https://github.com/uds-se/fuzzingbook/actions/workflows/check-types.yml)\n\u0026nbsp;\n[![Imports](https://github.com/uds-se/fuzzingbook/actions/workflows/check-imports.yml/badge.svg)](https://github.com/uds-se/fuzzingbook/actions/workflows/check-imports.yml)\n\u0026nbsp;\n[![Website www.fuzzingbook.org](https://img.shields.io/website-up-down-green-red/https/www.fuzzingbook.org.svg)](https://www.fuzzingbook.org/)\n\n[![Launch Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/uds-se/fuzzingbook/master?filepath=docs/notebooks/00_Table_of_Contents.ipynb)\n\u0026nbsp;\n[![Made with Python](https://img.shields.io/badge/Made%20with-Python-blue.svg)](https://www.python.org/)\n\u0026nbsp;\n[![Made with Jupyter](https://img.shields.io/badge/Made%20with-Jupyter-orange.svg)](https://www.jupyter.org/)\n\u0026nbsp;\n[![License: MIT (Code), CC BY-NC-SA (Book)](https://img.shields.io/badge/License-MIT_(Code),_CC_BY--NC--SA_4.0_(Book)-blue.svg)](https://github.com/uds-se/fuzzingbook/blob/master/LICENSE.md)\n\n# About this Book\n\n__Welcome to \"The Fuzzing Book\"!__ \nSoftware has bugs, and catching bugs can involve lots of effort.  This book addresses this problem by _automating_ software testing, specifically by _generating tests automatically_.  Recent years have seen the development of novel techniques that lead to dramatic improvements in test generation and software testing.  They now are mature enough to be assembled in a book – even with executable code. \n\n\n```python\nfrom bookutils import YouTubeVideo\nYouTubeVideo(\"w4u5gCgPlmg\")\n```\n\n\n\n\n\n\u003ca href=\"https://www.youtube-nocookie.com/embed/w4u5gCgPlmg\" target=\"_blank\"\u003e\n\u003cimg src=\"https://www.fuzzingbook.org/html/PICS/youtube.png\" width=640\u003e\n\u003c/a\u003e\n        \n\n\n\n## A Textbook for Paper, Screen, and Keyboard\n\nYou can use this book in four ways:\n\n* You can __read chapters in your browser__.  Check out the list of chapters in the menu above, or start right away with the [introduction to testing](https://www.fuzzingbook.org/html/Intro_Testing.html) or the [introduction to fuzzing](https://www.fuzzingbook.org/html/Fuzzer.html).  All code is available for download.\n\n* You can __interact with chapters as Jupyter Notebooks__ (beta).  This allows you to edit and extend the code, experimenting _live in your browser._  Simply select \"Resources → Edit as Notebook\" at the top of each chapter. \u003ca href=\"https://mybinder.org/v2/gh/uds-se/fuzzingbook/HEAD?labpath=docs/notebooks/Fuzzer.ipynb\" target=_blank\u003eTry interacting with the introduction to fuzzing.\u003c/a\u003e\n\n* You can __use the code in your own projects__.  You can download the code as Python programs; simply select \"Resources → Download Code\" for one chapter or \"Resources → All Code\" for all chapters.  These code files can be executed, yielding (hopefully) the same results as the notebooks.  Even easier: [Install the fuzzingbook Python package](https://www.fuzzingbook.org/html/Importing.html).\n\n* You can __present chapters as slides__.  This allows for presenting the material in lectures.  Just select \"Resources → View slides\" at the top of each chapter. \u003ca href=\"https://www.fuzzingbook.org/slides/Fuzzer.slides.html\" target=_blank\u003eTry viewing the slides for the introduction to fuzzing.\u003c/a\u003e\n\n## Who this Book is for\n\nThis work is designed as a _textbook_ for a course in software testing or security testing; as _supplementary material_ in a software testing, security testing, or software engineering course; and as a _resource for software developers_. We cover random fuzzing, mutation-based fuzzing, grammar-based test generation, symbolic testing, and much more, illustrating all techniques with code examples that you can try out yourself.\n\n## News\n\nThis book is _work in progress._  All chapters planned are out now, but we keep on refining text and code with [minor and major releases.](https://www.fuzzingbook.org/html/ReleaseNotes.html)  To get notified on updates, \u003ca href=\"https://mastodon.social/@TheFuzzingBook\"\u003efollow us on Mastodon\u003c/a\u003e.\n\n\u003c!--\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuds-se%2Ffuzzingbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuds-se%2Ffuzzingbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuds-se%2Ffuzzingbook/lists"}