LOADING

Controlled Concurrency Testing for Scala

This talk presents McCCT, a new concurrency testing tool developed at KTH by the speakers in the context of an ongoing research project.

Philipp Haller
Associate Professor at KTH Royal Institute of Technology
Oskar Grönman
About This Talk

Building resilient and scalable distributed systems is necessary to support emerging and future digital services processing increasing amounts of data and requiring increasing amounts of computing resources to support artificial intelligence. One challenge in building such systems is safe large-scale concurrency. Due to the inherent nondeterminism of concurrent programs, it is notoriously difficult to find, reproduce, and fix concurrency bugs.

This talk presents McCCT, a new concurrency testing tool developed at KTH by the speakers in the context of an ongoing research project. McCCT helps find concurrency hazards, such as race conditions and deadlocks, by systematically exploring the possible schedules of concurrent Scala programs. Importantly, McCCT supports replaying problematic schedules, aiding in the reproduction of concurrency bugs. In addition, the tool provides a scheduler that can enforce a sequential schedule, enabling deterministic execution, suitable for integration in unit test suites.

The talk will start with an overview of McCCT and its capabilities from the user's perspective. Using live coding, we will show how to use McCCT to find and replay a series of concurrency bugs in real-world concurrent code. After that, we will explain how the tool can be used to create powerful regression tests for concurrent code. At the end, the talk will provide an introduction to the inner workings of McCCT.

more great talks

Might Be Interesting

Day 1
  —  
9:35 am
arrow pointing right icon

The world after Scala 3.9 LTS

In this talk, I will introduce the highlights of what to look forward to in Scala 3.9 LTS, as well as how to think about the upcoming new release.

Day 2
  —  
11:50 am
arrow pointing right icon

Efficient programming with Scala and LLMs

Drawing from multiple Scala LLM workshops we conducted this past year, I will share insights to significantly enhance your AI experience.

Day 1
  —  
12:25 pm
arrow pointing right icon

Protobuf Goes Scala-First

Protobuf is commonly associated with code generation. However, in large projects with tens of thousands of message definitions, this approach can lead to an overwhelming amount of generated code. In this talk, I’ll share my journey in search of a different approach to this problem.

Day 2
  —  
12:25 pm
arrow pointing right icon

Safer Code with LLMs: Scala Types Silver Bullet?

Code generation is one of the most promising applications of large language models (LLMs), offering substantial productivity boosts for developers. However, this benefit is tempered by serious concerns surrounding the correctness and security of the generated code - especially outside the happy path.

Day 1
  —  
11:50 am
arrow pointing right icon

Scala and C – tight as brothers

Scala Native can interact with C code and libraries, greatly expanding the library ecosystem beyond pure Scala offerings. Let's see the low level and high level tools that make it possible, talk through challenges of encoding various C concepts in Scala, and demonstrate what popular C libraries look like when used alongside idiomatic Scala code.

Day 1
  —  
4:15 pm
arrow pointing right icon

Real-Life Scala Capture Checking

This will be a live coding demonstration of Scala's newest feature set: capture checking.

See All Events
Join us!

We're looking for amazing speakers.
CFP is open till 10.01.2023

Fill in Call for Papers
location icon

Location

Centrum Konferencyjne POLIN, Poland
stay in touch icon

Follow Us

Contact Us