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: |