CF-GKAT: Efficient Validation of Control-Flow Transformations
This program is tentative and subject to change.
Guarded Kleene Algebra with Tests (GKAT) provides a sound and complete framework to reason about trace equivalence between simple imperative programs. However, there are still several notable limitations of GKAT: First, it is completely agnostic with respect to the meaning of primitives, to keep equivalence decidable. Second, GKAT excludes non-local control flow such as goto, break and return. To overcome these limitations, we introduce control flow GKAT (CF-GKAT), a system that allows reasoning about programs that include non-local control flow as well as hardcoded values. CF-GKAT is able to soundly and completely verify trace equivalence of a larger class of programs, while preserving the nearly linear efficiency of GKAT. This makes CF-GKAT suitable for the verification of control-flow manipulating procedures, such as decompilation and goto-elimination. To demonstrate CF-GKAT’s abilities, we validated the output of several highly non-trivial program transformations, such as Böhm-Jacopini conversion, and Erosa and Hendren’s goto-elimination procedure. CF-GKAT opens up the application of Kleene Algebra to a wider set of challenges, and provides an important verification tool that can be applied to the field of decompilation and control-flow transformation.
This program is tentative and subject to change.
Thu 23 JanDisplayed time zone: Mountain Time (US & Canada) change
17:00 - 17:40 | |||
17:00 20mTalk | CF-GKAT: Efficient Validation of Control-Flow Transformations POPL Cheng Zhang University College London (UCL), Tobias Kappé LIACS, Leiden University, David E. Narváez Virginia Tech, Nico Naus Open University of The Netherlands & Virginia Tech | ||
17:20 20mTalk | Algebras for Deterministic Computation are Inherently Incomplete POPL |