LEARN

A comprehensive glossary of smart contract security, invariant testing, and fuzzing concepts.

Invariant Testing

Invariant testing is a smart contract testing methodology that verifies properties (invariants) that must always hold tr...

Fuzzing

Fuzzing is an automated testing technique that feeds random, unexpected, or malformed inputs to a program to discover bu...

Echidna

Echidna is a Haskell-based smart contract fuzzer for Ethereum that uses property-based testing to find violations of use...

Medusa

Medusa is a Go-based smart contract fuzzer that uses parallel execution and coverage-guided fuzzing to find invariant vi...

Halmos

Halmos is a symbolic execution tool for EVM smart contracts that mathematically proves whether properties hold for all p...

Property-Based Testing

Property-based testing is a software testing methodology where developers define general properties that should always h...

Smart Contract Audit

A smart contract audit is a systematic security review of blockchain smart contract code to identify vulnerabilities, lo...

Formal Verification

Formal verification is the use of mathematical methods to prove that a smart contract's behavior conforms to its specifi...

Chimera Framework

Chimera is Recon's open-source framework for writing invariant tests that are simultaneously compatible with Echidna, Me...

Stateful Fuzzing

Stateful fuzzing is a fuzzing technique that maintains contract state across a sequence of function calls, testing how t...

Mutation Testing

Mutation testing evaluates test suite quality by introducing small code changes (mutations) and checking whether existin...

Coverage-Guided Fuzzing

Coverage-guided fuzzing is a technique where the fuzzer tracks which code paths are executed and prioritizes inputs that...

Symbolic Execution

Symbolic execution analyzes smart contracts by treating inputs as mathematical symbols rather than concrete values, expl...

Fuzz Testing

Fuzz testing (fuzzing) is the automated process of providing random, semi-random, or mutated inputs to software in order...

Smart Contract Security

Smart contract security encompasses the practices, tools, and methodologies used to identify and prevent vulnerabilities...

Ready to secure your protocol?