Search the Community
Showing results for tags 'echidna'.
-
Echidna is a weird creature that eats bugs and is highly electrosensitive (with apologies to Jacob Stanley) More seriously, Echidna is a Haskell program designed for fuzzing/property-based testing of Ethereum smarts contracts. It uses sophisticated grammar-based fuzzing campaigns based on a contract ABI to falsify user-defined predicates or Solidity assertions. We designed Echidna with modularity in mind, so it can be easily extended to include new mutations or test specific contracts in specific cases. Features Generates inputs tailored to your actual code Optional corpus collection, mutation and coverage guidance to find deeper bugs Optional Slither integration to extract useful information before the fuzzing campaign Curses-based retro UI, text-only or JSON output Automatic testcase minimization for quick triage Seamless integration into the development workflow Maximum gas usage reporting of the fuzzing campaign Support for a complex contract initialization with Etheno and Truffle Changelog v2.0.3 This release focuses on getting enhanced coverage during a fuzzing campaign when handling non-utf8 strings, extreme signed integers and the fallback function. It also improved the scripts to build Docker containers. Fixed Avoid resetting accounts if there is a deployed contract (#795) Fixed decoding non-utf8 strings from slither printer (#799) Fixed generation and mutation of extreme signed integers (#791) Removed fallback from signature map when it is not defined (#772) Refactored Docker scripts and tests (#706) [hide][Hidden Content]]