Towards Verification of the Pastry Protocol using TLA+

International audience Pastry is an algorithm that provides a scalable distributed hash table over an underlying P2P network. Several implementations of Pastry are available and have been applied in practice, but no attempt has so far been made to formally describe the algorithm or to verify its pro...

Full description

Bibliographic Details
Main Authors: Merz, Stephan, Lu, Tianxiang, Weidenbach, Christoph
Other Authors: VERIfication pour les systèmes DIStribués (VERIDIS), Inria Nancy - Grand Est, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Laboratoire Lorrain de Recherche en Informatique et ses Applications (LORIA), Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS), Microsoft Research - Inria Joint Centre (MSR - INRIA), Institut National de Recherche en Informatique et en Automatique (Inria)-Microsoft Research Laboratory Cambridge-Microsoft Corporation Redmond, Wash., Max-Planck-Institut für Informatik (MPII), Max-Planck-Gesellschaft, R. Bruni and J. Dingel
Format: Conference Object
Language:English
Published: HAL CCSD 2011
Subjects:
Online Access:https://inria.hal.science/inria-00593523
id ftunilorrainehal:oai:HAL:inria-00593523v1
record_format openpolar
spelling ftunilorrainehal:oai:HAL:inria-00593523v1 2023-10-09T21:52:47+02:00 Towards Verification of the Pastry Protocol using TLA+ Merz, Stephan Lu, Tianxiang Weidenbach, Christoph VERIfication pour les systèmes DIStribués (VERIDIS) Inria Nancy - Grand Est Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Laboratoire Lorrain de Recherche en Informatique et ses Applications (LORIA) Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS) Microsoft Research - Inria Joint Centre (MSR - INRIA) Institut National de Recherche en Informatique et en Automatique (Inria)-Microsoft Research Laboratory Cambridge-Microsoft Corporation Redmond, Wash. Max-Planck-Institut für Informatik (MPII) Max-Planck-Gesellschaft R. Bruni and J. Dingel Reykjavik, Iceland 2011-06 https://inria.hal.science/inria-00593523 en eng HAL CCSD inria-00593523 https://inria.hal.science/inria-00593523 31st IFIP International Conference on Formal Techniques for Networked and Distributed Systems https://inria.hal.science/inria-00593523 31st IFIP International Conference on Formal Techniques for Networked and Distributed Systems, Jun 2011, Reykjavik, Iceland network protocols verification methods model checking formal specification ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification/D.2.4.2: Correctness proofs ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification/D.2.4.3: Formal methods ACM: C.: Computer Systems Organization/C.2: COMPUTER-COMMUNICATION NETWORKS/C.2.4: Distributed Systems [INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO] info:eu-repo/semantics/conferenceObject Conference papers 2011 ftunilorrainehal 2023-09-12T22:42:25Z International audience Pastry is an algorithm that provides a scalable distributed hash table over an underlying P2P network. Several implementations of Pastry are available and have been applied in practice, but no attempt has so far been made to formally describe the algorithm or to verify its properties. Since Pastry combines rather complex data structures, asynchronous communication, concurrency, resilience to churn and fault tolerance, it makes an interesting target for verification. We have modeled Pastry's core routing algorithms and communication protocol in the specification language TLA+. In order to validate the model and to search for bugs we employed the TLA+ model checker TLC to analyze several qualitative properties. We obtained non-trivial insights in the behavior of Pastry through the model checking analysis. Furthermore, we started to verify Pastry using the very same model and the interactive theorem prover TLAPS for TLA+. A first result is the reduction of global Pastry correctness properties to invariants of the underlying data structures. Conference Object Iceland Université de Lorraine: HAL
institution Open Polar
collection Université de Lorraine: HAL
op_collection_id ftunilorrainehal
language English
topic network protocols
verification methods
model checking
formal specification
ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification/D.2.4.2: Correctness proofs
ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification/D.2.4.3: Formal methods
ACM: C.: Computer Systems Organization/C.2: COMPUTER-COMMUNICATION NETWORKS/C.2.4: Distributed Systems
[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO]
spellingShingle network protocols
verification methods
model checking
formal specification
ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification/D.2.4.2: Correctness proofs
ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification/D.2.4.3: Formal methods
ACM: C.: Computer Systems Organization/C.2: COMPUTER-COMMUNICATION NETWORKS/C.2.4: Distributed Systems
[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO]
Merz, Stephan
Lu, Tianxiang
Weidenbach, Christoph
Towards Verification of the Pastry Protocol using TLA+
topic_facet network protocols
verification methods
model checking
formal specification
ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification/D.2.4.2: Correctness proofs
ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification/D.2.4.3: Formal methods
ACM: C.: Computer Systems Organization/C.2: COMPUTER-COMMUNICATION NETWORKS/C.2.4: Distributed Systems
[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO]
description International audience Pastry is an algorithm that provides a scalable distributed hash table over an underlying P2P network. Several implementations of Pastry are available and have been applied in practice, but no attempt has so far been made to formally describe the algorithm or to verify its properties. Since Pastry combines rather complex data structures, asynchronous communication, concurrency, resilience to churn and fault tolerance, it makes an interesting target for verification. We have modeled Pastry's core routing algorithms and communication protocol in the specification language TLA+. In order to validate the model and to search for bugs we employed the TLA+ model checker TLC to analyze several qualitative properties. We obtained non-trivial insights in the behavior of Pastry through the model checking analysis. Furthermore, we started to verify Pastry using the very same model and the interactive theorem prover TLAPS for TLA+. A first result is the reduction of global Pastry correctness properties to invariants of the underlying data structures.
author2 VERIfication pour les systèmes DIStribués (VERIDIS)
Inria Nancy - Grand Est
Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Laboratoire Lorrain de Recherche en Informatique et ses Applications (LORIA)
Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)
Microsoft Research - Inria Joint Centre (MSR - INRIA)
Institut National de Recherche en Informatique et en Automatique (Inria)-Microsoft Research Laboratory Cambridge-Microsoft Corporation Redmond, Wash.
Max-Planck-Institut für Informatik (MPII)
Max-Planck-Gesellschaft
R. Bruni and J. Dingel
format Conference Object
author Merz, Stephan
Lu, Tianxiang
Weidenbach, Christoph
author_facet Merz, Stephan
Lu, Tianxiang
Weidenbach, Christoph
author_sort Merz, Stephan
title Towards Verification of the Pastry Protocol using TLA+
title_short Towards Verification of the Pastry Protocol using TLA+
title_full Towards Verification of the Pastry Protocol using TLA+
title_fullStr Towards Verification of the Pastry Protocol using TLA+
title_full_unstemmed Towards Verification of the Pastry Protocol using TLA+
title_sort towards verification of the pastry protocol using tla+
publisher HAL CCSD
publishDate 2011
url https://inria.hal.science/inria-00593523
op_coverage Reykjavik, Iceland
genre Iceland
genre_facet Iceland
op_source 31st IFIP International Conference on Formal Techniques for Networked and Distributed Systems
https://inria.hal.science/inria-00593523
31st IFIP International Conference on Formal Techniques for Networked and Distributed Systems, Jun 2011, Reykjavik, Iceland
op_relation inria-00593523
https://inria.hal.science/inria-00593523
_version_ 1779315967093899264