Javari: Adding Reference Immutability to Java

MEng thesis

Bibliographic Details
Main Author: Tschantz, Matthew S.
Other Authors: Michael Ernst
Language:en_US
Published: 2006
Subjects:
Online Access:http://hdl.handle.net/1721.1/33963
_version_ 1826197458275794944
author Tschantz, Matthew S.
author2 Michael Ernst
author_facet Michael Ernst
Tschantz, Matthew S.
author_sort Tschantz, Matthew S.
collection MIT
description MEng thesis
first_indexed 2024-09-23T10:47:58Z
id mit-1721.1/33963
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T10:47:58Z
publishDate 2006
record_format dspace
spelling mit-1721.1/339632019-04-11T09:50:08Z Javari: Adding Reference Immutability to Java Tschantz, Matthew S. Michael Ernst Program Analysis assignable languages mutable readonly type system verification MEng thesis This paper describes a programming language, Javari, that is capable of expressing and enforcing immutability constraints. The specific constraint expressed is that the abstract state of the object to which an immutable reference refers cannot be modified using that reference. The abstract state is (part of) the transitively reachable state: that is, the state of the object and all state reachable from it by following references. The type system permits explicitly excluding fields from the abstract state of an object. For a statically type-safe language, the type system guarantees reference immutability.The type system is distinguishes the notions of assignability and mutability; integrates with Java's generic types and with multi-dimensional arrays; provides a mutability polymorphism approach to avoiding code duplication; and has type-safe support for reflection and serialization. This paper describes a core calculus including formal type rules for the language.Additionally, this paper describes a type inference algorithm that can be used convert existing Java programs to Javari. Experimental results from a prototype implementation of the algorithm are presented. 2006-09-07T18:51:29Z 2006-09-07T18:51:29Z 2006-09-05 MIT-CSAIL-TR-2006-059 http://hdl.handle.net/1721.1/33963 en_US Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory 133 p. 1217863 bytes 4225617 bytes application/pdf application/postscript application/pdf application/postscript
spellingShingle assignable
languages
mutable
readonly
type system
verification
Tschantz, Matthew S.
Javari: Adding Reference Immutability to Java
title Javari: Adding Reference Immutability to Java
title_full Javari: Adding Reference Immutability to Java
title_fullStr Javari: Adding Reference Immutability to Java
title_full_unstemmed Javari: Adding Reference Immutability to Java
title_short Javari: Adding Reference Immutability to Java
title_sort javari adding reference immutability to java
topic assignable
languages
mutable
readonly
type system
verification
url http://hdl.handle.net/1721.1/33963
work_keys_str_mv AT tschantzmatthews javariaddingreferenceimmutabilitytojava