Latte: Lightweight Aliasing Tracking for Java

09/11/2023
by   Conrad Zimmerman, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/15/2022

Coeffects for Sharing and Mutation

In type-and-coeffect systems, contexts are enriched by coeffects modelin...
research
10/23/2013

Can Facial Uniqueness be Inferred from Impostor Scores?

In Biometrics, facial uniqueness is commonly inferred from impostor simi...
research
10/03/2022

Uniqueness of logical connectives in a bilateralist setting

In this paper I will show the problems that are encountered when dealing...
research
06/23/2021

Native Implementation of Mutable Value Semantics

Unrestricted mutation of shared state is a source of many well-known pro...
research
08/16/2018

Formalisation of a frame stack semantics for a Java-like language

We present a Coq formalisation of the small-step operational semantics o...
research
05/31/2019

Differential Equation Invariance Axiomatization

This article proves the completeness of an axiomatization for differenti...
research
06/30/2018

Flexible recovery of uniqueness and immutability (Extended Version)

We present an imperative object calculus where types are annotated with ...

Please sign up or login with your details

Forgot password? Click here to reset