Static analysis of communications for Erlang

Fabien Dagnat, Marc Pantel · 2002

In this paper, we present an insight of the two major contributions of works made to build a static analyzer of Erlang programs. First, we introduce a general framework based on a process calculus (the con gurations). This formalism describes concurrent aspects and abstracts functional ones. Obtaining the Erlang semantics is then just instantiating this framework with an adequate functional setting. The second contribution is a sophisticated type system for Erlang. This type system infers types and subtyping constraints for a program and ensures that the collected constraints have at least one solution. This system detects usual functional errors but also some of the communication errors. More precisely, for each process, it cumulates all received messages and all handled messages and ensures that the rst is included in the second. To do this, it borrows concepts to the object (or record) usual typing in ML.

Read the paper · More papers on PaperTik