Pushdown Automata and Game Semantics
1st January 2005 to 31st December 2007
Our goal is to study the algorithmic properties of, and develop verification techniques for, classes of infinite-state sequential
systems (incuding automata and game models) that are abstract and accurate models of computation for appropriate fragments
of Higher-Order Procedural Languages, or HOPL, for short. A language that exemplifies the richness of HOPL is Idealized Algol,
a compact language that elegantly combines state-based procedural programming with higher-order functional features, mediated
by a simple type theory; better known examples of HOPL are ML and C. The simplest and prototypical such models of computation
are the deterministic pushdown automata (DPDA). We plan to construct an "efficient" implementation of an equivalence-checker
for real-time DPDA, and use it as the engine of a tool for verifying observational equivalence and temporal properties of
low-order fragments of (recursion-free) Idealized Algol. Our semantics-based approach has several advantages: we obtain a
fullyautomatic verifier that is compositional (as our model checker applies directly to terms-in-context); further, thanks
to the underpinning fully abstract game semantics, soundness and completeness are systematically guaranteed. The remainder
of this proposal concerns the verification of recursively-defined HOPL programs, especially those at the low end of the type
hierarchy. We shall examine old (e.g. higher-order recursion schemes) and seek new algorithmic representations of classes
of recursive programs (e.g. higherorder pushdown trees augmented by lambda-binders or generalized Beohm trees) that accurately
model the binding mechanisms of higher-order variables. We aim to develop algorithmic techniques for equivalence-checking
and model-checking these models of computation. This project will be jointly investigated by C. P. Stirling (University of
Edinbrugh) and C.-H. L. Ong (University of Oxford).