Skip to main content
Kent Academic Repository

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) (KAR id:69298)

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: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
SWORD Depositor: JISC Publications Router
Depositing User: JISC Publications Router
Date Deposited: 01 Nov 2018 15:23 UTC
Last Modified: 05 Nov 2024 12:31 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/69298 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.