ICFP 2023
Mon 4 - Sat 9 September 2023 Seattle, Washington, United States
Mon 4 Sep 2023 16:00 - 16:30 at Adams - Erlang Workshop: Session 3 Chair(s): Kiko Fernandez-Reyes

Writing property-based testing models is a challenging task. This article introduces a new tool, Faktory, which is capable of automatically generating an executable property-based testing model from less complicated sources: normal function type specifications, and traditional function calling contracts using pre- and post-conditions. Concretely, Faktory is an Elixir library which from an API annotated with executable calling contracts written using the Corsa contract checking library, automatically generates a property-based testing model in the form of a state machine implemented using the Makina state machine DSL. In the article we illustrate the functionalities of the Faktory tool using a number of examples. The first one shows how to test a functional data structure; the second shows how to improve test-case generation by reusing test results; and in the third example a stateful key-value storage is tested by first deriving an initial test model using Faktory, and then refining the generated model using the Makina model/state machine extension mechanism.

Mon 4 Sep

Displayed time zone: Pacific Time (US & Canada) change

16:00 - 17:30
Erlang Workshop: Session 3Erlang at Adams
Chair(s): Kiko Fernandez-Reyes Ericsson, Sweden
16:00
30m
Talk
Generation and Refinement of Testing Models
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
16:30
30m
Talk
TLS the Erlang/OTP way (Experience Report)
Erlang
Ingela A. Andin Ericsson, SE, Raimo Niskanen Ericsson, SE, Peter Dimitrov Ericsson, SE, Kiko Fernandez-Reyes Ericsson, Sweden
17:00
15m
Day closing
Closing of the Erlang Workshop
Erlang
Kiko Fernandez-Reyes Ericsson, Sweden, Burcu Kulahcioglu Ozkan Delft University of Technology