Seminar • Programming Languages • Extending Scala for Safe Concurrent ProgrammingExport this event to calendar

Wednesday, May 29, 2024 — 2:30 PM to 3:30 PM EDT

Please note: This seminar will take place in DC 2314.

Philipp Haller, Associate Professor
KTH Royal Institute of Technology

Concurrent programming is notorious for hazards such as data races and deadlocks. At the same time, program executions are difficult to reproduce due to various sources of nondeterminism, complicating the debugging of concurrent programs. These challenges have motivated work on ensuring safety statically using type systems. Type-based prevention of data races is a major challenge in the context of object-oriented programming languages due to pervasive mutation and aliasing. In addition, extending the type systems of existing languages is a challenge, preventing recent advances from practical use.

This talk presents LaCasa, a language and type system extending Scala with uniqueness typing and heap isolation. Goals of the language extension include (a) integrating with the full Scala language, (b) minimizing the overhead of type annotations, and (c) enabling the reuse of existing code without source code changes. We show how LaCasa prevents data races in concurrent programs based on the actor model. We then present a variant, Parallel LaCasa, which extends data-race safety to the Async-Finish model. Finally, we discuss the relation to deterministic concurrent programming models.

Location 
DC - William G. Davis Computer Research Centre
DC 2314
200 University Ave West

Waterloo, ON N2L 3G1
Canada
Event tags 

S M T W T F S
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
  1. 2024 (163)
    1. August (2)
    2. July (3)
    3. June (17)
    4. May (23)
    5. April (41)
    6. March (27)
    7. February (25)
    8. January (25)
  2. 2023 (296)
    1. December (20)
    2. November (28)
    3. October (15)
    4. September (25)
    5. August (30)
    6. July (30)
    7. June (22)
    8. May (23)
    9. April (32)
    10. March (31)
    11. February (18)
    12. January (22)
  3. 2022 (245)
  4. 2021 (210)
  5. 2020 (217)
  6. 2019 (255)
  7. 2018 (217)
  8. 2017 (36)
  9. 2016 (21)
  10. 2015 (36)
  11. 2014 (33)
  12. 2013 (23)
  13. 2012 (4)
  14. 2011 (1)
  15. 2010 (1)
  16. 2009 (1)
  17. 2008 (1)