Werner Dietl
wdietl@uwaterloo.ca, Room EIT 4007
ReIm & ReImInfer: Checking and inference of reference immutability and method purity
Download: PDF.
“ReIm & ReImInfer: Checking and inference of reference immutability and method purity” by W. Huang, A. Milanova, W. Dietl, and M. D. Ernst. In Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Oct. 2012, pp. 879-896.
Abstract
Reference immutability ensures that a reference is not used to modify the referenced object, and enables the safe sharing of object structures. A pure method does not cause side-effects on the objects that existed in the pre-state of the method execution. Checking and inference of reference immutability and method purity enables a variety of program analyses and optimizations.
We present ReIm, a type system for reference immutability, and ReImInfer, a corresponding type inference analysis. The type system is concise and context-sensitive. The type inference analysis is precise and scalable, and requires no manual annotations. In addition, we present a novel application of the reference immutability type system: method purity inference.
To support our theoretical results, we implemented the type system and the type inference analysis for Java. We include a type checker to verify the correctness of the inference result. Empirical results on Java applications and libraries of up to 348kLOC show that our approach achieves both scalability and precision.
Keywords: ReIm, inference
Download: PDF.
BibTeX entry:
@inproceedings{HuangMDE12, author = {W. Huang and A. Milanova and W. Dietl and M. D. Ernst}, immutability and method purity}, booktitle = {Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)}, month = oct, }
Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author’s copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.
(This webpage was created with bibtex2web.)