booktitle = "35th IEEE International Conference on Distributed
Computing Systems Workshops",
title = "Using Genetic Programming to Identify Tradeoffs in
Self-Stabilizing Programs: A Case Study",
year = "2015",
pages = "29--34",
abstract = "We focus on the use of genetic programming to identify
trade-offs between closure and convergence properties
of a stabilizing program. Closure property
characterises the behaviour in the absence of faults
whereas convergence property characterises the recovery
from an arbitrary state to a legitimate state. We
describe how genetic programming (GP) can be applied to
identify a trade-off for the behaviours in the absence
of faults and in the presence of faults. This approach
uses BDD (Binary Decision Diagram) based techniques.
Subsequently, we use two objectives: closure and
maximum convergence time and use NSGA-II (a
multi-objective optimisation algorithm) to identify the
trade-off between the performances. We use the classic
K-state token ring program to illustrate the trade-off
and run experiments for three different approaches: (1)
where we only consider trade-off based on process 0,
(2) where only consider trade-off based on non-zero
processes, and (3) where we consider both trade-offs.
Several interesting results are found such as, special
process (marked N - 3 in the K-state program) plays a
critical role in providing the trade-off, while process
1 is the least important.",