Exploiting Symbolic Techniques in Automated Synthesis of Distributed Programs

Borzoo Bonakdarpour, Sandeep S. Kulkarni · 2007

Automated formal analysis methods such as program verication and synthesis algorithms often suffer from time complexity of their decision procedures and also high space complexity known as the state explosion problem. Symbolic techniques, in which elements of a problem are represented by Boolean formulae, are desirable in the sense that they often remedy the state explosion problem and time complexity of decision procedures. Although symbolic techniques have successfully been used in program verication, their benets have not yet been exploited in the context of program synthesis and transformation extensively. In this paper, we present a symbolic method for automatic synthesis of fault-tolerant distributed programs. Our experimental results on synthesis of classical fault-tolerant distributed problems such as Byzantine agreement and token ring show a signicant performance improvement by several orders of magnitude in both time and space complexity. In particular, we show that synthesis for these problems is feasible with 25 processes, where the size of state space is 2102 for Byzantine agreement and 250 for token ring. To the best of our knowledge, this is the rst illustration where such large state space is handled during synthesis.

Read the paper · More papers on PaperTik