Type inference and strong static type checking for Promela

Donaldson, A.F. and Gay, S.J. (2010) Type inference and strong static type checking for Promela. Science of Computer Programming, 75(11), pp. 1165-1191. (doi: 10.1016/j.scico.2010.05.010)

Full text not currently available from Enlighten.

Publisher's URL: http://dx.doi.org/10.1016/j.scico.2010.05.010

Abstract

The Spin model checker and its specification language Promela have been used extensively in industry and academia to check the logical properties of distributed algorithms and protocols. Model checking with Spin involves reasoning about a system via an abstract Promela specification, thus the technique depends critically on the soundness of this specification. Promela includes a rich set of data types including first-class channels, but the language syntax restricts the declaration of channel types so that it is not generally possible to deduce the complete type of a channel directly from its declaration. We present the design and implementation of Etch, an enhanced type checker for Promela, which uses constraint-based type inference to perform strong type checking of Promela specifications, allowing static detection of errors that Spin would not detect until simulation/verification time, or that Spin may miss completely. We discuss theoretical and practical problems associated with designing a type system and type checker for an existing language, and formalise our approach using a Promela-like calculus. To handle subtyping between base types, we present an extension to a standard unification algorithm to solve a system of equality and subtyping constraints, based on bounded substitutions.

Item Type:Articles
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Gay, Professor Simon
Authors: Donaldson, A.F., and Gay, S.J.
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
Journal Name:Science of Computer Programming
ISSN:0167-6423
ISSN (Online):1872-7964
Published Online:18 June 2010

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

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
452331Engineering foundations of web services - theories and tool supportSimon GayEngineering & Physical Sciences Research Council (EPSRC)EP/E065708/1Computing Science