Graph explorer

Skipping Refinement

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 specification, which only updates one memory location at a time. We introduce skipping simulation refinement and provide a sound and complete characterization consisting of "local" proof rules that are amenable to mechanization and automated verification. We present case studies that highlight

5 nodes5 linksoverview mapSkipping Refinement
5 nodes5 links
Skipping Refinement5 visible / 5 total nodes / 6 links
Related contextCo-authorshipAuthorshipAuthorshipTopic signalTopic signalWSkipping Refinementpreprint / 2015AMitesh JainResearcherAPanagiotis ManoliosResearcherTLogic in Computer Science2208 worksTProgramming Languages1239 works
PaperSignal 104 links

Skipping Refinement

preprint / 2015

Open