In this paper we explain how recursion operators can be used to structure and reason about program semantics within a functional language. In particular, we show how the recursion...
In this paper we propose a communication-centric approach to specifying and checking how multithreaded programs use shared memory to perform inter-thread communication. Our approa...
Benjamin P. Wood, Adrian Sampson, Luis Ceze, Dan G...
Abstract. The Unifying Theories of Programming underpins the development of Circus, a state-rich process algebra for refinement. We have previously presented a theory of testing fo...
We define logical relations between the denotational semantics of a simply typed functional language with recursion and the operational behaviour of low-level programs in a varian...
We consider software verification of imperative programs by theorem proving in higher-order separation logic. Of particular interest are the difficulties of encoding and reasoning ...