Ethereum-Solidity Quiz Q1: What is fuzzing?
Source: Dev.to
What is fuzzing?
Fuzzing is an automated testing technique for smart contracts that generates a pre‑set number of randomized/unexpected inputs that are thrown to the system with the end goal of exposing security vulnerabilities by triggering unexpected/invalid behavior.
Types of fuzzing
Stateless fuzzing
- State resets between function calls
- A single function takes randomized input parameters
- Used for individual functions
Stateful fuzzing
- State is maintained across multiple function calls
- Multiple random function calls with randomized input parameters
- Used for invariant testing