runtimeverification / runtimeverification/kontrol

Improve proof management

Open
#30 4 comments 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

During the verification of a property, multiple kcfg files are produced. Comparing and inspecting back and forth such files is often part of the verification process. Here are some improvements that would reduce the friction of handling such files.

  • Have kontrol foundry-show testProperty and kontrol foundry-view-kcfg testProperty default to the latest kcfg of testProperty. Currently, if there are multiple kcfgs for testProperty, an error is thrown asking for the desired id
  • Have kontrol foundry-show and kontrol foundry-view-kcfg with no more arguments show all different proofs possible for display, so that the user can interactively pick one from the list
  • Allow deletion of kcfgs from the cli tool, perhaps with a new command like kontrol foundry-manage-kcfg
  • Add KEVM/Kontrol version to proofs as logging info, similarly as ids. Such information would be displayed with kontrol foundry-list, and could be included with foundry-show and foundry-kcfg
  • Allow users to custom proof names. For instance, appending some string to Test.testProperty like Test.testProperty-ModificationA. This would allow for keeping better track of the particularities of each proof

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

Begin with the foundry-show, foundry-view-kcfg, foundry-list, and foundry-kcfg CLI entry points named in the issue, and trace how they select and display proofs. The issue contains five separate proposals, so first define which behavior is in scope and its acceptance criteria; done should be demonstrated for the selected proposal without leaving the others ambiguous.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.