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


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.
Scala Fibers, Java Virtual Threads, and Kotlin Coroutines - this talk shows how this elegant solution manifests at three different abstraction levels.
In this talk, I will present insights from running the Open Community Build, where we continuously build and migrate nearly 2,000 open-source projects to the newest Scala Next versions, from scratch, every week.
Drawing from multiple Scala LLM workshops we conducted this past year, I will share insights to significantly enhance your AI experience.
Don't miss out on this opportunity to connect with Scalar community and create lasting memories!
In my talk I will argue that we can do much better by relying in a systematic way on types and capabilities.