Synthesizing solutions to the leader election problem using model checking and genetic programming

  • Authors:
  • Gal Katz;Doron Peled

  • Affiliations:
  • Department of Computer Science, Bar Ilan University, Ramat Gan, Israel;Department of Computer Science, Bar Ilan University, Ramat Gan, Israel

  • Venue:
  • HVC'09 Proceedings of the 5th international Haifa verification conference on Hardware and software: verification and testing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In recent papers [13,14,15], we demonstrated a methodology for developing correct-by-design programs from temporal logic specification using genetic programming. Model checking the temporal specification is used to calculate the fitness function for candidate solutions, which directs the search from initial randomly generated programs towards correct solutions. This method was successfully demonstrated by constructing solutions for the mutual exclusion problem; later, we also imposed some realistic constraints on access to variables. While the results were encouraging for using the genetic synthesis method, the mutual exclusion example includes some limitations that fit well with the constraints of model checking: the goal was finding a fixed finite state program, and its state space was moderately small. Here, in a more realistic setting, we challenge the problem of synthesizing a solution for the well known "leader election" problem; under this problem, a circular, unidirectional network with message passing is seeking the identity of a process with a maximal value. This identity, once found, can be used for synchronization, breaking symmetry and other network applications. The problem is challenging since it is parametric, and the state space of the solutions grows up exponentially with the number of processes.