1990
DOI: 10.1109/71.80123
|View full text |Cite
|
Sign up to set email alerts
|

Parallelizing programs with recursive data structures

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
91
1

Year Published

1998
1998
2015
2015

Publication Types

Select...
8
1
1

Relationship

0
10

Authors

Journals

citations
Cited by 165 publications
(92 citation statements)
references
References 16 publications
0
91
1
Order By: Relevance
“…For certain programs that manipulate lists, Deutsch's algorithm offers a way of representing the exact (infinite set of) may aliases in a compact way. A different approach was taken by Hendren and Nicolau, who designed an algorithm that handles only acyclic data structures [9,7].…”
Section: Methods Not Based On Shape Graphsmentioning
confidence: 99%
“…For certain programs that manipulate lists, Deutsch's algorithm offers a way of representing the exact (infinite set of) may aliases in a compact way. A different approach was taken by Hendren and Nicolau, who designed an algorithm that handles only acyclic data structures [9,7].…”
Section: Methods Not Based On Shape Graphsmentioning
confidence: 99%
“…In particular, while it handles fist append, it fails to analyze an in-place list reversal program. Hendren [12] cannot handle cyclic structures, and many other algorithms only handle recursive structures that are no more than k levels deep.…”
Section: Alias and Shape Analysismentioning
confidence: 99%
“…Unlike the related works that we discuss below, our method is fully automated and yet it guarantees preservation of the original semantics. Transforming a program by our method-or even just the recognition of pointer code implementing container operations that is a part of our method-can be useful in many different ways, including simplification of program analysis by separating shape and data-related analyses (as we show later on in the paper), automatic parallelization [10], optimization of garbage collection [20], debugging and automatic bug finding [2], profiling and optimizations [17], general understanding of the code, improvement of various software engineering tasks [6], detection of abnormal data structure behaviour [11], or construction of program signatures [4].…”
Section: Introductionmentioning
confidence: 99%