Dissemin is shutting down on January 1st, 2025

Published in

Languages and Compilers for Parallel Computing, p. 345-363

DOI: 10.1007/978-3-540-72521-3_25

Links

Tools

Export citation

Search in Google Scholar

A Static Heap Analysis for Shape and Connectivity: Unified Memory Analysis: The Base Framework

Proceedings article published in 2006 by Mark Marron, Deepak Kapur, Darko Stefanovic, Manuel V. Hermenegildo ORCID
This paper is available in a repository.
This paper is available in a repository.

Full text: Download

Question mark in circle
Preprint: policy unknown
Question mark in circle
Postprint: policy unknown
Question mark in circle
Published version: policy unknown

Abstract

Modeling the evolution of the state of program memory during program execution is critical to many parallelization techniques. Current memory analysis techniques either provide very accurate information but run prohibitively slowly or produce very conservative results. An approach based on abstract interpretation is presented for analyzing programs at compile time, which can accurately de- termine many important program properties such as aliasing, logical data structures and shape. These properties are known to be critical for transforming a single threaded program into a version that can be run on multiple execution units in parallel. The analysis is shown to be of polynomial complexity in the size of the memory heap. Experimental results for benchmarks in the Jolden suite are given. These results show that in practice the analysis method is efficient and is capable of accurately determining shape information in programs that create and manipulate complex data structures.