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) |
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):