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, a new approach that aims to minimize both the amount of annotations and the complexity of invariants necessary for reasoning about aliasing in an object-o...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Many existing systems track aliasing and uniqueness, each with their own
trade-off between expressiveness and developer effort. We propose Latte, a new
approach that 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. |
---|---|
DOI: | 10.48550/arxiv.2309.05637 |