The Computer Journal Advance Access published online on November 3, 2009
The Computer Journal, doi:10.1093/comjnl/bxp092
A Unified Theory of Program Logics: An Approach based on the
-Calculus1
1 Department of Computer Science, Queen Mary, University of London, London, UK
2 Department of Computing, Imperial College London, UK
* Corresponding author: yoshida{at}doc.ic.ac.uk
Received 23 September 2009; revised 23 September 2009
Facing staggering diversity of software behaviours in modern and future computing, we argue for the need of a unified theory of program logics, which can capture a general class of software behaviours, as a foundation of software engineering. We propose Hennessy–Milner logic for typed
-calculi as a possible foundation of such a theory. The
-calculus is in a singular position among computational calculi through its ability to embed sequential and concurrent programs as name passing processes without losing semantic information, and through its connection to other basic semantic theories such as linear logic and game semantics. The embedding of programs in processes leads to the embedding of program logics in the process logic, where the observational content of a given program logic is made explicit, analysed and justified on a uniform basis. As a case study, we show embedding of Hoare logic for sequential programs and a rely-guarantee logic for shared variable concurrency, suggesting that the proposed framework can offer a unifying basis to capture fundamental notions in program logics such as partial/total correctness, sequentiality and different kinds of concurrent computing.
Key Words: the
-calculus types Hoare logics Hennessy–Milner logics relay-guarantee logic logical full abstraction
1 A preliminary version of this paper was presented at the BCS08 Visions of Computer Science Conference, held on September 22–24, 2008.