eCommons

 

Region Analysis for Imperative Languages

Other Titles

Abstract

This paper presents a region inference framework designed specifically for imperative programs with dynamic allocation and destructive updates. Given an input program, the algorithm automatically translates it into an output program with region annotations on procedures and allocation commands, and with explicit region creation and removal commands. Our framework formulates the analysis problem as a three-step algorithm. In the first phase, it infers region annotations for record declarations in the input language. Second, it performs a unification-based flow analysis of the program, inferring region types at each point in the program. In particular, it determines region types for allocation commands and procedure calls. In the third phase, it uses a single-pass algorithm to inspect each point in the program and insert region creation and removal commands in the control flow of the output program. This transformation ensures that regions are live whenever they are being used, while minimizing region lifetimes. The algorithm is simple, efficient, and provably correct. Furthermore, we show that the framework can be extended with more aggressive analyses (at the expense of making it less modular or more complex), such as interprocedural region liveness or shape analysis, to further improve the accuracy and performance of memory management. More generally, our framework allows existing analysis technology for imperative languages, such as points-to or shape analysis, to be easily integrated and applied to the region inference problem.

Journal / Series

Volume & Issue

Description

Sponsorship

Date Issued

2003-11-13

Publisher

Cornell University

Keywords

computer science; technical report

Location

Effective Date

Expiration Date

Sector

Employer

Union

Union Local

NAICS

Number of Workers

Committee Chair

Committee Co-Chair

Committee Member

Degree Discipline

Degree Name

Degree Level

Related Version

Related DOI

Related To

Related Part

Based on Related Item

Has Other Format(s)

Part of Related Item

Related To

Related Publication(s)

Link(s) to Related Publication(s)

References

Link(s) to Reference(s)

Previously Published As

http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cis/TR2003-1914

Government Document

ISBN

ISMN

ISSN

Other Identifiers

Rights

Rights URI

Types

technical report

Accessibility Feature

Accessibility Hazard

Accessibility Summary

Link(s) to Catalog Record