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...
Main Author: | |
---|---|
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 |