Skip to main content
Kent Academic Repository

A Formalisation of Core Erlang, a Concurrent Actor Language

Bereczky, Péter, Horpácsi, Dániel, Thompson, Simon (2024) A Formalisation of Core Erlang, a Concurrent Actor Language. Acta Cybernetica, 26 (3). pp. 373-404. ISSN 0324-721X. (doi:10.14232/actacyb.298977) (KAR id:107618)

Abstract

In order to reason about the behaviour of programs described in a programming language, a mathematically rigorous definition of that language is needed. In this paper, we present a machine-checked formalisation of concurrent Core Erlang (a subset of Erlang) based on our previous formalisations of its sequential sublanguage. We define a modular, frame stack semantics, show how program evaluation is carried out with it, and prove a number of properties (e.g. determinism, confluence). Finally, we define program equivalence based on bisimulations and prove that side-effect-free evaluation is a bisimulation. This research is part of a wider project that aims to verify refactorings to prove that particular program code transformations preserve program behaviour.

Item Type: Article
DOI/Identification number: 10.14232/actacyb.298977
Uncontrolled keywords: formal semantics, formal verification, concurrency, actor model, program equivalence, bisimulation, Erlang, Core Erlang, Coq
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Funders: University of Kent (https://ror.org/00xkeyj56)
Depositing User: Simon Thompson
Date Deposited: 26 Oct 2024 15:25 UTC
Last Modified: 28 Oct 2024 13:14 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/107618 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views of this page since July 2020. For more details click on the image.