Sharing analysis of arrays, collections, and recursive structures

Mark Marron, Mario Méndez-Lojo, Manuel Hermenegildo, Darko Stefanovic, Deepak Kapur

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

17 Scopus citations

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.

Original languageEnglish
Title of host publicationProceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08
Pages43-49
Number of pages7
DOIs
StatePublished - 2008
Event2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08 - Atlanta, GA, United States
Duration: Nov 9 2008Nov 10 2008

Publication series

NameACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering

Conference

Conference2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08
Country/TerritoryUnited States
CityAtlanta, GA
Period11/9/0811/10/08

Keywords

  • Parallelism
  • Shape analysis
  • Shared structures

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Sharing analysis of arrays, collections, and recursive structures'. Together they form a unique fingerprint.

Cite this