Verification#
Proving contracts correct, executing them on symbols, checking them at run time, and fuzzing them with random transactions.
Floyd and Hoare: proving a withdrawal correct with assertions (1967-1969)
Floyd and Hoare: proving a withdrawal correct with assertions (1967-1969)
King’s symbolic execution: every path of a fee schedule (1976)
King's symbolic execution: every path of a fee schedule (1976)
Meyer’s design by contract: an escrow with checked clauses (1986)
Meyer's design by contract: an escrow with checked clauses (1986)
Oyente: symbolic execution finds the BeautyChain overflow in bytecode (2016)
Oyente: symbolic execution finds the BeautyChain overflow in bytecode (2016)
Echidna: property-based fuzzing finds a self-transfer bug (2020)
Echidna: property-based fuzzing finds a self-transfer bug (2020)