Modeling Erlang Compiler IR as SMT Formulas
Erlang is an unorthodox language because fault-tolerance and observability (tracing) are baked into the language. This allows users to debug production systems without the maintenance overhead of adding these features manually, but comes at the cost of adding a side effect to almost every operation.
Because of tracing, the compiler does not have much freedom to perform common optimizations, and requires sophisticated analysis to safely apply all but the simplest transformations. Each individual optimization also implements its own bespoke analysis, which is error-prone and difficult to maintain.
This report describes an ongoing experiment on translating one of the compiler’s intermediate representations (IR) to formulas, enabling the use of a satisfiability modulo theories (SMT) solver to drive analysis as well as prove the semantics-preserving nature of optimizations.
Mon 2 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30 | |||
11:00 30mTalk | Same same but different: A Comparative Analysis of Static Type Checkers in Erlang Erlang Florian Berger University of Kaiserslautern-Landau, Albert Schimpf University of Kaiserslautern-Landau, Annette Bieniusa University of Kaiserslautern-Landau, Stefan Wehr Offenburg University of Applied Sciences | ||
11:30 30mTalk | Nominal Types for Erlang Erlang Isabell Huang , John Högberg , Tobias Wrigstad Uppsala University, Kiko Fernandez-Reyes Ericsson, Sweden | ||
12:00 30mTalk | Modeling Erlang Compiler IR as SMT Formulas Erlang |