PROPERTY BASED TESTING

6 articles tagged "property based testing"

2025-05-19·12 min read

Property Design Patterns for DeFi Lending Protocols

A practical catalog of invariant property patterns for lending protocols — from solvency and utilization bounds to liquidation health checks — with Solidity code for each.

By Nican0r
invariant-testingproperty-based-testingfuzzing
2025-12-15·9 min read

Stateful Fuzzing Explained: Why Sequence Matters in Smart Contract Testing

Most smart contract bugs only manifest after a specific sequence of transactions. Stateful fuzzing explores these sequences automatically — here is how it works and why it matters.

By Antonio
stateful-fuzzingfuzzingproperty-based-testing
2026-03-21·10 min read

How to write your first invariant test

A hands-on tutorial that walks you through writing three invariant properties for a simple ERC-20 vault, then running them with Foundry and Echidna. Working test suite in 30 minutes.

By Nican0r
invariant-testingproperty-based-testingfuzzing
2026-03-25·10 min read

What is smart contract fuzzing?

Smart contract fuzzing throws millions of random inputs at your contracts to find states that violate your security assumptions. Here's how it works, what it catches, and how to get started.

By Deivitto
fuzzingsmart-contract-securityinvariant-testing
2026-03-26·9 min read

7 common smart contract fuzzing mistakes (and how to fix them)

Your fuzzer ran for 24 hours and found nothing. That doesn't mean your code is safe — it might mean your campaign was broken. Here are the seven mistakes we see most often and how to fix each one.

By Deivitto
fuzzinginvariant-testingsmart-contract-security
2026-03-03·11 min read

Halmos symbolic execution for smart contracts: setup, limitations, and when it beats fuzzing

Fuzzers sample randomly. Symbolic execution explores every path. Halmos brings symbolic execution to Foundry — but it's not always the right tool. Here's when it wins and when fuzzing is better.

By Deivitto
fuzzinginvariant-testingsmart-contract-security

Need help securing your protocol?