ethereum / ethereum/execution-specs
Create a tool that syncs the chain while watching code coverage
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 505
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 116
Description
Would probably live in [`sync.py`](https://github.com/ethereum/execution-specs/blob/master/src/ethereum_spec_tools/sync.py).
The goal of this tool would be to detect areas of our codebase that are not covered by EEST that are touched on mainnet.
Would probably look like:
1. an import phase, where the code coverage information from the tests is imported (or failing that, run the tests as part of the tool)
2. a sync phase, where transactions that increase code coverage are logged for later examination
3. automated test case generation (EEST has a tool for this I think)
Note that this is an extremely long running process. The last full sync took three months. This tool is going to have to support getting killed and resuming, crashes, etc.
Additional resources:
- https://github.com/plasma-umass/slipcover
Contributor guide
Assessment
This issue has not been assessed yet.