ACM Home Page
Please provide us with feedback. Feedback
Identification of logically related heap regions
Full text PdfPdf (555 KB)
Source
International Symposium on Memory Management archive
Proceedings of the 2009 international symposium on Memory management table of contents
Dublin, Ireland
SESSION: Paper session 4 table of contents
Pages 89-98  
Year of Publication: 2009
ISBN:978-1-60558-347-1
Authors
Mark Marron  IMDEA-Software, Madrid, Spain
Deepak Kapur  University of New Mexico , Albuquerque, USA
Manuel Hermenegildo  IMDEA-Software, Madrid, Spain
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 32,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542431.1542445
What is a DOI?

ABSTRACT

This paper introduces a novel set of heuristics for identifying logically related sections of the heap such as recursive data structures, objects that are part of the same multi-component structure, and related groups of objects stored in the same collection/array. When combined with lifetime properties of these structures, this information can be used to drive a range of program optimizations including pool allocation, object co-location, static deallocation, and region-based garbage collection. The technique outlined in this paper also improves the efficiency of the static analysis by providing a compact normal form for the abstract models (speeding the convergence of the static analysis).

We focus on two techniques for grouping parts of the heap. The first is a technique for identifying recursive data structures in object-oriented programs based on connectivity and type information. The second technique is a method for grouping objects that make up the same composite structure and that allows us to partition the objects stored in a collection/array into groups based on a similarity relation. We provide a parametric component in the similarity relation to support specialized analysis applications (e.g. numeric analysis of object fields). Using the Em3d and Barnes-Hut benchmarks from the JOlden suite we show how these grouping methods can be used to identify various types of logical structures and enable the application of many region-based optimizations.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
J. Berdine, C. Calcagno, B. Cook, D. Distefano, P. O'Hearn, T. Wies, and H. Yang. Shape analysis for composite data structures. In CAV, 2007.
 
2
3
4
5
 
6
S. Chong and R. Rugina. Static analysis of accessed regions in recursive data structures. In SAS, 2003.
7
8
9
 
10
S. Gulwani and A. Tiwari. An abstract domain for analyzing heap-manipulating low-level software. In CAV, 2007.
11
12
13
14
15
16
17
 
18
 
19
R. Manevich, E. Yahav, G. Ramalingam, and M. Sagiv. Predicate abstraction and canonical abstraction for singly-linked lists. In R. Cousot, editor, VMCAI, 2005.
 
20
M. Marron. Modeling the heap: A practical approach. Phd. thesis, University of New Mexico, 2008.
 
21
M. Marron, D. Kapur, D. Stefanovic, and M. Hermenegildo. A static heap analysis for shape and connectivity. In LCPC, 2006.
22
23
24
 
25
Standard Performance Evaluation Corporation. JVM98 Version 1.04, August 1998. http://www.spec.org/jvm98.
26
 
27
 
28

Collaborative Colleagues:
Mark Marron: colleagues
Deepak Kapur: colleagues
Manuel Hermenegildo: colleagues