~/talk

Fuzz Driven Development

Talkat RustConf 2021 · 2021-09-14..09-15· [rust, testing]
links:none on file
slides:none on file

Builds a small Rust library that squashes JSON Patch (RFC 6902) sequences using cargo-fuzz and serde_json to generate counterexamples and drive development. Fuzzing produces concrete failing inputs, leads to unit tests, and forces fixes (hashmap for last-wins, radix trie for prefix merging). Finds that some cases require the original document to produce a truly minimal patch; fuzzing uncovers structural and API tradeoffs rather than vague examples, and the iterative process produces a working squasher with documented failure cases.

AI-written summary · about

  1. 0:00Start
  2. 0:24Who am I? Midas Lambrichts
  3. 0:55When you know, that you don't know
  4. 1:32Fuzzing/Fuzz testing
  5. 2:39Fuzz Driven Development
  6. 4:42Example: A parser
  7. 14:00Invariant
  8. 15:29The Fuzzing Target
  9. 18:01Step 4: Reflect
  10. 20:10Develop/Unit tests
  11. 22:49Step 6: Iterate
  12. 26:18So what did we do?
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.