Immutability specification and its applications: Research Articles

  • Authors:
  • Igor Pechtchanski;Vivek Sarkar

  • Affiliations:
  • IBM T. J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY 10598, U.S.A.;IBM T. J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY 10598, U.S.A.

  • Venue:
  • Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande—ISCOPE Conference Part I
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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 with 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 (61%) of read accesses could potentially be classified as immutable in our framework. Further, use of immutability information yields substantial reductions (33–99%) in the number of dynamic read accesses, and also measurable speedups in the range of 5–10% for certain benchmark programs. Copyright © 2005 John Wiley & Sons, Ltd.