A framework for reasoning about Erlang code

We present a framework for formal reasoning about the behaviour of software written in Erlang, a functional programming language with prominent support for process based concurrency, message passing communication and distribution. The framework contains the following key ingredients: a specification...

Full description

Bibliographic Details
Main Author: Fredlund, Lars-Åke
Format: Doctoral Thesis
Language:English
Published: SICS 2001
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:ri:diva-22629
id ndltd-UPSALLA1-oai-DiVA.org-ri-22629
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-ri-226292017-10-11T05:15:25ZA framework for reasoning about Erlang codeengFredlund, Lars-ÅkeSICS2001Computer and Information ScienceData- och informationsvetenskapWe present a framework for formal reasoning about the behaviour of software written in Erlang, a functional programming language with prominent support for process based concurrency, message passing communication and distribution. The framework contains the following key ingredients: a specification language based on the mu-calculus and first-order predicate logic, a hierarchical small-step structural operational semantics of Erlang, a judgement format allowing parameterised behavioural assertions, and a Gentzen style proof system for proving validity of such assertions. The proof system supports property decomposition through a cut rule and handles program recursion through well-founded induction. An implementation is available in the form of a proof assistant tool for checking the correctness of proof steps. The tool offers support for automatic proof discovery through higher--level rules tailored to Erlang. As illustrated in several case <p>Trita-IT. AVH ; 01:04, URI: urn:nbn:se:kth:diva-3210</p>Doctoral thesis, monographinfo:eu-repo/semantics/doctoralThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:ri:diva-22629SICS dissertation series, 1101-1335 ; 29application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Doctoral Thesis
sources NDLTD
topic Computer and Information Science
Data- och informationsvetenskap
spellingShingle Computer and Information Science
Data- och informationsvetenskap
Fredlund, Lars-Åke
A framework for reasoning about Erlang code
description We present a framework for formal reasoning about the behaviour of software written in Erlang, a functional programming language with prominent support for process based concurrency, message passing communication and distribution. The framework contains the following key ingredients: a specification language based on the mu-calculus and first-order predicate logic, a hierarchical small-step structural operational semantics of Erlang, a judgement format allowing parameterised behavioural assertions, and a Gentzen style proof system for proving validity of such assertions. The proof system supports property decomposition through a cut rule and handles program recursion through well-founded induction. An implementation is available in the form of a proof assistant tool for checking the correctness of proof steps. The tool offers support for automatic proof discovery through higher--level rules tailored to Erlang. As illustrated in several case === <p>Trita-IT. AVH ; 01:04, URI: urn:nbn:se:kth:diva-3210</p>
author Fredlund, Lars-Åke
author_facet Fredlund, Lars-Åke
author_sort Fredlund, Lars-Åke
title A framework for reasoning about Erlang code
title_short A framework for reasoning about Erlang code
title_full A framework for reasoning about Erlang code
title_fullStr A framework for reasoning about Erlang code
title_full_unstemmed A framework for reasoning about Erlang code
title_sort framework for reasoning about erlang code
publisher SICS
publishDate 2001
url http://urn.kb.se/resolve?urn=urn:nbn:se:ri:diva-22629
work_keys_str_mv AT fredlundlarsake aframeworkforreasoningabouterlangcode
AT fredlundlarsake frameworkforreasoningabouterlangcode
_version_ 1718553164936904704