runtimeverification / runtimeverification/evm-semantics
Refactor `foundry_get_model` and `print_failure_info`
Nobody has claimed this yet.
- Dominant language
- KCL
- Stars
- 591
- Forks
- 156
- Avg merge
- 2h 19m
- Merged PRs (30d)
- 1
Description
As suggested by @tothtamas28, the function foundry_get_model(...) introduced in https://github.com/runtimeverification/evm-semantics/pull/1946 should produce a data structure (maybe FoundryModel | None). Function print_model can be a method on this class (without the "Failed to ..." branch). Function print_failure_info then can be redefined as
def print_failure_info(kprint: KPrint, proof: Proof, *, model: FoundryModel | None = None) -> list[str]:
...
In addition, as suggested by @nwatson22, print_failure_info in KEVM should be further refactored to use the print_failure_info function that was added to pyk to separate the printing from the RPC calls here: https://github.com/runtimeverification/pyk/commit/6c28b6613ea058a46fd4f838982a88bc2e957863.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the entry points foundry_get_model, print_model, and print_failure_info in the KEVM code, then compare them with pyk's print_failure_info introduced in commit 6c28b6613ea058a46fd4f838982a88bc2e957863. Done means foundry_get_model returns the proposed model structure, model printing is separated from failure handling, and KEVM delegates printing separately from RPC calls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100