Show how many times a property/assertion was covered
- 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
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