Self-stabilization preserving compiler

Shlomi Dolev*, Yinnon Haviv, Mooly Sagiv

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


Self-stabilization is an elegant approach for designing fault tolerant systems. A system is considered self-stabilizing if, starting in any state, it converges to the desired behavior. Self-stabilizing algorithms were designed for solving fundamental distributed tasks, such as leader election, token circulation and communication network protocols. The algorithms were expressed using guarded commands or pseudo-code. The realization of these algorithms requires the existence of a (self-stabilizing) infrastructure such as a self-stabilizing microprocessor and a self-stabilizing operating system for their execution. Moreover, the high-level description of the algorithms needs to be converted into machine language of the microprocessor. In this article, we present our design for a self-stabilization preserving compiler. The compiler we designed and implemented transforms programs written in a language similar to the abstract state machine (ASM). The compiler preserves the stabilization property of the high level program.

Original languageEnglish
Article number22
JournalACM Transactions on Programming Languages and Systems
Issue number6
StatePublished - 1 Aug 2009


  • Abstract state machines
  • Compilers
  • Self-stabilization


Dive into the research topics of 'Self-stabilization preserving compiler'. Together they form a unique fingerprint.

Cite this