Cargando…

Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems

Building network-connected programs and distributed systems is a powerful way to provide scalability and availability in a digital, always-connected era. However, with great power comes great complexity. Reasoning about distributed systems is well-known to be difficult. In this paper we present Aner...

Descripción completa

Detalles Bibliográficos
Autores principales: Krogh-Jespersen, Morten, Timany, Amin, Ohlenbusch, Marit Edna, Gregersen, Simon Oddershede, Birkedal, Lars
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702244/
http://dx.doi.org/10.1007/978-3-030-44914-8_13
_version_ 1783616575165693952
author Krogh-Jespersen, Morten
Timany, Amin
Ohlenbusch, Marit Edna
Gregersen, Simon Oddershede
Birkedal, Lars
author_facet Krogh-Jespersen, Morten
Timany, Amin
Ohlenbusch, Marit Edna
Gregersen, Simon Oddershede
Birkedal, Lars
author_sort Krogh-Jespersen, Morten
collection PubMed
description Building network-connected programs and distributed systems is a powerful way to provide scalability and availability in a digital, always-connected era. However, with great power comes great complexity. Reasoning about distributed systems is well-known to be difficult. In this paper we present Aneris, a novel framework based on separation logic supporting modular, node-local reasoning about concurrent and distributed systems. The logic is higher-order, concurrent, with higher-order store and network sockets, and is fully mechanized in the Coq proof assistant. We use our framework to verify an implementation of a load balancer that uses multi-threading to distribute load amongst multiple servers and an implementation of the two-phase-commit protocol with a replicated logging service as a client. The two examples certify that Aneris is well-suited for both horizontal and vertical modular reasoning.
format Online
Article
Text
id pubmed-7702244
institution National Center for Biotechnology Information
language English
publishDate 2020
record_format MEDLINE/PubMed
spelling pubmed-77022442020-12-01 Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems Krogh-Jespersen, Morten Timany, Amin Ohlenbusch, Marit Edna Gregersen, Simon Oddershede Birkedal, Lars Programming Languages and Systems Article Building network-connected programs and distributed systems is a powerful way to provide scalability and availability in a digital, always-connected era. However, with great power comes great complexity. Reasoning about distributed systems is well-known to be difficult. In this paper we present Aneris, a novel framework based on separation logic supporting modular, node-local reasoning about concurrent and distributed systems. The logic is higher-order, concurrent, with higher-order store and network sockets, and is fully mechanized in the Coq proof assistant. We use our framework to verify an implementation of a load balancer that uses multi-threading to distribute load amongst multiple servers and an implementation of the two-phase-commit protocol with a replicated logging service as a client. The two examples certify that Aneris is well-suited for both horizontal and vertical modular reasoning. 2020-04-18 /pmc/articles/PMC7702244/ http://dx.doi.org/10.1007/978-3-030-44914-8_13 Text en © The Author(s) 2020 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
spellingShingle Article
Krogh-Jespersen, Morten
Timany, Amin
Ohlenbusch, Marit Edna
Gregersen, Simon Oddershede
Birkedal, Lars
Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems
title Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems
title_full Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems
title_fullStr Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems
title_full_unstemmed Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems
title_short Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems
title_sort aneris: a mechanised logic for modular reasoning about distributed systems
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702244/
http://dx.doi.org/10.1007/978-3-030-44914-8_13
work_keys_str_mv AT kroghjespersenmorten anerisamechanisedlogicformodularreasoningaboutdistributedsystems
AT timanyamin anerisamechanisedlogicformodularreasoningaboutdistributedsystems
AT ohlenbuschmaritedna anerisamechanisedlogicformodularreasoningaboutdistributedsystems
AT gregersensimonoddershede anerisamechanisedlogicformodularreasoningaboutdistributedsystems
AT birkedallars anerisamechanisedlogicformodularreasoningaboutdistributedsystems