crytic / crytic/echidna

Show how many times a property/assertion was covered

Open
#1,057 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
3.2k
Forks
432
Avg merge
1d 20h
Merged PRs (30d)
5

Description

When a property passed, we should show some statistics, for example:
- number of times the assertion was executed
- % of times the assertion was executed when the current function was called

This will help evaluating the probabilistic guarantees of a property. We could also provide a config option, like:
- `assertionIteration`: number of times every assertion must be executed before the fuzzing stops (note: `assertionIteration` is not a great name)

This will allow long fuzzing campaign to be run until some threshold of number of execution is reached per assertion, instead of number of total transaction calls.

Related to https://github.com/crytic/echidna/issues/1055

Contributor guide

Open the contributing guide

Research direction

No file, test, or entry point is named in the issue. Start by reading related issue #1055 and tracing how assertion execution and fuzzing termination are currently tracked; done means reporting per-assertion execution statistics and supporting a documented threshold-based stopping option.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell, solidity
Domain
security, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.