Skip to main content

Automatic detection of core Erlang message passing errors

Harrison, Joseph (2018) Automatic detection of core Erlang message passing errors. In: Proceedings of the 17th ACM SIGPLAN International Workshop on Erlang - Erlang 2018. Erlang 2018 Proceedings of the 17th ACM SIGPLAN International Workshop on Erlang. . pp. 37-48. ACM Press ISBN 978-1-4503-5824-8. (doi:10.1145/3239332.3242765) (The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided)

The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided. (Contact us about this Publication)
Official URL
https://doi.org/10.1145/3239332.3242765

Abstract

Erlang's powerful communication model allows us to build high-level concurrent systems. These can, however, harbour subtle communication errors less severe than global deadlock or crashes: messages never received can degrade performance and consume swaths of memory. We believe that some of these errors can be quickly detected with static analysis. We have built a prototype tool which operates at the Core Erlang level to assist identification of some of these errors. We present a fragment of Erlang's type system as a subtyping relation, following up with type inference functions for a portion of Core Erlang's patterns, guards, and message syntax. The implementation of the prototype is detailed, noting specific behaviours of the Erlang compiler and nuances of Core Erlang's syntax along the way, some of which complicate our analysis. Although our tool is at a very early stage of development, we show examples of the errors we can identify, despite using a considerable over-approximation in our type inference system. After comparing our tool to other work in the Erlang community and beyond, we reflect on the current state of the prototype, before considering further applications of our concept of message compatibility.

Item Type: Conference or workshop item (Paper)
DOI/Identification number: 10.1145/3239332.3242765
Divisions: Faculties > Sciences > School of Computing
SWORD Depositor: JISC Publications Router
Depositing User: JISC Publications Router
Date Deposited: 01 Nov 2018 15:23 UTC
Last Modified: 29 May 2019 21:12 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/69298 (The current URI for this page, for reference purposes)
  • Depositors only (login required):