ethereum / ethereum/execution-specs

Create a tool that syncs the chain while watching code coverage

Open
#1,112 1 comment 0 reactions 0 assignees View on GitHub
A-spec-tools C-feat E-medium stale
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.