ACM Home Page
Please provide us with feedback. Feedback
Sharing analysis of arrays, collections, and recursive structures
Full text PdfPdf (492 KB)
Source Workshop on Program Analysis for Software Tools and Engineering archive
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering table of contents
Atlanta, Georgia
SESSION: Characterizing the heap table of contents
Pages 43-49  
Year of Publication: 2008
ISBN:978-1-60558-382-2
Authors
Mark Marron  University of New Mexico
Mario Méndez-Lojo  University of New Mexico
Manuel Hermenegildo  University of New Mexico and IMDEA-Software and Technical University of Madrid (Spain)
Darko Stefanovic  University of New Mexico
Deepak Kapur  University of New Mexico
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 40,   Citation Count: 1
Additional Information:

abstract   references   cited by   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/1512475.1512485
What is a DOI?

ABSTRACT

Precise modeling of the program heap is fundamental for understanding the behavior of a program, and is thus of significant interest for many optimization applications. One of the fundamental properties of the heap that can be used in a range of optimization techniques is the sharing relationships between the elements in an array or collection. If an analysis can determine that the memory locations pointed to by different entries of an array (or collection) are disjoint, then in many cases loops that traverse the array can be vectorized or transformed into a thread-parallel version. This paper introduces several novel sharing properties over the concrete heap and corresponding abstractions to represent them. In conjunction with an existing shape analysis technique, these abstractions allow us to precisely resolve the sharing relations in a wide range of heap structures (arrays, collections, recursive data structures, composite heap structures) in a computationally efficient manner. The effectiveness of the approach is evaluated on a set of challenge problems from the JOlden and SPECjvm98 suites. Sharing information obtained from the analysis is used to achieve substantial thread-level parallel speedups.


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
 
2
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.
 
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 heapmanipulating low-level software. In CAV, 2007.
11
 
12
13
 
14
JOlden Suite Collection. http://www.ali.cs.umass.edu/DaCapo/benchmarks.html.
 
15
M. Marron, D. Kapur, D. Stefanovic, and M. Hermenegildo. A static heap analysis for shape and connectivity. In LCPC, 2006.
16
 
17
Standard Performance Evaluation Corporation. JVM98 Version 1.04, August 1998. http://www.spec.org/jvm98.
 
18
 
19
20


Collaborative Colleagues:
Mark Marron: colleagues
Mario Méndez-Lojo: colleagues
Manuel Hermenegildo: colleagues
Darko Stefanovic: colleagues
Deepak Kapur: colleagues