runtimeverification / runtimeverification/kontrol
Generate more helpers for loop specifications
Open
Nobody has claimed this yet.
enhancement
- Dominant language
- Python
- Stars
- 122
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
Generate more helpers for loop specifications:
- Extract from the solidity compiler the loop head points, and generated K macros which allow making more resilient specs.
- Generate specs automatically for loops in copying/encoding data (Solidity compiler generic loops).
- Generate spec templates for other loops, which then can have the actual invariant filled in manually.
- Annotate the Solidity with comments to name each loop, so we can easily refer to them in the loop invariant using some sugared syntax for each contract.
Contributor guide
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
No files, tests, or entry points are named. Start by clarifying how Solidity compiler loop-head points and K macros should be extracted, then define the scope for generated copying/encoding specs, templates, and loop annotations. Done requires addressing all four listed helper-generation goals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- solidity
- Domain
- blockchain, compilers, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100