What Is ‘Model Checking’ as a Formal Verification Technique?
Model checking is a formal verification technique that systematically and exhaustively explores all possible states and execution paths of a smart contract's code to determine if a specified property (like an invariant) holds true. Instead of requiring a full mathematical proof, the model checker builds a finite-state model of the system and checks every state.
If a property is violated, it produces a counterexample, which is the sequence of transactions that leads to the bug. It is effective for smaller, highly complex financial state machines.