Type-Safe Monotonic Object Evolution (Technical Report)

Read full text
Authors: Alexandra Mirrlees-Black, Haoyu Wu, Gregor Richards, Fabian Muehlboeck
Cited by: 1

Abstract

Object evolution is a monotonic approach to typestate and object reclassification, enforcing that objects may gain, but not lose properties, to permit aliasing. We present a formalization and prototype implementation of our new language May, featuring inheritance-based evolution that changes the run-time class of an object to a subclass. To statically guarantee evolution succeeds, we introduce a simple affine permission system for ensuring evolvable references match the run-time type of an object. Furthermore, we demonstrate that our system provides an effective and type-safe way of expressing staged operations and complex initialization procedures.

Fields of Study & Subjects

Logic programming and type systems Software Engineering Research Scientific Computing and Data Management

Publication details

Publication date
25 February 2026
Language
EN