Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

A core Erlang semantics for declarative debugging

Loading...
Thumbnail Image

Full text at PDC

Publication date

2019

Advisors (or tutors)

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

Elsevier
Citations
Google Scholar

Citation

Caballero, Rafael, et al. «A Core Erlang Semantics for Declarative Debugging». Journal of Logical and Algebraic Methods in Programming, vol. 107, octubre de 2019, pp. 1-37. https://doi.org/10.1016/j.jlamp.2019.05.002.

Abstract

One of the main advantages of declarative languages is their clearly established formal semantics, that allows programmers to reason about the properties of programs and to establish the correctness of tools. In particular, declarative debugging is a technique that analyses the proof trees of computations to locate bugs in programs. However, in the case of commercial declarative languages such as the functional language Erlang, sometimes the semantics is only informally defined, and this precludes these possibilities. Moreover, defining semantics for these languages is far from trivial because they include complex features needed in real applications, such as concurrency. In this paper we define a semantics for Core Erlang, the intermediate language underlying Erlang programs. We focus on the problem of concurrency and show how a medium-sized-step calculus, that avoids the details of small-step semantics but still captures the most common program errors, can be used to define an algorithmic debugger that is sound and complete.

Research Projects

Organizational Units

Journal Issue

Description

Unesco subjects

Keywords

Collections