Cons T Åhs

Analysing Erlang (and more) at WhatsApp

Cons has a long history of writing code, with Lisp and functional languages from early days. Worked with formal methods, language implementation and lecturing at Uppsala University and escaped to a life of speech synthesis, music notation, graphics, networks, imaging, online poker, network configuration and more language implementation. Currently a member of the Code Analysis Team at WhatsApp, working with building tools for analysing Erlang, and other languages, for various aspects and properties.

Analysing and Understanding Erlang Programmatically

Code is being read more often than it is written, but who reads the code? Not only developers and the compiler, but also a large number of tools for analysing code. Analysis tools can be a great time saver, both by providing interactive help during development, but also for finding properties of code and change requests. This talk will focus on the latter where the main target of the results are other programmatic interfaces. Contents will include existing tools in OTP for analysis, pitfalls of analysis (with examples), why build tools and debug_info are your best friends when doing analysis. Additionally, there will a high level overview of code analysis tools for Erlang built in Erlang at WhatsApp. The use of these tools translate to saving developer time and other resources.

Talk objectives:

Analysing and understanding code and and changes to code contains more challenges than just looking at the source code (changes). Finding the right level of abstraction for doing the analysis, especially when it is done with programmatic interfaces in mind is important and can simplify the analysis. Finding the right point to do the analysis also decreases the number of languages one needs to understand.

Target audience

  • Developers, tool makers