DCSEMar 12, 2018

Dfuntest: A Testing Framework for Distributed Applications

arXiv:1803.04442v13 citations
Originality Synthesis-oriented
AI Analysis

This provides a tool for distributed systems researchers and developers to more easily test and validate prototypes, though it is incremental as it builds on existing testing concepts like jUnit.

The authors tackled the problem of testing distributed applications by developing dfuntest, a framework that automates experiments on distributed platforms, and demonstrated its use by deploying a DHT prototype on 60 PlanetLab nodes to verify correct topology maintenance.

New ideas in distributed systems (algorithms or protocols) are commonly tested by simulation, because experimenting with a prototype deployed on a realistic platform is cumbersome. However, a prototype not only measures performance but also verifies assumptions about the underlying system. We developed dfuntest - a testing framework for distributed applications that defines abstractions and test structure, and automates experiments on distributed platforms. Dfuntest aims to be jUnit's analogue for distributed applications; a framework that enables the programmer to write robust and flexible scenarios of experiments. Dfuntest requires minimal bindings that specify how to deploy and interact with the application. Dfuntest's abstractions allow execution of a scenario on a single machine, a cluster, a cloud, or any other distributed infrastructure, e.g. on PlanetLab. A scenario is a procedure; thus, our framework can be used both for functional tests and for performance measurements. We show how to use dfuntest to deploy our DHT prototype on 60 PlanetLab nodes and verify whether the prototype maintains a correct topology.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes