<

Stavros Aronis

Hunter of discrepancies in Erlang code. Developer of parallel Dialyzer and Concuerror

Stavros' experience with Erlang started at the deep end of the pool, when he picked Dialyzer, the famously "never wrong" tool, and made it even smarter, as a master thesis project under the supervision of Kostis Sagonas. He then made Dialyzer faster and parallel, an improvement which has been included in the Erlang/OTP distribution since 2012. Later he got his PhD by re-engineering Concuerror, another tool for Erlang developers, focused on finding concurrency errors in programs and protocols.

Stavros loves testing and making tools and is now trying to bring all his favorite techniques into industry as an Erlang Solutions consultant and trainer.

Upcoming conferences:

Stavros Aronis
Code BEAM SF 2019
01 Mar 2019
13.40 - 14.25

Modeling and verifying distributed applications with Concuerror

Sometimes, a developer needs to build some algorithm using Erlang's primitives directly. Such code is usually hard to get right, as one needs to think from scratch about all the possible race conditions, timeouts, deadlocks etc. Recently, developers at Klarna decided to re-design such a custom algorithm, used in a critical component of their software stack. How could they be certain that their code would not suffer from such concurrency errors?

Concuerror is a tool built to answer exactly such questions, but Klarna's algorithm was intimately tied to distributed Erlang's behaviors, which Concuerror does not support. The solution was to design a modelling library, vnet, which can help to simulate distributed Erlang systems on a single node.

In this talk, Stavros will present vnet's capabilities, show how it can be used to model, test and verify distributed Erlang systems, and demonstrate the kinds of errors that Concuerror can find (or prove that don't exist!).

OBJECTIVES

  • Demonstrate new capabilities for testing and verifying distributed Erlang systems
  • Report on what's going on with Concuerror, an advanced tool for testing Erlang programs

TARGET AUDIENCE

  • Distributed system architects
  • People who like to play with tools
  • Erlang distribution experts

Media

Articles: 6

Day 18: Settlers of The North Pole - Advent of Code 2018

Article by Stavros Aronis

I did the Advent of Code 2018 day 18 challenge in Erlang! Parts one and two are as follows:

READ MORE

Day 14: Chocolate Charts - Advent of Code 2018

Article by Stavros Aronis

I did the Advent of Code 2018 day 14 challenge in Erlang! Parts one and two are as follows:

READ MORE

Day 13: Mine Cart Madness - Advent of Code 2018

Article by Stavros Aronis

I did the Advent of Code 2018 day 13 challenge in Erlang! Parts one and two are as follows:

READ MORE

Day 12: Subterranean Sustainability - Advent of Code 2018

Article by Stavros Aronis

I did the Advent of Code 2018 day 12 challenge in Erlang! Parts one and two are as follows:

READ MORE

Day 9: Marble Mania - Advent of Code 2018

Article by Stavros Aronis

I did the Advent of Code 2018 day 9 challenge in Erlang! Parts one and two are as follows:

READ MORE

Day 8: Memory maneuver - Advent of Code

Article by Stavros Aronis

I did the Advent of Code 2018 day 8 challenge in Erlang! Parts one and two are as follows:

READ MORE