Immutability Specification and its Applications

Authors:  Igor Pechtchanski, Vivek Sarkar

Conference:  2002 Joint ACM Java Grande - ISCOPE Conference, Seattle, WA, November 3-5, 2002

Abstract:  A location is said to be immutable if its value and the values of selected locations reachable from it are guaranteed to remain unchanged during a specified time interval. We introduce a framework for immutability specification, and discuss its application to code optimization. Compared to a final declaration, an immutability assertion in our framework can express a richer set of immutability properties along three dimensions --- lifetime, reachability and context. We present a framework for processing and verifying immutability annotations in Java, as well as extending optimizations so as to exploit immutability information. Preliminary experimental results show that a significant number (82%) of read accesses could potentially be classified as immutable in our framework. Further, use of immutability information yields substantial reductions (33% to 99%) in the number of dynamic read accesses, and also measurable speedups in the range of 5% to 10% for certain benchmark programs.

Download:  postscript file (315K), PDF file (138K)

BibTeX Entry: 
  Author      = "Igor Pechtchanski and Vivek Sarkar",
  Title       = "Immutability specification and its applications",
  Booktitle   = "The Joint ACM Java Grande - ISCOPE 2002 Conference",
  Pages       = "202--211",
  Year        = "2002",
  Month       = "November",
  Day         = "3--5",
  Location    = "Seattle, Washington, USA",
  Publisher   = "ACM Press",
  ISBN        = "1-58113-599-8",

Last modified on
Igor Peshansky