Conquering race conditions in Erlang programs with Concuerror

schedule Dec 15th 10:45 AM - 11:30 AM place Crystal 2 people 6 Interested

Concurrency-related bugs, such as race conditions and deadlocks, are some of the hardest bugs to isolate, reproduce, understand and fix. Even Erlang programs can suffer from such bugs, for example when messages arrive in unexpected orders or shared resources (e.g. ETS tables) are accessed concurrently. In this workshop I will demonstrate how developers of all levels can use Concuerror, a testing and verification tool for Erlang programs, to automatically detect, isolate and understand concurrency-related errors in their code and explain how the tool can ultimately prove the absence of such errors. I'll also share experiences from two industrial applications of Concuerror in verifying interesting aspects of distributed algorithms.

 
2 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Target Audience

Developers interested in building concurrent, fault-tolerant systems

schedule Submitted 3 weeks ago

Comments Subscribe to Comments

comment Comment on this Submission

  • Liked Tony Morris
    keyboard_arrow_down

    Tony Morris - Let's Lens

    Tony Morris
    Tony Morris
    Sr. Software Engineer
    Queensland FP Lab, Data61
    schedule 4 months ago
    Sold Out!
    480 Mins
    Workshop
    Intermediate

    Let's Lens presents a series of exercises, in a similar format to the Data61 functional programming course material. The subject of the exercises is around the concept of lenses, initially proposed by Foster et al., to solve the view-update problem of relational databases.

    The theories around lenses have been advanced significantly in recent years, resulting in a library, implemented in Haskell, called lens.

    This workshop will take you through the basic definition of the lens data structure and its related structures such as traversals and prisms. Following this we implement some of the low-level lens library, then go on to discuss and solve a practical problem that uses all of these structures.

  • Liked Stavros Aronis
    keyboard_arrow_down

    Stavros Aronis - Welcome to the Erlang Ecosystem

    180 Mins
    Tutorial
    Beginner

    "Are there really companies that use Erlang?" is the most common (and by now expected) question I have been asked by my peers ever since I joined the Erlang Solutions office in Stockholm, not too long ago. "Why?" is, naturally, the second question. In this introductory workshop I will explain what are the key ideas that Erlang is built upon, how these ideas have evolved into a powerful set of design patterns that compose the Erlang/OTP framework and why these ideas and patterns are useful to plenty of industries that use Erlang (and not merely to telecom!). I will also introduce the language ecosystem that has evolved around Erlang, including languages such as Elixir, LFE, and Alpaca.

  • Liked Tanmai Gopal
    keyboard_arrow_down

    Tanmai Gopal - Using Haskell to build a performant GraphQL to SQL compiler

    Tanmai Gopal
    Tanmai Gopal
    Founder
    Hasura
    schedule 4 months ago
    Sold Out!
    45 Mins
    Case Study
    Intermediate
    1. Motivation/Problem statement: Lifecycle of a GraphQL query
    2. Design Goals
    3. Why Haskell
    4. Compiler implementation details:
      1. Fast GraphQL parsing with parser combinators
      2. Modelling and manipulating the GraphQL AST with algebraic data types
      3. Software Transactional Memory: Concurrency constructs for scaling GraphQL subscriptions
    5. Summary with performance benchmarks