Proving a Non-blocking Algorithm for Process Renaming with TLA

A Hurault, P Quéinnec - Tests and Proofs: 13th International Conference …, 2019 - Springer
Tests and Proofs: 13th International Conference, TAP 2019, Held as Part of the …, 2019Springer
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 …
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 and verified with TLAPS, the 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.
Springer
以上显示的是最相近的搜索结果。 查看全部搜索结果