Skip to Main content Skip to Navigation
New interface
Conference papers

Proving a Non-Blocking Algorithm for Process Renaming with TLA+

Abstract : Shared-memory concurrent algorithms are well-known for being difficult to write, ill-adapted to test, and complex to prove. Wait-free concurrent objects are a subclass where a process is never prevented from progressing, whatever the other processes are doing (or not doing). Algorithms in this subclass are often non intuitive and among the most complex to prove. This paper presents the analysis and the proof of a wait-free concurrent algorithm that is used to rename processes. By its adaptive and non-blocking nature, the renaming algorithm resists to test, because of the cost of covering all its states and transitions even with a small input set. Thus, a proof has been conducted in Open image in new window and verified with TLAPS, the Open image in new window Proof System. This algorithm is itself based on the assembly of wait-free concurrent objects, the splitters, that separate processes. With just two shared variables and three assignments, a splitter seems a simple object but it is not linearizable. To avoid explicitly in-lining it and dealing with its internal state, the proof of the renaming algorithm relies on replacing the splitter with a sequential specification that is proved correct with TLAPS and verified complete by model-checking on finite instances.
Complete list of metadata

Cited literature [30 references]  Display  Hide  Download
Contributor : Open Archive Toulouse Archive Ouverte (OATAO) Connect in order to contact the contributor
Submitted on : Thursday, January 16, 2020 - 11:38:18 AM
Last modification on : Monday, July 4, 2022 - 9:21:54 AM
Long-term archiving on: : Friday, April 17, 2020 - 4:14:30 PM


Files produced by the author(s)


  • HAL Id : hal-02442015, version 1
  • OATAO : 24978


Aurélie Hurault, Philippe Quéinnec. Proving a Non-Blocking Algorithm for Process Renaming with TLA+. 13th International Conference on Tests and Proofs (TAP 2019), part of the 3rd World Congress on Formal Methods, Oct 2019, Porto, Portugal. pp.147-166. ⟨hal-02442015⟩



Record views


Files downloads