Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Sat 29 Sep 2018 13:55 - 14:20 at Burlington Route - Session 2

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. We believe that some of these errors can be quickly detected with static analysis. To facilitate detection of these errors, we have built a tool intended to be usable by developers. The tool has been created with certain design principles in mind, aiming for usability and maintainability.

We present a fragment of Erlang’s type system, a subtyping relation for it, and our type inference functions for communicating portions of Core Erlang. The implementation of the tool is detailed, noting specific behaviours and oddities encountered when dealing with Core Erlang code generated by the Erlang/OTP compiler, some of which complicate our analysis.

The current state of the tool is discussed, and we show examples of the subtle communications errors that the tool can detect. Although the preliminary version of our tool is basic and somewhat reliant on user input due to our lack of control- or data-flow analyses, we believe it serves as a useful foundation for automatic verification of Erlang concurrency on an ad-hoc basis.

PhD Candidate in the School of Computing.

Sat 29 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

13:30 - 14:30
13:30
25m
Full-paper
iDeA: An Immersive Debugger for Actors
Erlang
A: Aman Shankar Mathur MPI-SWS, Germany, A: Burcu Kulahcioglu Ozkan MPI-SWS, Germany, A: Rupak Majumdar MPI-SWS, Germany
DOI
13:55
25m
Full-paper
Automatic Detection of Core Erlang Message Passing Errors
Erlang
A: Joseph Harrison University of Kent, UK
DOI
14:20
10m
Coffee break
10 min Coffee break
Erlang