Skip to Main content Skip to Navigation
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 metadatas

Cited literature [30 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-02442015
Contributor : Open Archive Toulouse Archive Ouverte (oatao) <>
Submitted on : Thursday, January 16, 2020 - 11:38:18 AM
Last modification on : Wednesday, June 10, 2020 - 5:59:56 AM
Long-term archiving on: : Friday, April 17, 2020 - 4:14:30 PM

File

hurault_24978.pdf
Files produced by the author(s)

Identifiers

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

Citation

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⟩

Share

Metrics

Record views

54

Files downloads

147