JDala - A Simple Capability System for Java

Abstract

Dala is a novel capability-based programming model that ensures data-race freedom while also supporting efficient inter-thread communication. While Dala has been designed to inform the design of future programming languages, the question arises whether existing languages can be retrofitted with Dala capabilities. We report such a design called JDala. In JDala, Dala capabilities are added to Java using annotations and interpreted using bytecode instrumentation. With some examples we demonstrate that by adding three simple annotations to the language, we can avoid concurrency bugs like deadlocks and unexpected program behaviour resulting from shallow immutability of Java standard library APIs.

Authors

Quinten Smit, Jens Dietrich, Michael Homer, Andrew Fawcet, James Noble

Published in

IEEE International Conference on Software Maintenance and Evolution (ICSME) (ISCME), 2025

The final copy of this publication is available from the publisher.

Resources

PDF
mwh.nz/pdf/icsme2025jd
this page
mwh.nz/pubs/icsme2025jd
Michael Homer — 2025 45948092