Skipping Refinement
Mitesh Jain, Panagiotis Manolios

TL;DR
Skipping refinement is a new correctness notion for optimized reactive systems that allows for multiple specification steps to be matched by a single implementation step, enabling better analysis of optimized systems.
Contribution
The paper introduces skipping simulation refinement, a novel concept with local proof rules for automated verification of optimized reactive systems.
Findings
Enables automated verification of systems with skipping behaviors.
Applicable to JVM-inspired stack machines, memory controllers, and compiler transformations.
Current tools struggle with these systems without skipping refinement.
Abstract
We introduce skipping refinement, a new notion of correctness for reasoning about optimized reactive systems. Reasoning about reactive systems using refinement involves defining an abstract, high-level specification system and a concrete, low-level implementation system. One then shows that every behavior allowed by the implementation is also allowed by the specification. Due to the difference in abstraction levels, it is often the case that the implementation requires many steps to match one step of the specification, hence, it is quite useful for refinement to directly account for stuttering. Some optimized implementations, however, can actually take multiple specification steps at once. For example, a memory controller can buffer the commands to the memory and at a later time simultaneously update multiple memory locations, thereby skipping several observable states of the abstract…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Security and Verification in Computing
