/////////////////////////////////////////////////////////////////////
// Papers on Loci (thread-locality for Java)
/////////////////////////////////////////////////////////////////////

Loci: Simple Thread-Locality for Java

Tobias Wrigstad, Filip Pizlo, Fadi Meawad, Lei Zhao & Jan Vitek.

Accepted for ECOOP 2009. Genova, Italy. July 2009.

ABSTRACT

This paper presents a simple type system for thread-local data in Java. Classes and types are annotated to express thread-locality and unintended leaks are detected at compile-time. The system, called Loci, is minimal, modular and compatible with legacy code. The only change to the language is the addition of two new metadata annotations. We implemented Loci as an Eclipse plug-in and used it to evaluate our design on a number of benchmarks. We found that Loci is compatible with how Java programs are written and that the annotation overhead is light thanks to a judicious choice of defaults. Experiments with Loci on 45.000 lines of Java code validates our type system design and outlines points for improvement.

Link to paper forthcoming.

Compendium Tech Report

The full proofs of Loci are available here. They will be converted into a proper tech report post ECOOP acceptance.

Loci Eclipse Plugin

The proof of concept Eclipse plugin implemented by Tobias is being rewritten from scratch by Fadi. It will be made available around April 20th.