Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
Echidna is a Haskell-based tool created for fuzzing and property-based testing of Ethereum smart contracts. It employs advanced grammar-driven fuzzing strategies that leverage a contract's ABI to challenge user-defined predicates or Solidity assertions. Designed with a focus on modularity, Echidna allows for easy extensions to incorporate new mutations or to target specific contracts under particular conditions. The tool generates inputs that are specifically adapted to your existing codebase, and it offers optional features for corpus collection, mutation, and coverage guidance to uncover more elusive bugs. It utilizes Slither to extract critical information prior to launching the fuzzing process, ensuring a more effective campaign. With source code integration, Echidna can pinpoint which lines of code are exercised during testing, and it provides an interactive terminal UI along with text-only or JSON output formats. Additionally, it includes automatic test case minimization for efficient triage and integrates seamlessly into the development workflow. The tool also reports maximum gas usage during fuzzing activities and supports complex contract initialization through Etheno and Truffle, enhancing its usability for developers. Ultimately, Echidna stands out as a robust solution for ensuring the reliability and security of Ethereum smart contracts.
Description
HUnit serves as a unit testing framework tailored for Haskell, drawing inspiration from the widely used JUnit framework within the Java ecosystem. Users who are already acquainted with Haskell will find HUnit straightforward to adopt, even if they lack prior experience with JUnit. A development approach that prioritizes testing proves to be most efficient when the process of creating, modifying, and running tests is seamless. JUnit was instrumental in introducing test-first development practices in Java, and HUnit functions as its counterpart for Haskell, a language known for its purely functional paradigm. Like JUnit, HUnit allows developers to effortlessly craft tests, assign names, organize them into suites, and run them while the framework automatically validates the outcomes. The test specification in HUnit boasts greater conciseness and flexibility compared to JUnit, which is a direct benefit of Haskell's design. Although HUnit currently supports a text-based test controller, it is structured to facilitate straightforward extensions in the future. To maximize efficiency, it is recommended to run the tests collectively as a suite.
API Access
Has API
No
API Access
Has API
No
Integrations
Haskell
Yes
Codecov
No
Docker
Yes
Etheno
Yes
Ethereum
Yes
GitHub
Yes
Homebrew
Yes
JSON
Yes
JUnit
No
Nix
Yes
Integrations
Haskell
Yes
Codecov
Yes
Docker
No
Etheno
No
Ethereum
No
GitHub
No
Homebrew
No
JSON
No
JUnit
Yes
Nix
No
Pricing Details
Free
Free Trial
No
Free Version
Yes
Pricing Details
Free
Free Trial
No
Free Version
Yes
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
Yes
Mac
Yes
Linux
Yes
Chromebook
No
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
Yes
Mac
Yes
Linux
Yes
Chromebook
No
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Vendor Details
Company Name
Crytic
Website
github.com/crytic/echidna
Vendor Details
Company Name
Hackage
Country
United States
Website
hackage.haskell.org/package/HUnit