School of Computing

Mobile escape analysis for occam-pi

Frederick R. M. Barnes

In P.H. Welch, H.W. Roebbers, J.F. Broenink, F.R.M. Barnes, C.G. Ritson, A.T. Sampson, G.S. Stiles, and B. Vinter, editors, Communicating Process Architectures 2009, volume 67 of Concurrent Systems Engineering, pages 182-196. IOS Press, November 2009 [doi].


Escape analysis is the process of discovering boundaries of dynamically allocated objects in programming languages. For object-oriented languages such as C++ and Java, this analysis leads to an understanding of which program objects interact directly, as well as what objects hold references to other objects. Such information can be used to help verify the correctness of an implementation with respect to its design, or provide information to a run-time system about which objects can be allocated on the stack (because they do not `escape' the method in which they are declared). For existing object-oriented languages, this analysis is typically made difficult by aliasing endemic to the language, and is further complicated by inheritance and polymorphism. In contrast, the occam-pi programming language is a process-oriented language, with systems built from layered networks of communicating concurrent processes. The language has a strong relationship with the CSP process algebra, that can be used to reason formally about the correctness of occam-pi programs. This paper presents early work on a compositional escape analysis technique for mobiles in the occam-pi programming language, in a style not dissimilar to existing CSP analyses. The primary aim is to discover the boundaries of mobiles within the communication graph, and to determine whether or not they escape any particular process or network of processes. The technique is demonstrated by analysing some typical occam-pi processes and networks, giving a formal understanding of their mobile escape behaviour.

Download publication 156 kbytes (PDF)

Bibtex Record

author = {Frederick R. M. Barnes},
title = {Mobile Escape Analysis for occam-pi},
month = {November},
year = {2009},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {10.3233/978-1-60750-065-0-117},
url = {},
    publication_type = {inproceedings},
    submission_id = {3219_1267118526},
    ISBN = {978-1-60750-065-0},
    booktitle = {Communicating Process Architectures 2009},
    editor = {P.H. Welch and H.W. Roebbers and J.F. Broenink and F.R.M. Barnes and C.G. Ritson and A.T. Sampson and G.S. Stiles and B. Vinter},
    volume = {67},
    series = {Concurrent Systems Engineering},
    publisher = {IOS Press},
    ISSN = {1383-7575},
    refereed = {yes},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014