Dmitrii Fedoseev

Dmitrii Fedoseev

Saved Companies Hours of Downtime by Being Paranoid

Software developer with the background in telecom, fintech and IoT. Highly interested in verification of distributed systems.

Past Activities

Dmitrii Fedoseev
Code BEAM Europe 2022
20 May 2022
11.25 - 12.10

Trace Specifications and Chaos Engineering: Advanced Testing with Snabbkaffe

Testing distributed eventually consistent fault-tolerant Erlang applications is challenging: their state is difficult to inspect and model and supervisors can hide crashes. Fault tolerance is rarely checked by automatic tests.
We solved these problems using a new elegant approach to testing. Snabbkaffe is a test framework that relies on offline inspection of the execution trace of the system.
It makes verifying a distributed application recovering from the injected crashes as easy as writing a pure function.


The trace-based approach to program verification is widely in academia, however, it remains relatively obscure in engineering circles. We have successfully adopted it for the practical applications running in production, and this is what the talk is about.
Trace-based testing allows us to verify more complex scenarios, so we believe that sharing it with a wider audience will improve the overall quality of the Erlang ecosystem in the long term.


Software engineers and QA