@inproceedings{ba699cf57c33493a9ce71a96e475b66b,
title = "A flexible type system for fearless concurrency",
abstract = "This paper proposes a new type system for concurrent programs, allowing threads to exchange complex object graphs without risking destructive data races. While this goal is shared by a rich history of past work, existing solutions either rely on strictly enforced heap invariants that prohibit natural programming patterns or demand pervasive annotations even for simple programming tasks. As a result, past systems cannot express intuitively simple code without unnatural rewrites or substantial annotation burdens. Our work avoids these pitfalls through a novel type system that provides sound reasoning about separation in the heap while remaining flexible enough to support a wide range of desirable heap manipulations. This new sweet spot is attained by enforcing a heap domination invariant similarly to prior work, but tempering it by allowing complex exceptions that add little annotation burden. Our results include: (1) code examples showing that common data structure manipulations which are difficult or impossible to express in prior work are natural and direct in our system, (2) a formal proof of correctness demonstrating that well-typed programs cannot encounter destructive data races at run time, and (3) an efficient type checker implemented in Gallina and OCaml.",
keywords = "aliasing, concurrency, type systems",
author = "Mae Milano and Joshua Turcotti and Myers, {Andrew C.}",
note = "Publisher Copyright: {\textcopyright} 2022 Owner/Author.; 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2022 ; Conference date: 13-06-2022 Through 17-06-2022",
year = "2022",
month = jun,
day = "9",
doi = "10.1145/3519939.3523443",
language = "English (US)",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
publisher = "Association for Computing Machinery",
pages = "458--473",
editor = "Ranjit Jhala and Isil Dillig",
booktitle = "PLDI 2022 - Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation",
}