FLOC 2018: FEDERATED LOGIC CONFERENCE 2018
Metaprogramming and symbolic execution for detecting runtime errors in Erlang programs

Authors: Emanuele De Angelis, Fabio Fioravanti, Adrián Palacios, Alberto Pettorossi and Maurizio Proietti

Paper Information

Title:Metaprogramming and symbolic execution for detecting runtime errors in Erlang programs
Authors:Emanuele De Angelis, Fabio Fioravanti, Adrián Palacios, Alberto Pettorossi and Maurizio Proietti
Proceedings:HCVS Papers
Editors: German Vidal and Temesghen Kahsai
Keywords:Constraint Logic Programming, Program Verification, Erlang
Abstract:

ABSTRACT. Dynamically typed languages, like Erlang, allow developers to quickly write programs without explicitly providing any type information on expressions or function definitions. However, this feature makes dynamic languages less reliable, because many runtime errors would be easily caught in statically typed languages. Besides, adding concurrency to the mix leads to a programming language where some runtime errors only appear for a particular execution of the program. In this paper, we present our preliminary work on a tool that, by using the well-known techniques of metaprogramming and symbolic execution, can be used to perform bounded verification of Erlang programs. In particular, by using Constraint Logic Programming, we develop an interpreter that, given an Erlang program and a symbolic input, returns answer constraints that represent sets of concrete data for which the Erlang program will incur in a runtime error.

Pages:5
Talk:Jul 13 10:00 (Session 83E)
Paper: