ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Mon 2 Sep 2024 14:30 - 15:00 at Meeting 4 - Testing & Verification

We describe the design and implementation of \texttt{Scheduler}, a new library for Elixir which provides a user-level scheduler. The goal is to improve the control over scheduling decisions, i.e., which process runs at which time, in order to obtain executions that are more random, repeatable, modifiable, and moreover provide a detailed explanation of the scheduling decisions taken. This work is inspired by the Pulse user-level scheduler for Erlang programs, as well as other related tools. Our library is agnostic with regards to what other testing/execution/formal verification tool uses the scheduler, and instruments Elixir code running under the scheduler through use of the Elixir macro facility. Moreover the library provides a number of algorithms to explore the state space of the concurrent programs under study, including random search, depth-first search (potentially capable of exploring the whole state space of the program-under-study), and a novel search algorithm which selects schedules randomly.

As an example the Scheduler library is applied to the task of checking whether a number of snapshot algorithms are correct.

Mon 2 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

14:00 - 15:30
Testing & VerificationErlang at Meeting 4
14:00
30m
Talk
Erla+: Translating TLA+ Models into Executable Actor-Based Implementations
Erlang
Marian Hristov University of Kaiserslautern-Landau, Annette Bieniusa University of Kaiserslautern-Landau
DOI
14:30
30m
Talk
Controlled Scheduling of Concurrent Elixir Programs
Erlang
Luis Eduardo Bueso de Barrio Universidad Politécnica de Madrid, Lars-Åke Fredlund Universidad Politécnica de Madrid, Clara Benac Earle Universidad Politécnica de Madrid, Ángel Herranz Universidad Politécnica de Madrid, Julio Mariño Universidad Politécnica de Madrid
15:00
30m
Talk
Is this really a refactoring? Automated equivalence checking for Erlang projects
Erlang
Bendegúz Seres Eötvös Loránd University, Dániel Horpácsi Eötvös Loránd University, Simon Thompson IOHK, University of Kent, and ELTE