Testing tools

Testing

#1 Slither

The Slither framework provides automated vulnerability and optimization detection, as well as assistive codebase summaries to further developer comprehension. Born of Crytic, the blockchain security arm of Trail of Bits, Slither is Hardhat and Truffle compatible, and operational for Solidity code written in V0.4 onwards.

Get it!

Testing

#3 Slitherin

A free, open-source collection of detectors for automatic scanning of smart contract code to find potential security vulnerabilities and ideas for optimizations. Slitherin explores inheritance dependencies of all the contracts, With over 30+ detectors, you have one of the highest chances of hitting the most crucial of vulnerabilities.

Get it!

Testing

#4 Aderyn

Aderyn is an open-source public good developer tool. It is a Rust-based solidity smart contract static analyzer designed to help protocol engineers and security researchers find vulnerabilities in Solidity code bases. Aderyn integrates seamlessly into small and enterprise-level development workflows, offering lighting-fast command-line functionality.

Get it!

Testing

#5 4naly3er

4naly3er stands as a pivotal static analysis tool deployed in the auditing of smart contracts, particularly prevalent in the Code4rena platform for automated smart contract auditing.

Get it!

Testing

#6 Audit Wizard

Audit Wizard is a first-of-a-kind platform that unifies all the essential tools for auditing smart contracts. Built by security engineers, Audit Wizard enables you to secure your code seamlessly.

Get it!

Testing

#7 Halmos

Halmos is a symbolic testing tool for EVM smart contracts. A Solidity/Foundry frontend is currently offered by default, with plans to provide support for other languages, such as Vyper and Huff, in the future.

Get it!

Testing

#8 Kontrol

Kontrol combines KEVM and Foundry to grant developers the ability to perform formal verification without learning a new language or tool. This is especially useful for those who are not verification engineers.

Get it!

Testing

#9 Certora Prover

The Certora Prover is a tool with an underlying technology based on 30 years of research in Formal Verification. It allows checking at compile-time whether all executions of a Smart Contract are fulfilling a set of pre-defined specifications.

Get it!

Testing

#10 Certora Gambit

Mutation testing is a technique for evaluating and improving test suites. Mutants are identical copies of the tested program with a single random change. The objective is to assess how well a test suite can identify and detect faulty logic in these mutants.

Get it!

Testing

#12 Echidna

Echidna is a Haskell program designed for fuzzing/property-based testing of Ethereum smart contracts. It uses sophisticated grammar-based fuzzing campaigns based on a contract ABI to falsify user-defined predicates or Solidity assertions.

Get it!

Testing

#13 Medusa

Medusa is a cross-platform go-ethereum-based smart contract fuzzer inspired by Echidna. It provides parallelized fuzz testing of smart contracts through CLI, or its Go API that allows custom user-extended testing methodology.

Get it!

Testing

#14 Recon

Recon is a tool created to speed up the process of writing invariant tests. It connects to any open-source Solidity project and automatically generates the boilerplate code to create invariant tests for Echidna, Medusa, and Foundry, all in a few clicks.

Get it!