One of the most common tools for proving behavioral refinements between transition systems is the method of \emph{simulation} proofs, which has been explored extensively over the past several decades.
Stuttering simulations are an extension of traditional simulations—used, for example, in CompCert—in which either the source or target of the simulation is permitted to ``stutter'' (stay in place) while the other side steps forward.
In the interest of ensuring soundness, however, existing stuttering simulations restrict proofs to only perform a finite number of stuttering steps before making \emph{synchronous progress}—a step of reasoning in which both sides of the simulation progress forward together.
This restriction guarantees that a terminating program cannot be proven to simulate a non-terminating one.
In this paper, we observe that the requirement to eventually achieve synchronous progress is burdensome and, what's more, unnecessary: it is possible to ensure soundness of stuttering simulations while only requiring \emph{asynchronous progress} (progress on both sides of the simulation that may be achieved with only stuttering steps).
Building on this observation, we develop a new simulation technique we call \textbf{FreeSim} (short for ``freely-stuttering simulations''), mechanized in Coq, and we demonstrate its effectiveness on a range of interesting case studies.
These include a simplification of the meta-theory of CompCert, as well as the \textbf{DTrees} library, which enriches the ITrees (Interaction Trees) library with dual non-determinism.
Fri 27 OctDisplayed time zone: Lisbon change
14:00 - 15:30 | |||
14:00 18mTalk | Stuttering for Free OOPSLA Minki Cho Seoul National University, Youngju Song MPI-SWS, Dongjae Lee Seoul National University, Lennard Gäher MPI-SWS, Derek Dreyer MPI-SWS DOI | ||
14:18 18mTalk | Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier OOPSLA Zhengyao Lin Carnegie Mellon University, Xiaohong Chen University of Illinois at Urbana-Champaign, Minh-Thai Trinh Advanced Digital Sciences Center, John Wang University of Illinois at Urbana-Champaign, Grigore Roşu University of Illinois at Urbana-Champaign DOI | ||
14:36 18mTalk | Complete First-Order Reasoning for Properties of Functional Programs OOPSLA Adithya Murali University of Illinois at Urbana-Champaign, Lucas Peña University of Illinois at Urbana-Champaign, Ranjit Jhala University of California at San Diego, P. Madhusudan University of Illinois at Urbana-Champaign DOI | ||
14:54 18mTalk | Counterexample Driven Quantifier Instantiations with Applications to Distributed Protocols OOPSLA Orr Tamir Tel Aviv University, Marcelo Taube Tel Aviv University, Kenneth L. McMillan University of Texas at Austin, Sharon Shoham Tel Aviv University, Jon Howell VMware Research, Guy Gueta VMware Research, Mooly Sagiv Tel Aviv University DOI | ||
15:12 18mTalk | A conceptual framework for safe object initialization: a principled and mechanized soundness proof of the Celsius model OOPSLA Link to publication DOI |