Concurrency is a notoriously difficult area of programming due to the risk of data races causing crashes and unpredictable runtime behavior. Swift’s recent language evolution in pursuit of static data-race safety introduced an actor-based concurrency model where objects sent between actors must be safe to access concurrently, preventing shared mutable state from ever leaving an actor. This model is too onerous in object-oriented programs, impeding natural programming patterns where mutable state is moved from one actor to another. Swift solves this expressivity problem with an approach adapted from a PLDI’22 paper to enable complex, mutable object graphs to be sent between actors without additional work from the programmer. The upcoming Swift 6 language mode brings these ideas together to provide data-race safety by default. In this talk, we’ll describe the approach to static data-race safety in Swift 6, adopting research into Swift’s actor isolation model, and integrating data-race safety into a large ecosystem of existing code.
Thu 27 JunDisplayed time zone: Windhoek change
15:20 - 16:30 | Industry sessionPLDI Events at Iceland / Denmark Chair(s): Fredrik Kjolstad Stanford University Come hear about activities going on at our platinum sponsors, Apple, AWS, and Huawei! | ||
15:20 20mIndustry talk | Data-race safety for the masses PLDI Events Holly Borla Apple, Inc, | ||
15:40 20mIndustry talk | Programming Languages at Huawei PLDI Events Magnus Morton Huawei | ||
16:00 20mIndustry talk | Formal reasoning at Amazon Web Services PLDI Events Byron Cook Amazon |