Mungo and StMungo: tools for typechecking protocols in Java

Dardha, O. , Gay, S. J. , Kouzapas, D., Perera, R. , Voinea, A. L. and Weber, F. (2017) Mungo and StMungo: tools for typechecking protocols in Java. In: Gay, S. and Ravara, A. (eds.) Behavioural Types: from Theory to Tools. Series: River Publishers Series in Automation, Control and Robotics. River Publishers, pp. 309-328. ISBN 9788793519824

146891.pdf - Published Version
Available under License Creative Commons Attribution Non-commercial.


Publisher's URL:


We present two tools that support static typechecking of communica- tion protocols in Java. Mungo associates Java classes with typestate specifications, which are state machines defining permitted sequences of method calls. StMungo translates a communication protocol specified in the Scribble protocol description language into a typestate specification for each role in the protocol by following the message sequence. Role implementations can be typechecked by Mungo to ensure that they satisfy their protocols, and then compiled as usual with javac. We demonstrate the Scribble, StMungo and Mungo toolchain via a typechecked POP3 client that can communicate with a real-world POP3 server.

Item Type:Book Sections
Glasgow Author(s) Enlighten ID:WEBER, FLORIAN and Dardha, Dr Ornela and VOINEA, Laura and Perera, Dr Roland and Gay, Professor Simon and Kouzapas, Mr Dimitrios
Authors: Dardha, O., Gay, S. J., Kouzapas, D., Perera, R., Voinea, A. L., and Weber, F.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Q Science > QA Mathematics > QA76 Computer software
College/School:College of Science and Engineering > School of Computing Science
Publisher:River Publishers
Copyright Holders:Copyright © 2017 The Authors
First Published:First published in Behavioural Types: from Theory to Tools: 309-328
Publisher Policy:Reproduced under a Creative Commons license

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
612411From Data Types to Session Types - A Basis for Concurrency and Distribution.Simon GayEngineering and Physical Sciences Research Council (EPSRC)EP/K034413/1COM - COMPUTING SCIENCE