runtimeverification / runtimeverification/kontrol

Generate more helpers for loop specifications

Open
#74 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.