Annette Bieniusa

Professor At University Of Kaiserslautern-Landau

Annette is a professor of Software Technology at the University of Kaiserslautern-Landau. Her research interests include the semantics of concurrent and distributed programming, with a focus on replication, synchronization, and how they are reflected on a programming language level. She is passionate about CRDTs, verification, and engaging students with the BEAM.

Same same but different: Static type checkers for Erlang

Though Erlang’s type annotations were originally intended for documentation purposes, static analysis tools soon utilized them for semantic checks. However, due to a need for more semantic agreement on Erlang’s type annotations, their results differ in ways that can be challenging for users to interpret. In our session, we cross-compare four state-of-the-art tools (Dialyzer, Gradualizer, eqWAlizer, etylizer) regarding their expressivity and performance. Their unified test suites provide a good starting point to understand their respective capabilities and limitations. Insights into the underlying approaches can help Erlang developers make an educated choice which analysis tool to use for their projects and how to interpret the result of a type check.

Key Takeaways:

  • What are best practices for type annotations in Erlang?
  • What gurantees do the different available type checkers give me?
  • I got a type error - what now?