runtimeverification / runtimeverification/kontrol
Improve proof management
Nobody has claimed this yet.
- 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 testPropertyandkontrol foundry-view-kcfg testPropertydefault to the latest kcfg oftestProperty. Currently, if there are multiple kcfgs fortestProperty, an error is thrown asking for the desiredid - Have
kontrol foundry-showandkontrol foundry-view-kcfgwith 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 withfoundry-showandfoundry-kcfg - Allow users to custom proof names. For instance, appending some string to
Test.testPropertylikeTest.testProperty-ModificationA. This would allow for keeping better track of the particularities of each proof
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
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