# Algorithm Diversity for Resilient Systems

**Authors:** Scott D. Stoller, Yanhong A. Liu

arXiv: 1904.12409 · 2019-07-23

## TL;DR

This paper explores the use of algorithm diversity, generated through high-level invariants and systematic methods, to enhance system resilience by executing multiple variants in parallel and comparing their outputs.

## Contribution

It introduces a novel approach to creating algorithm variants based on high-level invariants and systematic incrementalization for resilience enhancement.

## Key findings

- Algorithm diversity improves system resilience.
- Parallel execution of variants increases fault tolerance.
- Metrics for measuring diversity are effective.

## Abstract

Diversity can significantly increase the resilience of systems, by reducing the prevalence of shared vulnerabilities and making vulnerabilities harder to exploit. Work on software diversity for security typically creates variants of a program using low-level code transformations. This paper is the first to study algorithm diversity for resilience. We first describe how a method based on high-level invariants and systematic incrementalization can be used to create algorithm variants. Executing multiple variants in parallel and comparing their outputs provides greater resilience than executing one variant. To prevent different parallel schedules from causing variants' behaviors to diverge, we present a synchronized execution algorithm for DistAlgo, an extension of Python for high-level, precise, executable specifications of distributed algorithms. We propose static and dynamic metrics for measuring diversity. An experimental evaluation of algorithm diversity combined with implementation-level diversity for several sequential algorithms and distributed algorithms shows the benefits of algorithm diversity.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1904.12409/full.md

## Figures

1 figure with captions in the complete paper: https://tomesphere.com/paper/1904.12409/full.md

## References

33 references — full list in the complete paper: https://tomesphere.com/paper/1904.12409/full.md

---
Source: https://tomesphere.com/paper/1904.12409