Region inference for an object-oriented language

Wei-Ngan Chin, Florin Craciun, Shengchao Qin, Martin Rinard

Research output: Chapter in Book/Report/Conference proceedingConference contribution

328 Downloads (Pure)


Region-based memory management offers several important potential advantages over garbage collection, including real-time performance, better data locality, and more efficient use of limited memory. Researchers have advocated the use of regions for functional, imperative, and object-oriented languages. Lexically scoped regions are now a core feature of the Real-Time Specification for Java (RTSJ)[5]. Recent research in region-based programming for Java has focused on region checking, which requires manual effort to augment the program with region annotations. In this paper, we propose an automatic region inference system for a core subset of Java. To provide an inference method that is both precise and practical, we support classes and methods that are region-polymorphic, with region polymorphic recursion for methods. One challenging aspect is to ensure region safety in the presence of features such as class subtyping, method overriding, and downcast operations. Our region inference rules can handle these object-oriented features safely without creating dangling references.
Original languageEnglish
Title of host publicationProceedings of the 2004 ACM SIGPLAN conference on programming language design and implementation
Place of PublicationNew York
Publication statusPublished - 2004
EventACM SIGPLAN Conference on Programming Language Design and Implementation - Washington, United States
Duration: 9 Jun 200411 Jun 2004


ConferenceACM SIGPLAN Conference on Programming Language Design and Implementation
Abbreviated titlePLD'04
Country/TerritoryUnited States

Bibliographical note

ACM allows authors' version of their own ACM-copyrighted work on their personal server or on servers belonging to their employers.


Dive into the research topics of 'Region inference for an object-oriented language'. Together they form a unique fingerprint.

Cite this