Exploiting Symbolic Techniques in Automated Synthesis of Distributed Programs

Abstract

Automated formal analysis methods such as program verification 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 verification, their benefits 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 significant 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 first illustration where such large state space is handled during synthesis.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2007
Accession Number
ADA460390

Entities

People

  • Borzoo Bonakdarpour
  • Sandeep S. Kulkarni

Organizations

  • Michigan State University

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Agreements
  • Algorithms
  • Case Studies
  • Computations
  • Computer Science
  • Distributed Computing
  • Fault Tolerance
  • Information Operations
  • Iterations
  • Local Area Networks
  • Recovery
  • Sequences
  • Specifications
  • Transitions
  • Trees (Data Structures)
  • Urban Areas

Fields of Study

  • Computer science
  • Engineering

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Computational Linguistics

Technology Areas

  • Space