90 research outputs found
Game Semantics for Interface Middleweight Java
We consider an object calculus in which open terms interact with the environment through interfaces. The calculus is intended to capture the essence of contextual interactions of Middleweight Java code. Using game semantics, we provide fully abstract models for the induced notions of contextual approximation and equivalence. These are the first denotational models of this kind
Game semantic analysis of equivalence in IMJ
Using game semantics, we investigate the problem of verifying contextual equivalences in Interface Middleweight Java (IMJ), an imperative object calculus in which program phrases are typed using interfaces. Working in the setting where data types are non-recursive and restricted to finite domains, we identify the frontier between decidability and undecidability by reference to the structure of interfaces present in typing judgments. In particular, we show how to determine the decidability status of problem instances (over a fixed type signature) by examining the position of methods inside the term type and the types of its free identifiers. Our results build upon the recent fully abstract game semantics of IMJ. Decidability is proved by translation into visibly pushdown register automata over infinite alphabets with fresh-input recognition
Higher-Order Linearisability
Linearisability is a central notion for verifying concurrent libraries: a library is proven
correct if its operational history can be rearranged into a sequential one that satisfies a
given specification. Until now, linearisability has been examined for libraries in which
method arguments and method results were of ground type. In this paper we extend
linearisability to the general higher-order setting, where methods of arbitrary type can
be passed as arguments and returned as values, and establish its soundness
DEQ:Equivalence Checker for Deterministic Register Automata
Register automata are one of the most studied automata models over infinite alphabets with applications in learning, systems modelling
and program verification. We present an equivalence checker for deterministic register automata, called DEQ, based on a recent polynomial-time
algorithm that employs group-theoretic techniques to achieve succinct
representations of the search space. We compare the performance of our
tool to other available implementations, notably in the learning library
RALib and nominal frameworks LOIS and NLambda
- …