runtimeverification / runtimeverification/kontrol
Construct an appropriate `is_mergable` heuristic for merging nodes and composable verification.
Open
Nobody has claimed this yet.
cse
enhancement
- Dominant language
- Python
- Stars
- 122
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
Currently, we have implemented a language-agnostic merge_node (K#4425). However, applying it to practical scenarios and solving problems like Kontrol#448 still requires addressing the following challenges:
- From the verification user’s perspective, what are the understandable benefits of merged nodes? For example, loop-invariant generation or support for composable verification at the function level?
- From a requirements/theoretical perspective, what kind of nodes are mergable or are reasonable to be merged?
- From a technical perspective, how to distinguish them by a simple specification.
- Theoretical reliability analysis: Can these specifications theoretically meet our requirements?
- Implementation reliability analysis: Can our implementation achieve the theoretical results?
Some answers to the above issues:
- According to the current, users are easy to check the unexpected result of the auto-merged function spec. However, they cannot specify concrete behavior of that function. They can only specify the function under different status.
Here are some small steps/tasks that I plan to complete next:
- https://github.com/runtimeverification/evm-semantics/pull/2627; https://github.com/runtimeverification/evm-semantics/pull/2626
- #824
- Determine how to use logical specifications to describe it.
- Implement this specification in KEVM.
- Check the result in Kontrol. #829
- Provide more node-merging examples/case, e.g., LIDO ...
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.
Assessment
This issue has not been assessed yet.