A Proof Assistant Based Formalisation of Core Erlang

05/24/2020
by   Péter Bereczky, et al.
0

Our research is part of a wider project that aims to investigate and reason about the correctness of scheme-based source code transformations of Erlang programs. In order to formally reason about the definition of a programming language and the software built using it, we need a mathematically rigorous description of that language. In this paper, we present our proof-assistant-based formalisation of a subset of Erlang, intended to serve as a base for proving refactorings correct. After discussing how we reused concepts from related work, we show the syntax and semantics of our formal description, including the abstractions involved (e.g. closures). We also present essential properties of the formalisation (e.g. determinism) along with their machine-checked proofs. Finally, we prove the correctness of some simple refactoring strategies.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/30/2022

Program Equivalence in an Untyped, Call-by-value Lambda Calculus with Uncurried Recursive Functions

We aim to reason about the correctness of behaviour-preserving transform...
research
07/06/2020

A Term-Rewriting Semantics for Imperative Style Programming

Term rewriting systems have a simple syntax and semantics and facilitate...
research
03/15/2023

A Formalization of Operads in Coq

What provides the highest level of assurance for correctness of executio...
research
05/18/2020

PubSub implementation in Haskell with formal verification in Coq

In the cloud, the technology is used on-demand without the need to insta...
research
05/18/2022

An approach to translating Haskell programs to Agda and reasoning about them

We are using the Agda programming language and proof assistant to formal...
research
02/16/2022

Mechanization of LAGC Semantics in Isabelle

Formal programming language semantics are imperative when trying to veri...
research
08/24/2017

Trustworthy Refactoring via Decomposition and Schemes: A Complex Case Study

Widely used complex code refactoring tools lack a solid reasoning about ...

Please sign up or login with your details

Forgot password? Click here to reset