Latte: Lightweight Aliasing Tracking for Java
Many existing systems track aliasing and uniqueness, each with their own trade-off between expressiveness and developer effort.
We propose Latte, which aims to minimize both the amount of annotations and the complexity of invariants necessary for reasoning about aliasing in an object-oriented language with mutation. Our approach only requires annotations for parameters and fields, while annotations for local variables are inferred. Furthermore, it relaxes uniqueness to allow aliasing among local variables, as long as this aliasing can be precisely determined. This enables support for destructive reads without changes to the language or its run-time semantics.
Despite this simplicity, we show how this design can still be used for tracking uniqueness and aliasing in a local sequential setting, with practical applications, such as modeling a stack.
Tue 24 OctDisplayed time zone: Lisbon change
11:00 - 12:30 | |||
11:00 30mTalk | Borrow checking Hylo IWACO File Attached | ||
11:30 30mTalk | Degrees of Separation: A Flexible Type System for Data Race Prevention IWACO File Attached | ||
12:00 30mTalk | Latte: Lightweight Aliasing Tracking for Java IWACO Conrad Zimmerman Brown University, Catarina Gamboa Carnegie Mellon University and LASIGE, University of Lisbon, Alcides Fonseca LASIGE, University of Lisbon, Jonathan Aldrich Carnegie Mellon University Pre-print |