Exploring a Parallel SCC Algorithm: Using TLA + and the TLC Model Checker

Jaco van de Pol*

*Corresponding author for this work

Research output: Contribution to book/anthology/report/proceedingArticle in proceedingsResearchpeer-review

1 Citation (Scopus)

Abstract

We explore a parallel SCC-decomposition algorithm based on a concurrent Union-Find data structure. In order to increase confidence in the algorithm, it is modelled in TLA +. The TLC model checker is used to demonstrate that it works correctly for all possible interleavings of two workers on a number of small input graphs. To increase the understanding of the algorithm, we investigate some potential invariants. Some of these are refuted, revealing that the algorithm allows suboptimal (but still correct) executions. Finally, we investigate some modifications of the algorithm. It turns out that most modifications lead to an incorrect algorithm, as revealed by the TLC model checker. We view this exploration as a first step to a full understanding and a rigorous correctness proof based on invariants or step-wise refinement.

Original languageEnglish
Title of host publicationLeveraging Applications of Formal Methods, Verification and Validation. Verification Principles - 11th International Symposium, ISoLA 2022, Proceedings
EditorsTiziana Margaria, Bernhard Steffen
Number of pages21
PublisherSpringer
Publication dateOct 2022
Pages535-555
ISBN (Print)9783031198489
ISBN (Electronic)978-3-031-19849-6
DOIs
Publication statusPublished - Oct 2022
Event11th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2022 - Rhodes, Greece
Duration: 22 Oct 202230 Oct 2022

Conference

Conference11th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2022
Country/TerritoryGreece
CityRhodes
Period22/10/202230/10/2022
SeriesLecture Notes in Computer Science
Volume13701
ISSN0302-9743

Keywords

  • Concurrent Union-Find data structure
  • Parallel SCC algorithm
  • PlusCal/TLA specification
  • TLC model checker

Fingerprint

Dive into the research topics of 'Exploring a Parallel SCC Algorithm: Using TLA + and the TLC Model Checker'. Together they form a unique fingerprint.

Cite this