Skip to content

Latest commit

 

History

History
20 lines (18 loc) · 1.02 KB

File metadata and controls

20 lines (18 loc) · 1.02 KB

24 - Fuzzing

Fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. The program is then monitored for exceptions such as crashes, failing built-in code assertions, or potential memory leaks

  1. Fuzzing is especially relevant to smart contracts because anyone can interact with them on the blockchain with random inputs without necessarily having a valid reason or expectation (arbitrary byzantine behaviour)
  2. Echidna and Harvey are two popular tools for smart contract fuzzing

Slide Screenshot

024.jpg


Slide Text

  • Software Testing
  • Random/Invalid Inputs
  • Monitor Crashes/Failures/Leaks
  • E.g.: Echidna, Harvey

References


Tags